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
