{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "PUT JSON Schema for loadbalancers frontendipconfigurations v2",
"type": "object",
"definitions": {
"resourceRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"resourceRef": {
"type": "string"
}
},
"required": [
"resourceRef"
]
},
"protocol": {
"enum": [ "Tcp", "Udp", "Http", "Https", "GRE", "ESP", "All" ]
},
"ipAllocationMethod": {
"enum": [ "Dynamic", "Static", "Unmanaged" ]
}
},
"properties": {
"resourceRef": {
"type": "string"
},
"resourceId": {
"type": "string"
},
"instanceId": {
"type": "string"
},
"properties": {
"type": "object",
"properties": {
"publicIPAddress": {
"$ref": "#/definitions/resourceRef"
},
"privateIPAddress": {
"type": "string",
"oneOf": [
{ "format": "ipv4" },
{ "format": "ipv6" }
]
},
"privateIPAllocationMethod": {
"$ref": "#/definitions/ipAllocationMethod"
},
"subnet": {
"$ref": "#/definitions/resourceRef"
},
"loadBalancingRules": {
"type": "array",
"items": {
"$ref": "#/definitions/resourceRef"
}
},
"inboundNatRules": {
"type": "array",
"items": {
"$ref": "#/definitions/resourceRef"
}
},
"outboundNatRules": {
"type": "array",
"items": {
"$ref": "#/definitions/resourceRef"
}
}
},
"oneOf": [
{
"type": "object",
"required": [ "publicIPAddress" ]
},
{
"type": "object",
"required": [ "privateIPAddress" ]
}
]
}
},
"required": [
"properties"
]
}