{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "PUT JSON Schema for public IP Addresses",
"type": "object",
"definitions": {
"resourceMetadata": {
"properties": {
"client": {
"type": "string"
},
"tenantId": {
"type": "string"
},
"groupId": {
"type": "string"
},
"resourceName": {
"type": "string"
},
"originalHref": {
"type": "string"
}
}
},
"staticIP": {
"type": "object",
"properties": {
"ipAddress": {
"type": "string",
"format": "ipv4"
},
"publicIPAllocationMethod": {
"enum": [ "Static" ]
},
"idleTimeoutInMinutes": {
"type": "integer",
"minimum": 1
}
},
"required": [
"ipAddress",
"publicIPAllocationMethod"
]
},
"dynamicIP": {
"type": "object",
"properties": {
"ipAddress": {
"type": "string",
"format": "ipv4"
},
"publicIPAllocationMethod": {
"enum": [ "Dynamic" ]
},
"idleTimeoutInMinutes": {
"type": "integer",
"minimum": 1
}
},
"required": [
"publicIPAllocationMethod"
]
}
},
"properties": {
"resourceId": {
"type": "string"
},
"resourceMetadata": {
"$ref": "#/definitions/resourceMetadata"
},
"tags": {
"additionalProperties": { "type": "string" }
},
"properties": {
"oneOf": [
{ "$ref": "#/definitions/staticIP" },
{ "$ref": "#/definitions/dynamicIP" }
]
}
},
"required": [
"properties"
]
}