6.12.1 PUT schema

 {
   "$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"
   ]
 }