{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "GET JSON Schema for public IP Addresses v2",
"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" ]
},
"resourceCounters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"enum": [
"TotalPackets",
"DroppedPackets",
"DroppedPacketsIPv6",
"FlowEntries",
"DroppedFlowEntries",
"SynPackets",
"AverageBandwidth",
"PacketsPerSecond"
]
},
"unit": {
"enum": [ "Decimal", "Seconds", "MilliSeconds" ]
},
"currentValue": {
"type": "number"
},
"context": {
"type": "object",
"properties": {
"source": {
"enum": [ "SoftwareLoadBalancer" ]
},
"category": {
"enum": [ "Performance" ]
}
},
"required": [ "source","category" ]
}
},
"required": [ "name", "unit", "currentValue", "context" ]
}
}
},
"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"
},
"ipAddress": {
"type": "string",
"oneOf": [
{"format": "ipv4"},
{"format": "ipv6"}
]
},
"publicIPAllocationMethod": {
"enum": [ "Static", "Dynamic" ]
},
"idleTimeoutInMinutes": {
"type": "integer",
"minimum": 1
},
"publicIPAddressVersion": {
"enum": [ "IPv4", "IPv6" ]
},
"counters": {
"$ref": "#/definitions/resourceCounters"
}
},
"required": [
"ipAddress",
"publicIPAllocationMethod",
"publicIPAddressVersion",
"idleTimeoutInMinutes",
"provisioningState"
]
}
},
"required": [
"resourceRef",
"resourceId",
"etag",
"instanceId",
"properties"
]
}