Interface NameServerManagementApi


  • @Validated
    public interface NameServerManagementApi
    The name server management api.
    Author:
    Christian Bremer
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.springframework.http.ResponseEntity<org.bremersee.dccon.model.DnsZone> addDnsZone​(@Valid org.bremersee.dccon.model.DnsZone request)
      Add dns zone.
      org.springframework.http.ResponseEntity<Void> deleteAllDnsNodes​(String zoneName, List<String> nodeNames)
      Delete all dns nodes.
      org.springframework.http.ResponseEntity<Boolean> deleteDnsNode​(String zoneName, String nodeName)
      Delete dns node.
      org.springframework.http.ResponseEntity<Boolean> deleteDnsZone​(String zoneName)
      Delete dns zone.
      org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DhcpLease>> getDhcpLeases​(Boolean all, String sort)
      Gets dhcp leases.
      org.springframework.http.ResponseEntity<org.bremersee.dccon.model.DnsNode> getDnsNode​(String zoneName, String nodeName, org.bremersee.dccon.model.UnknownFilter unknownFilter)
      Get dns node.
      org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DnsNode>> getDnsNodes​(String zoneName, org.bremersee.dccon.model.UnknownFilter unknownFilter, String query)
      Get dns nodes.
      org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DnsZone>> getDnsZones()
      Get dns zones.
      org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DnsNode>> query​(String query, org.bremersee.dccon.model.UnknownFilter unknownFilter)
      Query dns nodes.
      org.springframework.http.ResponseEntity<org.bremersee.dccon.model.DnsNode> saveDnsNode​(String zoneName, @Valid org.bremersee.dccon.model.DnsNode dnsNode)
      Save dns node.
    • Method Detail

      • query

        @RequestMapping(value="/api/dns",
                        produces="application/json",
                        method=GET)
        org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DnsNode>> query​(@RequestParam(name="q")
                                                                                               String query,
                                                                                               @RequestParam(name="filter",defaultValue="NO_UNKNOWN")
                                                                                               org.bremersee.dccon.model.UnknownFilter unknownFilter)
        Query dns nodes.
        Parameters:
        query - the query, can be a host name, an IP or a MAC address
        unknownFilter - the unknown filter
        Returns:
        found dns nodes
      • getDhcpLeases

        @RequestMapping(value="/api/dns/dhcp-leases",
                        produces="application/json",
                        method=GET)
        org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DhcpLease>> getDhcpLeases​(@RequestParam(value="all",defaultValue="false")
                                                                                                         Boolean all,
                                                                                                         @RequestParam(value="sort",defaultValue="begin,desc|hostname")
                                                                                                         String sort)
        Gets dhcp leases.
        Parameters:
        all - if true, expired leases will also be returned, otherwise only active ones (default is false)
        sort - the sort order (default is DhcpLease.SORT_ORDER_BEGIN_HOSTNAME)
        Returns:
        the dhcp leases
      • getDnsZones

        @RequestMapping(value="/api/dns/zones",
                        produces="application/json",
                        method=GET)
        org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DnsZone>> getDnsZones()
        Get dns zones.
        Returns:
        the dns zones
      • addDnsZone

        @RequestMapping(value="/api/dns/zones",
                        produces="application/json",
                        consumes="application/json",
                        method=POST)
        org.springframework.http.ResponseEntity<org.bremersee.dccon.model.DnsZone> addDnsZone​(@Valid @RequestBody
                                                                                              @Valid org.bremersee.dccon.model.DnsZone request)
        Add dns zone.
        Parameters:
        request - the request
        Returns:
        the added dns zone
      • deleteDnsZone

        @RequestMapping(value="/api/dns/zones/{zoneName}",
                        produces="application/json",
                        method=DELETE)
        org.springframework.http.ResponseEntity<Boolean> deleteDnsZone​(@PathVariable("zoneName")
                                                                       String zoneName)
        Delete dns zone.
        Parameters:
        zoneName - the zone name
        Returns:
        true if the dns zone was deleted, otherwise false
      • getDnsNodes

        @RequestMapping(value="/api/dns/zones/{zoneName}",
                        produces="application/json",
                        method=GET)
        org.springframework.http.ResponseEntity<List<org.bremersee.dccon.model.DnsNode>> getDnsNodes​(@PathVariable("zoneName")
                                                                                                     String zoneName,
                                                                                                     @RequestParam(name="filter",defaultValue="NO_UNKNOWN")
                                                                                                     org.bremersee.dccon.model.UnknownFilter unknownFilter,
                                                                                                     @RequestParam(name="q",required=false)
                                                                                                     String query)
        Get dns nodes.
        Parameters:
        zoneName - the zone name
        unknownFilter - the unknown filter
        query - the query
        Returns:
        the dns nodes
      • saveDnsNode

        @RequestMapping(value="/api/dns/zones/{zoneName}",
                        produces="application/json",
                        consumes="application/json",
                        method=POST)
        org.springframework.http.ResponseEntity<org.bremersee.dccon.model.DnsNode> saveDnsNode​(@PathVariable("zoneName")
                                                                                               String zoneName,
                                                                                               @Valid @RequestBody
                                                                                               @Valid org.bremersee.dccon.model.DnsNode dnsNode)
        Save dns node.
        Parameters:
        zoneName - the dns zone name
        dnsNode - the dns node
        Returns:
        the saved dns node
      • getDnsNode

        @RequestMapping(value="/api/dns/zones/{zoneName}/{nodeName}",
                        produces="application/json",
                        method=GET)
        org.springframework.http.ResponseEntity<org.bremersee.dccon.model.DnsNode> getDnsNode​(@PathVariable("zoneName")
                                                                                              String zoneName,
                                                                                              @PathVariable("nodeName")
                                                                                              String nodeName,
                                                                                              @RequestParam(name="filter",defaultValue="NO_UNKNOWN")
                                                                                              org.bremersee.dccon.model.UnknownFilter unknownFilter)
        Get dns node.
        Parameters:
        zoneName - the dns zone name
        nodeName - the dns node name
        unknownFilter - the unknown filter
        Returns:
        the dns node
      • deleteDnsNode

        @RequestMapping(value="/api/dns/zones/{zoneName}/{nodeName}",
                        produces="application/json",
                        method=DELETE)
        org.springframework.http.ResponseEntity<Boolean> deleteDnsNode​(@PathVariable("zoneName")
                                                                       String zoneName,
                                                                       @PathVariable("nodeName")
                                                                       String nodeName)
        Delete dns node.
        Parameters:
        zoneName - the dns zone name
        nodeName - the dns node name
        Returns:
        true if the dns node was removed; false if dns node didn't exist
      • deleteAllDnsNodes

        @RequestMapping(value="/api/dns/zones/{zoneName}/nodes/all",
                        produces="application/json",
                        method=DELETE)
        org.springframework.http.ResponseEntity<Void> deleteAllDnsNodes​(@PathVariable("zoneName")
                                                                        String zoneName,
                                                                        @RequestParam(value="nodeNames",required=false)
                                                                        List<String> nodeNames)
        Delete all dns nodes.
        Parameters:
        zoneName - the zone name
        nodeNames - the node names (if the list is empty, all dns nodes will be deleted)
        Returns:
        void response entity