{
 "else": {
  "allOf": [
   {
    "if": {
     "properties": {
      "ToPort": {
       "enum": [
        -1,
        "-1"
       ]
      }
     },
     "required": [
      "ToPort"
     ]
    },
    "then": {
     "properties": {
      "FromPort": {
       "enum": [
        -1,
        "-1"
       ]
      }
     },
     "required": [
      "FromPort"
     ]
    }
   },
   {
    "if": {
     "properties": {
      "FromPort": {
       "enum": [
        -1,
        "-1"
       ]
      }
     },
     "required": [
      "FromPort"
     ]
    },
    "then": {
     "properties": {
      "ToPort": {
       "enum": [
        -1,
        "-1"
       ]
      }
     },
     "required": [
      "ToPort"
     ]
    }
   }
  ]
 },
 "if": {
  "properties": {
   "IpProtocol": {
    "enum": [
     "1",
     "icmp"
    ]
   }
  },
  "required": [
   "IpProtocol"
  ]
 },
 "then": {
  "if": {
   "properties": {
    "FromPort": {
     "enum": [
      -1,
      "-1"
     ]
    }
   },
   "required": [
    "FromPort"
   ]
  },
  "then": {
   "properties": {
    "ToPort": {
     "enum": [
      -1,
      "-1"
     ]
    }
   },
   "required": [
    "ToPort"
   ]
  }
 }
}
