Package org.bremersee.dccon.api
Interface NameServerWebfluxManagementApi
-
@Validated public interface NameServerWebfluxManagementApi
The name server management api.- Author:
- Christian Bremer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description reactor.core.publisher.Mono<DnsZone>
addDnsZone(@Valid DnsZone request)
Add dns zone.reactor.core.publisher.Mono<Void>
deleteAllDnsNodes(String zoneName, List<String> nodeNames)
Delete all dns nodes.reactor.core.publisher.Mono<Boolean>
deleteDnsNode(String zoneName, String nodeName)
Delete dns node.reactor.core.publisher.Mono<Boolean>
deleteDnsZone(String zoneName)
Delete dns zone.reactor.core.publisher.Flux<DhcpLease>
getDhcpLeases(Boolean all, String sort)
Gets dhcp leases.reactor.core.publisher.Mono<DnsNode>
getDnsNode(String zoneName, String nodeName, UnknownFilter unknownFilter)
Get dns node.reactor.core.publisher.Flux<DnsNode>
getDnsNodes(String zoneName, UnknownFilter unknownFilter, String query)
Get dns nodes.reactor.core.publisher.Flux<DnsZone>
getDnsZones()
Get dns zones.reactor.core.publisher.Flux<DnsNode>
query(String query, UnknownFilter unknownFilter)
Query dns nodes.reactor.core.publisher.Mono<DnsNode>
saveDnsNode(String zoneName, @Valid DnsNode dnsNode)
Save dns node.
-
-
-
Method Detail
-
query
@RequestMapping(value="/api/dns", produces="application/json", method=GET) reactor.core.publisher.Flux<DnsNode> query(@RequestParam(name="q") String query, @RequestParam(name="filter",defaultValue="NO_UNKNOWN") UnknownFilter unknownFilter)
Query dns nodes.- Parameters:
query
- the query, can be a host name, an IP or a MAC addressunknownFilter
- the unknown filter- Returns:
- found dns nodes
-
getDhcpLeases
@RequestMapping(value="/api/dns/dhcp-leases", produces="application/json", method=GET) reactor.core.publisher.Flux<DhcpLease> getDhcpLeases(@RequestParam(value="all",defaultValue="false") Boolean all, @RequestParam(value="sort",defaultValue="begin,desc|hostname") String sort)
Gets dhcp leases.- Parameters:
all
- iftrue
, expired leases will also be returned, otherwise only active ones (default isfalse
)sort
- the sort order (default isDhcpLease.SORT_ORDER_BEGIN_HOSTNAME
)- Returns:
- the dhcp leases
-
getDnsZones
@RequestMapping(value="/api/dns/zones", produces="application/json", method=GET) reactor.core.publisher.Flux<DnsZone> getDnsZones()
Get dns zones.- Returns:
- the dns zones
-
addDnsZone
@RequestMapping(value="/api/dns/zones", produces="application/json", consumes="application/json", method=POST) reactor.core.publisher.Mono<DnsZone> addDnsZone(@Valid @RequestBody @Valid 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) reactor.core.publisher.Mono<Boolean> deleteDnsZone(@PathVariable("zoneName") String zoneName)
Delete dns zone.- Parameters:
zoneName
- the zone name- Returns:
true
if the dns zone was deleted, otherwisefalse
-
getDnsNodes
@RequestMapping(value="/api/dns/zones/{zoneName}", produces="application/json", method=GET) reactor.core.publisher.Flux<DnsNode> getDnsNodes(@PathVariable("zoneName") String zoneName, @RequestParam(name="filter",defaultValue="NO_UNKNOWN") UnknownFilter unknownFilter, @RequestParam(name="q",required=false) String query)
Get dns nodes.- Parameters:
zoneName
- the zone nameunknownFilter
- the unknown filterquery
- the query- Returns:
- the dns nodes
-
saveDnsNode
@RequestMapping(value="/api/dns/zones/{zoneName}", produces="application/json", consumes="application/json", method=POST) reactor.core.publisher.Mono<DnsNode> saveDnsNode(@PathVariable("zoneName") String zoneName, @Valid @RequestBody @Valid DnsNode dnsNode)
Save dns node.- Parameters:
zoneName
- the dns zone namednsNode
- the dns node- Returns:
- the saved dns node
-
getDnsNode
@RequestMapping(value="/api/dns/zones/{zoneName}/{nodeName}", produces="application/json", method=GET) reactor.core.publisher.Mono<DnsNode> getDnsNode(@PathVariable("zoneName") String zoneName, @PathVariable("nodeName") String nodeName, @RequestParam(name="filter",defaultValue="NO_UNKNOWN") UnknownFilter unknownFilter)
Get dns node.- Parameters:
zoneName
- the dns zone namenodeName
- the dns node nameunknownFilter
- the unknown filter- Returns:
- the dns node
-
deleteDnsNode
@RequestMapping(value="/api/dns/zones/{zoneName}/{nodeName}", produces="application/json", method=DELETE) reactor.core.publisher.Mono<Boolean> deleteDnsNode(@PathVariable("zoneName") String zoneName, @PathVariable("nodeName") String nodeName)
Delete dns node.- Parameters:
zoneName
- the dns zone namenodeName
- 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) reactor.core.publisher.Mono<Void> deleteAllDnsNodes(@PathVariable("zoneName") String zoneName, @RequestParam(value="nodeNames",required=false) List<String> nodeNames)
Delete all dns nodes.- Parameters:
zoneName
- the zone namenodeNames
- the node names (if the list is empty, all dns nodes will be deleted)- Returns:
- void response entity
-
-