{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Jagornet DHCP Server REST API",
    "description" : "This is the REST API for the Jagornet DHCP server.  You can find out more about Jagornet at [https://jagornet.com](https://jagornet.com).",
    "termsOfService" : "https://jagornet.com/license",
    "contact" : {
      "email" : "admin@jagornet.com"
    },
    "license" : {
      "name" : "MPL 2.0",
      "url" : "https://www.mozilla.org/MPL/2.0/"
    },
    "version" : "5.0.0"
  },
  "paths" : {
    "/authentication" : {
      "post" : {
        "operationId" : "authenticateUser_1",
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "username" : {
                    "type" : "string"
                  },
                  "password" : {
                    "type" : "string"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/dhcpleases/{ipaddress}" : {
      "get" : {
        "operationId" : "getDhcpLease",
        "parameters" : [ {
          "name" : "ipaddress",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/dhcpleases/ipstream" : {
      "get" : {
        "operationId" : "getDhcpLeaseIpStream",
        "parameters" : [ {
          "name" : "start",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "end",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "text/plain" : { }
            }
          }
        }
      }
    },
    "/dhcpleases/ips" : {
      "get" : {
        "operationId" : "getDhcpLeaseIps",
        "parameters" : [ {
          "name" : "start",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "end",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "text/plain" : { }
            }
          }
        }
      }
    },
    "/dhcpleases/dhcpleasestream" : {
      "get" : {
        "operationId" : "getDhcpLeaseStream",
        "parameters" : [ {
          "name" : "start",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "end",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "haupdate",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/dhcplinks/{subnet}" : {
      "get" : {
        "operationId" : "getLinkState",
        "parameters" : [ {
          "name" : "subnet",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "text/plain" : { }
            }
          }
        }
      }
    },
    "/dhcpserverconfig" : {
      "get" : {
        "operationId" : "getDhcpServerConfig",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "operationId" : "putDhcpServerConfig",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DhcpServerConfig"
              }
            }
          }
        },
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/dhcpserverconfig/globalpolicies" : {
      "get" : {
        "operationId" : "getGlobalPolicies",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "operationId" : "putGlobalPolicies",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PoliciesType"
              }
            }
          }
        },
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/dhcpserverstatus/hastate" : {
      "get" : {
        "operationId" : "getHaState",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/dhcpserverstatus" : {
      "get" : {
        "operationId" : "getStatus",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "/metrics" : {
      "get" : {
        "operationId" : "getMetrics",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "text/plain" : { }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "Credentials" : {
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string"
          },
          "password" : {
            "type" : "string"
          }
        }
      },
      "CivicAddressElement" : {
        "required" : [ "caValue" ],
        "type" : "object",
        "properties" : {
          "caType" : {
            "type" : "integer",
            "format" : "int32"
          },
          "caValue" : {
            "type" : "string"
          }
        }
      },
      "ClientClassExpression" : {
        "type" : "object",
        "properties" : {
          "v4VendorClassOption" : {
            "$ref" : "#/components/schemas/V4VendorClassOption"
          },
          "v6UserClassOption" : {
            "$ref" : "#/components/schemas/V6UserClassOption"
          },
          "v6VendorClassOption" : {
            "$ref" : "#/components/schemas/V6VendorClassOption"
          },
          "operator" : {
            "type" : "string",
            "xml" : {
              "attribute" : true
            },
            "enum" : [ "EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUAL", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "REG_EXP" ]
          }
        }
      },
      "DhcpServerConfig" : {
        "type" : "object",
        "properties" : {
          "v4ServerIdOption" : {
            "$ref" : "#/components/schemas/V4ServerIdOption"
          },
          "v6ServerIdOption" : {
            "$ref" : "#/components/schemas/V6ServerIdOption"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "v4ConfigOptions" : {
            "$ref" : "#/components/schemas/V4ConfigOptionsType"
          },
          "v6MsgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaNaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6NaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaTaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6TaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaPdConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6PrefixConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "filters" : {
            "$ref" : "#/components/schemas/FiltersType"
          },
          "links" : {
            "$ref" : "#/components/schemas/LinksType"
          }
        },
        "xml" : {
          "name" : "dhcpServerConfig",
          "namespace" : "http://jagornet.com/dhcp/xml"
        }
      },
      "DomainNameListOptionType" : {
        "required" : [ "domainNameList" ],
        "type" : "object",
        "properties" : {
          "domainNameList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DomainNameOptionType" : {
        "required" : [ "domainName" ],
        "type" : "object",
        "properties" : {
          "domainName" : {
            "type" : "string"
          }
        }
      },
      "Filter" : {
        "required" : [ "filterExpressions", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "filterExpressions" : {
            "$ref" : "#/components/schemas/FilterExpressionsType"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "v4ConfigOptions" : {
            "$ref" : "#/components/schemas/V4ConfigOptionsType"
          },
          "v6MsgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaNaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6NaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaTaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6TaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaPdConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6PrefixConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          }
        }
      },
      "FilterExpression" : {
        "type" : "object",
        "properties" : {
          "clientClassExpression" : {
            "$ref" : "#/components/schemas/ClientClassExpression"
          },
          "optionExpression" : {
            "$ref" : "#/components/schemas/OptionExpression"
          },
          "customExpression" : {
            "type" : "string"
          }
        }
      },
      "FilterExpressionsType" : {
        "required" : [ "filterExpressionList" ],
        "type" : "object",
        "properties" : {
          "filterExpressionList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FilterExpression"
            }
          }
        }
      },
      "FiltersType" : {
        "required" : [ "filterList" ],
        "type" : "object",
        "properties" : {
          "filterList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Filter"
            }
          }
        }
      },
      "GenericOptionsType" : {
        "required" : [ "optionDefList" ],
        "type" : "object",
        "properties" : {
          "optionDefList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OptionDefType"
            }
          }
        }
      },
      "IpAddressListOptionType" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "IpAddressOptionType" : {
        "required" : [ "ipAddress" ],
        "type" : "object",
        "properties" : {
          "ipAddress" : {
            "type" : "string"
          }
        }
      },
      "Link" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "address" : {
            "type" : "string"
          },
          "v4ServerIdOption" : {
            "$ref" : "#/components/schemas/V4ServerIdOption"
          },
          "v6ServerIdOption" : {
            "$ref" : "#/components/schemas/V6ServerIdOption"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "v4ConfigOptions" : {
            "$ref" : "#/components/schemas/V4ConfigOptionsType"
          },
          "v4AddrPools" : {
            "$ref" : "#/components/schemas/V4AddressPoolsType"
          },
          "v4AddrBindings" : {
            "$ref" : "#/components/schemas/V4AddressBindingsType"
          },
          "v6MsgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaNaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6NaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6NaAddrPools" : {
            "$ref" : "#/components/schemas/V6AddressPoolsType"
          },
          "v6NaAddrBindings" : {
            "$ref" : "#/components/schemas/V6AddressBindingsType"
          },
          "v6IaTaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6TaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6TaAddrPools" : {
            "$ref" : "#/components/schemas/V6AddressPoolsType"
          },
          "v6TaAddrBindings" : {
            "$ref" : "#/components/schemas/V6AddressBindingsType"
          },
          "v6IaPdConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6PrefixConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6PrefixPools" : {
            "$ref" : "#/components/schemas/V6PrefixPoolsType"
          },
          "v6PrefixBindings" : {
            "$ref" : "#/components/schemas/V6PrefixBindingsType"
          },
          "linkFilters" : {
            "$ref" : "#/components/schemas/LinkFiltersType"
          },
          "interface" : {
            "type" : "string"
          }
        }
      },
      "LinkFilter" : {
        "required" : [ "filterExpressions", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "filterExpressions" : {
            "$ref" : "#/components/schemas/FilterExpressionsType"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "v4ConfigOptions" : {
            "$ref" : "#/components/schemas/V4ConfigOptionsType"
          },
          "v6MsgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaNaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6NaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaTaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6TaAddrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6IaPdConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v6PrefixConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "v4AddrPools" : {
            "$ref" : "#/components/schemas/V4AddressPoolsType"
          },
          "v6NaAddrPools" : {
            "$ref" : "#/components/schemas/V6AddressPoolsType"
          },
          "v6TaAddrPools" : {
            "$ref" : "#/components/schemas/V6AddressPoolsType"
          },
          "v6PrefixPools" : {
            "$ref" : "#/components/schemas/V6PrefixPoolsType"
          }
        }
      },
      "LinkFiltersType" : {
        "required" : [ "linkFilterList" ],
        "type" : "object",
        "properties" : {
          "linkFilterList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LinkFilter"
            }
          }
        }
      },
      "LinksType" : {
        "required" : [ "linkList" ],
        "type" : "object",
        "properties" : {
          "linkList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Link"
            }
          }
        }
      },
      "NilOptionType" : {
        "type" : "object"
      },
      "OpaqueData" : {
        "type" : "object",
        "properties" : {
          "asciiValue" : {
            "type" : "string"
          },
          "hexValue" : {
            "type" : "string",
            "format" : "byte"
          },
          "subOptions" : {
            "$ref" : "#/components/schemas/GenericOptionsType"
          }
        }
      },
      "OpaqueDataListOptionType" : {
        "required" : [ "opaqueDataList" ],
        "type" : "object",
        "properties" : {
          "opaqueDataList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OpaqueData"
            }
          }
        }
      },
      "OpaqueDataOptionType" : {
        "required" : [ "opaqueData" ],
        "type" : "object",
        "properties" : {
          "opaqueData" : {
            "$ref" : "#/components/schemas/OpaqueData"
          }
        }
      },
      "OptionDefType" : {
        "type" : "object",
        "properties" : {
          "nilOption" : {
            "$ref" : "#/components/schemas/NilOptionType"
          },
          "stringOption" : {
            "$ref" : "#/components/schemas/StringOptionType"
          },
          "ipAddressOption" : {
            "$ref" : "#/components/schemas/IpAddressOptionType"
          },
          "ipAddressListOption" : {
            "$ref" : "#/components/schemas/IpAddressListOptionType"
          },
          "domainNameOption" : {
            "$ref" : "#/components/schemas/DomainNameOptionType"
          },
          "domainNameListOption" : {
            "$ref" : "#/components/schemas/DomainNameListOptionType"
          },
          "opaqueDataOption" : {
            "$ref" : "#/components/schemas/OpaqueDataOptionType"
          },
          "opaqueDataListOption" : {
            "$ref" : "#/components/schemas/OpaqueDataListOptionType"
          },
          "v4" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          },
          "name" : {
            "type" : "string",
            "xml" : {
              "attribute" : true
            }
          },
          "ubyteOption" : {
            "$ref" : "#/components/schemas/UnsignedByteOptionType"
          },
          "ubyteListOption" : {
            "$ref" : "#/components/schemas/UnsignedByteListOptionType"
          },
          "ushortOption" : {
            "$ref" : "#/components/schemas/UnsignedShortOptionType"
          },
          "ushortListOption" : {
            "$ref" : "#/components/schemas/UnsignedShortListOptionType"
          },
          "uintOption" : {
            "$ref" : "#/components/schemas/UnsignedIntOptionType"
          }
        }
      },
      "OptionExpression" : {
        "type" : "object",
        "properties" : {
          "nilOption" : {
            "$ref" : "#/components/schemas/NilOptionType"
          },
          "stringOption" : {
            "$ref" : "#/components/schemas/StringOptionType"
          },
          "ipAddressOption" : {
            "$ref" : "#/components/schemas/IpAddressOptionType"
          },
          "ipAddressListOption" : {
            "$ref" : "#/components/schemas/IpAddressListOptionType"
          },
          "domainNameOption" : {
            "$ref" : "#/components/schemas/DomainNameOptionType"
          },
          "domainNameListOption" : {
            "$ref" : "#/components/schemas/DomainNameListOptionType"
          },
          "opaqueDataOption" : {
            "$ref" : "#/components/schemas/OpaqueDataOptionType"
          },
          "opaqueDataListOption" : {
            "$ref" : "#/components/schemas/OpaqueDataListOptionType"
          },
          "v4" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          },
          "name" : {
            "type" : "string",
            "xml" : {
              "attribute" : true
            }
          },
          "operator" : {
            "type" : "string",
            "xml" : {
              "attribute" : true
            },
            "enum" : [ "EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUAL", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "REG_EXP" ]
          },
          "ubyteOption" : {
            "$ref" : "#/components/schemas/UnsignedByteOptionType"
          },
          "ubyteListOption" : {
            "$ref" : "#/components/schemas/UnsignedByteListOptionType"
          },
          "ushortOption" : {
            "$ref" : "#/components/schemas/UnsignedShortOptionType"
          },
          "ushortListOption" : {
            "$ref" : "#/components/schemas/UnsignedShortListOptionType"
          },
          "uintOption" : {
            "$ref" : "#/components/schemas/UnsignedIntOptionType"
          }
        }
      },
      "PoliciesType" : {
        "required" : [ "policyList" ],
        "type" : "object",
        "properties" : {
          "policyList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Policy"
            }
          }
        }
      },
      "Policy" : {
        "required" : [ "name", "value" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        }
      },
      "StringOptionType" : {
        "required" : [ "string" ],
        "type" : "object",
        "properties" : {
          "string" : {
            "type" : "string"
          }
        }
      },
      "UnsignedByteListOptionType" : {
        "type" : "object",
        "properties" : {
          "unsignedByteList" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }
      },
      "UnsignedByteOptionType" : {
        "type" : "object",
        "properties" : {
          "unsignedByte" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "UnsignedIntOptionType" : {
        "type" : "object",
        "properties" : {
          "unsignedInt" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "UnsignedShortListOptionType" : {
        "type" : "object",
        "properties" : {
          "unsignedShortList" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }
      },
      "UnsignedShortOptionType" : {
        "type" : "object",
        "properties" : {
          "unsignedShort" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "V4AddressBinding" : {
        "required" : [ "chaddr", "ipAddress" ],
        "type" : "object",
        "properties" : {
          "ipAddress" : {
            "type" : "string"
          },
          "chaddr" : {
            "type" : "string",
            "format" : "byte"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "configOptions" : {
            "$ref" : "#/components/schemas/V4ConfigOptionsType"
          },
          "notInLinkSubnet" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4AddressBindingsType" : {
        "required" : [ "bindingList" ],
        "type" : "object",
        "properties" : {
          "bindingList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/V4AddressBinding"
            }
          }
        }
      },
      "V4AddressPool" : {
        "required" : [ "range" ],
        "type" : "object",
        "properties" : {
          "range" : {
            "type" : "string"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "configOptions" : {
            "$ref" : "#/components/schemas/V4ConfigOptionsType"
          },
          "filters" : {
            "$ref" : "#/components/schemas/FiltersType"
          },
          "notInLinkSubnet" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4AddressPoolsType" : {
        "required" : [ "poolList" ],
        "type" : "object",
        "properties" : {
          "poolList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/V4AddressPool"
            }
          }
        }
      },
      "V4BootFileNameOption" : {
        "required" : [ "string" ],
        "type" : "object",
        "properties" : {
          "string" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4ConfigOptionsType" : {
        "type" : "object",
        "properties" : {
          "v4SubnetMaskOption" : {
            "$ref" : "#/components/schemas/V4SubnetMaskOption"
          },
          "v4TimeOffsetOption" : {
            "$ref" : "#/components/schemas/V4TimeOffsetOption"
          },
          "v4RoutersOption" : {
            "$ref" : "#/components/schemas/V4RoutersOption"
          },
          "v4TimeServersOption" : {
            "$ref" : "#/components/schemas/V4TimeServersOption"
          },
          "v4DomainServersOption" : {
            "$ref" : "#/components/schemas/V4DomainServersOption"
          },
          "v4DomainNameOption" : {
            "$ref" : "#/components/schemas/V4DomainNameOption"
          },
          "v4VendorSpecificOption" : {
            "$ref" : "#/components/schemas/V4VendorSpecificOption"
          },
          "v4NetbiosNameServersOption" : {
            "$ref" : "#/components/schemas/V4NetbiosNameServersOption"
          },
          "v4NetbiosNodeTypeOption" : {
            "$ref" : "#/components/schemas/V4NetbiosNodeTypeOption"
          },
          "v4TftpServerNameOption" : {
            "$ref" : "#/components/schemas/V4TftpServerNameOption"
          },
          "v4BootFileNameOption" : {
            "$ref" : "#/components/schemas/V4BootFileNameOption"
          },
          "v4OtherOptions" : {
            "$ref" : "#/components/schemas/GenericOptionsType"
          }
        }
      },
      "V4DomainNameOption" : {
        "required" : [ "domainName" ],
        "type" : "object",
        "properties" : {
          "domainName" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4DomainServersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4NetbiosNameServersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4NetbiosNodeTypeOption" : {
        "type" : "object",
        "properties" : {
          "unsignedByte" : {
            "type" : "integer",
            "format" : "int32"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4RoutersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4ServerIdOption" : {
        "required" : [ "ipAddress" ],
        "type" : "object",
        "properties" : {
          "ipAddress" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4SubnetMaskOption" : {
        "required" : [ "ipAddress" ],
        "type" : "object",
        "properties" : {
          "ipAddress" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4TftpServerNameOption" : {
        "required" : [ "string" ],
        "type" : "object",
        "properties" : {
          "string" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4TimeOffsetOption" : {
        "type" : "object",
        "properties" : {
          "unsignedInt" : {
            "type" : "integer",
            "format" : "int64"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4TimeServersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4VendorClassOption" : {
        "required" : [ "opaqueData" ],
        "type" : "object",
        "properties" : {
          "opaqueData" : {
            "$ref" : "#/components/schemas/OpaqueData"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V4VendorSpecificOption" : {
        "required" : [ "opaqueData" ],
        "type" : "object",
        "properties" : {
          "opaqueData" : {
            "$ref" : "#/components/schemas/OpaqueData"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6AddressBinding" : {
        "required" : [ "duid", "ipAddress" ],
        "type" : "object",
        "properties" : {
          "ipAddress" : {
            "type" : "string"
          },
          "duid" : {
            "$ref" : "#/components/schemas/OpaqueData"
          },
          "iaid" : {
            "type" : "integer",
            "format" : "int64"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "msgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "iaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "addrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "notInLinkSubnet" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6AddressBindingsType" : {
        "required" : [ "bindingList" ],
        "type" : "object",
        "properties" : {
          "bindingList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/V6AddressBinding"
            }
          }
        }
      },
      "V6AddressPool" : {
        "required" : [ "range" ],
        "type" : "object",
        "properties" : {
          "range" : {
            "type" : "string"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "msgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "iaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "addrConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "filters" : {
            "$ref" : "#/components/schemas/FiltersType"
          },
          "notInLinkSubnet" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6AddressPoolsType" : {
        "required" : [ "poolList" ],
        "type" : "object",
        "properties" : {
          "poolList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/V6AddressPool"
            }
          }
        }
      },
      "V6BcmcsAddressesOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6BcmcsDomainNamesOption" : {
        "required" : [ "domainNameList" ],
        "type" : "object",
        "properties" : {
          "domainNameList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6ConfigOptionsType" : {
        "type" : "object",
        "properties" : {
          "v6PreferenceOption" : {
            "$ref" : "#/components/schemas/V6PreferenceOption"
          },
          "v6ServerUnicastOption" : {
            "$ref" : "#/components/schemas/V6ServerUnicastOption"
          },
          "v6StatusCodeOption" : {
            "$ref" : "#/components/schemas/V6StatusCodeOption"
          },
          "v6VendorInfoOption" : {
            "$ref" : "#/components/schemas/V6VendorInfoOption"
          },
          "v6SipServerDomainNamesOption" : {
            "$ref" : "#/components/schemas/V6SipServerDomainNamesOption"
          },
          "v6SipServerAddressesOption" : {
            "$ref" : "#/components/schemas/V6SipServerAddressesOption"
          },
          "v6DnsServersOption" : {
            "$ref" : "#/components/schemas/V6DnsServersOption"
          },
          "v6DomainSearchListOption" : {
            "$ref" : "#/components/schemas/V6DomainSearchListOption"
          },
          "v6NisServersOption" : {
            "$ref" : "#/components/schemas/V6NisServersOption"
          },
          "v6NisPlusServersOption" : {
            "$ref" : "#/components/schemas/V6NisPlusServersOption"
          },
          "v6NisDomainNameOption" : {
            "$ref" : "#/components/schemas/V6NisDomainNameOption"
          },
          "v6NisPlusDomainNameOption" : {
            "$ref" : "#/components/schemas/V6NisPlusDomainNameOption"
          },
          "v6SntpServersOption" : {
            "$ref" : "#/components/schemas/V6SntpServersOption"
          },
          "v6InfoRefreshTimeOption" : {
            "$ref" : "#/components/schemas/V6InfoRefreshTimeOption"
          },
          "v6BcmcsDomainNamesOption" : {
            "$ref" : "#/components/schemas/V6BcmcsDomainNamesOption"
          },
          "v6BcmcsAddressesOption" : {
            "$ref" : "#/components/schemas/V6BcmcsAddressesOption"
          },
          "v6GeoconfCivicOption" : {
            "$ref" : "#/components/schemas/V6GeoconfCivicOption"
          },
          "v6PanaAgentAddressesOption" : {
            "$ref" : "#/components/schemas/V6PanaAgentAddressesOption"
          },
          "v6NewPosixTimezoneOption" : {
            "$ref" : "#/components/schemas/V6NewPosixTimezoneOption"
          },
          "v6NewTzdbTimezoneOption" : {
            "$ref" : "#/components/schemas/V6NewTzdbTimezoneOption"
          },
          "v6LostServerDomainNameOption" : {
            "$ref" : "#/components/schemas/V6LostServerDomainNameOption"
          },
          "v6OtherOptions" : {
            "$ref" : "#/components/schemas/GenericOptionsType"
          }
        }
      },
      "V6DnsServersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6DomainSearchListOption" : {
        "required" : [ "domainNameList" ],
        "type" : "object",
        "properties" : {
          "domainNameList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6GeoconfCivicOption" : {
        "required" : [ "civicAddressElementList", "countryCode" ],
        "type" : "object",
        "properties" : {
          "what" : {
            "type" : "integer",
            "format" : "int32"
          },
          "countryCode" : {
            "type" : "string"
          },
          "civicAddressElementList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CivicAddressElement"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6InfoRefreshTimeOption" : {
        "type" : "object",
        "properties" : {
          "unsignedInt" : {
            "type" : "integer",
            "format" : "int64"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6LostServerDomainNameOption" : {
        "required" : [ "domainName" ],
        "type" : "object",
        "properties" : {
          "domainName" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6NewPosixTimezoneOption" : {
        "required" : [ "string" ],
        "type" : "object",
        "properties" : {
          "string" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6NewTzdbTimezoneOption" : {
        "required" : [ "string" ],
        "type" : "object",
        "properties" : {
          "string" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6NisDomainNameOption" : {
        "required" : [ "domainName" ],
        "type" : "object",
        "properties" : {
          "domainName" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6NisPlusDomainNameOption" : {
        "required" : [ "domainName" ],
        "type" : "object",
        "properties" : {
          "domainName" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6NisPlusServersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6NisServersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6PanaAgentAddressesOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6PreferenceOption" : {
        "type" : "object",
        "properties" : {
          "unsignedByte" : {
            "type" : "integer",
            "format" : "int32"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6PrefixBinding" : {
        "required" : [ "duid", "prefix" ],
        "type" : "object",
        "properties" : {
          "prefix" : {
            "type" : "string"
          },
          "prefixLength" : {
            "type" : "integer",
            "format" : "int32"
          },
          "duid" : {
            "$ref" : "#/components/schemas/OpaqueData"
          },
          "iaid" : {
            "type" : "integer",
            "format" : "int64"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "msgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "iaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "prefixConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "notInLinkSubnet" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6PrefixBindingsType" : {
        "required" : [ "bindingList" ],
        "type" : "object",
        "properties" : {
          "bindingList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/V6PrefixBinding"
            }
          }
        }
      },
      "V6PrefixPool" : {
        "required" : [ "range" ],
        "type" : "object",
        "properties" : {
          "range" : {
            "type" : "string"
          },
          "prefixLength" : {
            "type" : "integer",
            "format" : "int32"
          },
          "policies" : {
            "$ref" : "#/components/schemas/PoliciesType"
          },
          "msgConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "iaConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "prefixConfigOptions" : {
            "$ref" : "#/components/schemas/V6ConfigOptionsType"
          },
          "filters" : {
            "$ref" : "#/components/schemas/FiltersType"
          },
          "notInLinkSubnet" : {
            "type" : "boolean",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6PrefixPoolsType" : {
        "required" : [ "poolList" ],
        "type" : "object",
        "properties" : {
          "poolList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/V6PrefixPool"
            }
          }
        }
      },
      "V6ServerIdOption" : {
        "required" : [ "opaqueData" ],
        "type" : "object",
        "properties" : {
          "opaqueData" : {
            "$ref" : "#/components/schemas/OpaqueData"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6ServerUnicastOption" : {
        "required" : [ "ipAddress" ],
        "type" : "object",
        "properties" : {
          "ipAddress" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6SipServerAddressesOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6SipServerDomainNamesOption" : {
        "required" : [ "domainNameList" ],
        "type" : "object",
        "properties" : {
          "domainNameList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6SntpServersOption" : {
        "required" : [ "ipAddressList" ],
        "type" : "object",
        "properties" : {
          "ipAddressList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6StatusCodeOption" : {
        "required" : [ "message" ],
        "type" : "object",
        "properties" : {
          "statusCode" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6UserClassOption" : {
        "required" : [ "opaqueDataList" ],
        "type" : "object",
        "properties" : {
          "opaqueDataList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OpaqueData"
            }
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6VendorClassOption" : {
        "required" : [ "opaqueDataList" ],
        "type" : "object",
        "properties" : {
          "opaqueDataList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OpaqueData"
            }
          },
          "enterpriseNumber" : {
            "type" : "integer",
            "format" : "int64"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      },
      "V6VendorInfoOption" : {
        "required" : [ "subOptions" ],
        "type" : "object",
        "properties" : {
          "enterpriseNumber" : {
            "type" : "integer",
            "format" : "int64"
          },
          "subOptions" : {
            "$ref" : "#/components/schemas/GenericOptionsType"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "xml" : {
              "attribute" : true
            }
          }
        }
      }
    }
  }
}