# CRUD not included from generate-openapi-from-routes.pl
/api/v1/config/system/dns_servers:
  get:
    summary: Get system DNS servers.
    responses:
      '200':
        $ref: "#/components/responses/ConfigSystemDnsServers"
      '401':
        $ref: "#/components/responses/Unauthorized"
    tags:
      - Config/System
  put:
    summary: Replace system DNS servers.
    requestBody:
      $ref: "#/components/requestBodies/ConfigSystemDnsServers"
    responses:
      '200':
        $ref: '#/components/responses/Message'
      '400':
        $ref: '#/components/responses/BadRequest'
      '401':
        $ref: '#/components/responses/Unauthorized'
      '404':
        $ref: '#/components/responses/NotFound'
      '422':
        $ref: '#/components/responses/UnprocessableEntity'
    tags:
      - Config/System

/api/v1/config/system/gateway:
  get:
    summary: Get system Gateway.
    responses:
      '200':
        $ref: "#/components/responses/ConfigSystemGateway"
      '401':
        $ref: "#/components/responses/Unauthorized"
    tags:
      - Config/System
  put:
    summary: Replace system Gateway.
    requestBody:
      $ref: "#/components/requestBodies/ConfigSystemGateway"
    responses:
      '200':
        $ref: '#/components/responses/Message'
      '400':
        $ref: '#/components/responses/BadRequest'
      '401':
        $ref: '#/components/responses/Unauthorized'
      '404':
        $ref: '#/components/responses/NotFound'
      '422':
        $ref: '#/components/responses/UnprocessableEntity'
    tags:
      - Config/System


/api/v1/config/system/hostname:
  get:
    summary: Get system Hostname.
    responses:
      '200':
        $ref: "#/components/responses/ConfigSystemHostname"
      '401':
        $ref: "#/components/responses/Unauthorized"
    tags:
      - Config/System
  put:
    summary: Replace system Hostname.
    requestBody:
      $ref: "#/components/requestBodies/ConfigSystemHostname"
    responses:
      '200':
        $ref: '#/components/responses/Message'
      '400':
        $ref: '#/components/responses/BadRequest'
      '401':
        $ref: '#/components/responses/Unauthorized'
      '404':
        $ref: '#/components/responses/NotFound'
      '422':
        $ref: '#/components/responses/UnprocessableEntity'
    tags:
      - Config/System

/api/v1/config/flatten_condition:
  post:
    summary: Flatten condition object to string.
    requestBody:
      $ref: '#/components/requestBodies/ConfigConditionFlatten'
    responses:
      '200':
        $ref: '#/components/responses/ConfigConditionFlatten'
      '401':
        $ref: '#/components/responses/Unauthorized'
      '404':
        $ref: '#/components/responses/BadRequest'
      '422':
        $ref: '#/components/responses/UnprocessableEntity'
      '500':
        $ref: '#/components/responses/BadRequest'
    tags:
      - Config/FilterEngines/DHCPFilters
      - Config/FilterEngines/DNSFilters
      - Config/FilterEngines/RADIUSFilters
      - Config/FilterEngines/SwitchFilters
      - Config/FilterEngines/VlanFilters

/api/v1/config/parse_condition:
  post:
    summary: Parse condition string to object.
    requestBody:
      $ref: '#/components/requestBodies/ConfigConditionParse'
    responses:
      '200':
        $ref: '#/components/responses/ConfigConditionParse'
      '401':
        $ref: '#/components/responses/Unauthorized'
      '404':
        $ref: '#/components/responses/BadRequest'
      '422':
        $ref: '#/components/responses/UnprocessableEntity'
      '500':
        $ref: '#/components/responses/BadRequest'
    tags:
      - Config/FilterEngines/DHCPFilters
      - Config/FilterEngines/DNSFilters
      - Config/FilterEngines/RADIUSFilters
      - Config/FilterEngines/SwitchFilters
      - Config/FilterEngines/VlanFilters

