{
  "$id": "subnet-schema_schema.json",
  "type": "object",
  "schema": "http://json-schema.org/draft-07/schema#",
  "translate": true,
  "dynamicfields": true,
  "properties": {
    "ph_request_type": {
      "type": "string",
      "description": "type of request (internal to adapter)",
      "default": "getSubnets",
      "enum": [
        "getSubnets", "getDomainSubnets", "getZoneSubnets", "createSubnet", "updateSubnet", "deleteSubnet"
      ],
      "external_name": "ph_request_type"
    },
    "name": {
      "type": "string",
      "description": "the name of the subnet",
      "external_name": "name"
    },
    "networkaddress": {
      "type": "string",
      "description": "the network address of the subnet",
      "external_name": "address"
    },
    "netmask": {
      "type": "string",
      "description": "the netmask of the subnet",
      "external_name": "netmask"
    }
  },
  "allOf": [
    {
      "if" : { "properties" : { "ph_request_type": { "enum": ["createSubnet"] } } },
      "then" : { "required" : ["name", "networkaddress", "netmask"] }
    },
    {
      "if" : { "properties" : { "ph_request_type": { "enum": ["updateSubnet"] } } },
      "then" : { "required" : ["name", "networkaddress", "netmask"] }
    }
  ],
  "definitions": {}
}