6.5.5.2 PUT schema v2

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