package org.wfc.omada.api.sitesetting;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.wfc.omada.config.FeignConfig;
import org.wfc.omada.api.sitesetting.model.CreateDdnsOpenApiVo;
import org.wfc.omada.api.sitesetting.model.CreateDhcpReservationOpenApiVo;
import org.wfc.omada.api.sitesetting.model.CreateMdnsRuleOpenApiVo;
import org.wfc.omada.api.sitesetting.model.DnsProxySettingOpenApiVo;
import org.wfc.omada.api.sitesetting.model.ExportDhcpReservationOpenApiVo;
import org.wfc.omada.api.sitesetting.model.IgmpOpenApiVo;
import org.wfc.omada.api.sitesetting.model.IptvConfigOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseDnsProxySettingOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoDdnsOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoDhcpReservationOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoMdnsRuleOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseIgmpOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseIptvOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseResIdOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseSnmpSettingOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseSshSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseUpnpSettingOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult;
import org.wfc.omada.api.sitesetting.model.SnmpSettingOpenApiVo;
import org.wfc.omada.api.sitesetting.model.SshSetting;
import org.wfc.omada.api.sitesetting.model.UpnpSettingOpenApiVo;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:31:51.978+08:00[Asia/Shanghai]")

@Validated
@Api(value = "OmadaService", description = "the OmadaService API")
@FeignClient(name="OmadaServiceApi", url = "${omada.omada-url}", configuration = FeignConfig.class)
public interface OmadaServiceApi {

    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/setting/service/ddns : Create a new Dynamic DNS entry
     * Create a new Dynamic DNS entry with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-34500  -  Dynamic DNS Entries can be created with only one service provider for one WAN port.&lt;br/&gt;-34510  -  The domain name and service provider of different Dynamic DNS Entries should be different.&lt;br/&gt;-34516  -  The username already exists under the selected service provider.&lt;br/&gt;-34563  -  Only one TP-Link Dynamic DNS is allowed for one site.&lt;br/&gt;-34564  -  The TP-Link Dynamic DNS domain name cannot contain sensitive fields such as email, tp-link, tplink, and www.&lt;br/&gt;-34565  -  The TP-Link Dynamic DNS domain name should end with \&quot;.tplinkdns.com\&quot;.&lt;br/&gt;-34566  -  The TP-Link Dynamic DNS domain name is invalid.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param createDdnsOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create a new Dynamic DNS entry", nickname = "createDdns", notes = "Create a new Dynamic DNS entry with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-34500  -  Dynamic DNS Entries can be created with only one service provider for one WAN port.<br/>-34510  -  The domain name and service provider of different Dynamic DNS Entries should be different.<br/>-34516  -  The username already exists under the selected service provider.<br/>-34563  -  Only one TP-Link Dynamic DNS is allowed for one site.<br/>-34564  -  The TP-Link Dynamic DNS domain name cannot contain sensitive fields such as email, tp-link, tplink, and www.<br/>-34565  -  The TP-Link Dynamic DNS domain name should end with \".tplinkdns.com\".<br/>-34566  -  The TP-Link Dynamic DNS domain name is invalid.", response = OperationResponseResIdOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseResIdOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/ddns",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseResIdOpenApiVo> createDdns(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) CreateDdnsOpenApiVo createDdnsOpenApiVo);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/setting/service/dhcp : Create a new DHCP reservation
     * Create a new DHCP reservation with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-33503  -  This network does not exist.&lt;br/&gt;-34511  -  The number of DHCP Reservation entries has reached the limit.&lt;br/&gt;-34512  -  Invalid network. Please select a network with the purpose selected as Interface.&lt;br/&gt;-34513  -  Enter an IP address within the Network IP range.&lt;br/&gt;-34514  -  This IP address conflicts with an existing DHCP Reservation entry.&lt;br/&gt;-34515  -  This MAC address conflicts with an existing DHCP Reservation entry.&lt;br/&gt;-34520  -  The LAN network in this entry does not exist, please reconfigure the DHCP reservation entry.&lt;br/&gt;-34522  -  This IP address of DHCP Reservation conflicts with a reserved static IP-MAC binding.&lt;br/&gt;-34543  -  The IP cannot be the same as the LAN network IP.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param createDhcpReservationOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create a new DHCP reservation", nickname = "createDhcpReservation", notes = "Create a new DHCP reservation with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-33503  -  This network does not exist.<br/>-34511  -  The number of DHCP Reservation entries has reached the limit.<br/>-34512  -  Invalid network. Please select a network with the purpose selected as Interface.<br/>-34513  -  Enter an IP address within the Network IP range.<br/>-34514  -  This IP address conflicts with an existing DHCP Reservation entry.<br/>-34515  -  This MAC address conflicts with an existing DHCP Reservation entry.<br/>-34520  -  The LAN network in this entry does not exist, please reconfigure the DHCP reservation entry.<br/>-34522  -  This IP address of DHCP Reservation conflicts with a reserved static IP-MAC binding.<br/>-34543  -  The IP cannot be the same as the LAN network IP.", response = OperationResponseResIdOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseResIdOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/dhcp",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseResIdOpenApiVo> createDhcpReservation(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) CreateDhcpReservationOpenApiVo createDhcpReservationOpenApiVo);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/setting/service/mdns : Create a new mDNS rule
     * Create a new mDNS rule with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-34521  -  The gateway does not support mDNS.&lt;br/&gt;-34523  -  This mDNS rule name already exists.&lt;br/&gt;-34524  -  The number of mDNS rules has reached the limit.&lt;br/&gt;-34526  -  To prevent network problems, cannot create an mDNS rule of gateway type when an mDNS rule of AP type already exists.&lt;br/&gt;-34527  -  To prevent network problems, cannot create an mDNS rule of AP type when an mDNS rule of gateway type already exists.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param createMdnsRuleOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create a new mDNS rule", nickname = "createMdns", notes = "Create a new mDNS rule with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-34521  -  The gateway does not support mDNS.<br/>-34523  -  This mDNS rule name already exists.<br/>-34524  -  The number of mDNS rules has reached the limit.<br/>-34526  -  To prevent network problems, cannot create an mDNS rule of gateway type when an mDNS rule of AP type already exists.<br/>-34527  -  To prevent network problems, cannot create an mDNS rule of AP type when an mDNS rule of gateway type already exists.", response = OperationResponseResIdOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseResIdOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/mdns",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseResIdOpenApiVo> createMdns(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) CreateMdnsRuleOpenApiVo createMdnsRuleOpenApiVo);


    /**
     * DELETE /openapi/v1/{omadacId}/sites/{siteId}/setting/service/ddns/{ddnsId} : Delete an exist Dynamic DNS entry
     * Delete an exist Dynamic DNS entry with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param ddnsId Dynamic DNS entry ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Delete an exist Dynamic DNS entry", nickname = "deleteDdns", notes = "Delete an exist Dynamic DNS entry with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/ddns/{ddnsId}",
        produces = "*/*", 
        method = RequestMethod.DELETE)
    ResponseEntity<OperationResponseWithoutResult> deleteDdns(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Dynamic DNS entry ID",required=true) @PathVariable("ddnsId") String ddnsId);


    /**
     * DELETE /openapi/v1/{omadacId}/sites/{siteId}/setting/service/dhcp/{mac} : Delete an exist DHCP reservation
     * Delete an exist DHCP reservation with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param mac MAC address of the DHCP reservation, format: AA-BB-CC-11-22-33. (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Delete an exist DHCP reservation", nickname = "deleteDhcpReservation", notes = "Delete an exist DHCP reservation with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/dhcp/{mac}",
        produces = "*/*", 
        method = RequestMethod.DELETE)
    ResponseEntity<OperationResponseWithoutResult> deleteDhcpReservation(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "MAC address of the DHCP reservation, format: AA-BB-CC-11-22-33.",required=true) @PathVariable("mac") String mac);


    /**
     * DELETE /openapi/v1/{omadacId}/sites/{siteId}/setting/service/mdns/{mdnsId} : Delete an exist mDNS rule
     * Delete an exist mDNS rule with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param mdnsId mDNS rule ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Delete an exist mDNS rule", nickname = "deleteMdns", notes = "Delete an exist mDNS rule with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/mdns/{mdnsId}",
        produces = "*/*", 
        method = RequestMethod.DELETE)
    ResponseEntity<OperationResponseWithoutResult> deleteMdns(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "mDNS rule ID",required=true) @PathVariable("mdnsId") String mdnsId);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/setting/service/dhcp/{mac}/export : Export DHCP reservation to IP_MAC Binding
     * Export an exist DHCP reservation to IP_MAC Binding.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-33503  -  This network does not exist.&lt;br/&gt;-33621  -  The number of IP-MAC Binding entries has reached the limit.&lt;br/&gt;-33623  -  The binding IP cannot be the same as the LAN network IP.&lt;br/&gt;-33752  -  This IP address already exists.&lt;br/&gt;-33753  -  This IP address of IP-MAC binding conflicts with a reserved static DHCP Reservation.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param mac  (required)
     * @param exportDhcpReservationOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Export DHCP reservation to IP_MAC Binding", nickname = "exportDhcpReservation", notes = "Export an exist DHCP reservation to IP_MAC Binding.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-33503  -  This network does not exist.<br/>-33621  -  The number of IP-MAC Binding entries has reached the limit.<br/>-33623  -  The binding IP cannot be the same as the LAN network IP.<br/>-33752  -  This IP address already exists.<br/>-33753  -  This IP address of IP-MAC binding conflicts with a reserved static DHCP Reservation.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/dhcp/{mac}/export",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> exportDhcpReservation(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "",required=true) @PathVariable("mac") String mac,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) ExportDhcpReservationOpenApiVo exportDhcpReservationOpenApiVo);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/setting/service/ddns : Get Dynamic DNS list
     * Get Dynamic DNS list of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param page Start page number. Start from 1. (required)
     * @param pageSize Number of entries per page. It should be within the range of 1–1000. (required)
     * @param sortsService Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @param sortsUpdateInterval Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @param sortsStatus Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get Dynamic DNS list", nickname = "getDdnsGrid", notes = "Get Dynamic DNS list of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseGridVoDdnsOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoDdnsOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/ddns",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoDdnsOpenApiVo> getDdnsGrid(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@NotNull @ApiParam(value = "Start page number. Start from 1.", required = true) @Valid @RequestParam(value = "page", required = true) Integer page,@NotNull @ApiParam(value = "Number of entries per page. It should be within the range of 1–1000.", required = true) @Valid @RequestParam(value = "pageSize", required = true) Integer pageSize,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.service", required = false) String sortsService,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.updateInterval", required = false) String sortsUpdateInterval,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.status", required = false) String sortsStatus);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/setting/service/dhcp : Get DHCP reservation list
     * Get DHCP reservation list of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param page Start page number. Start from 1. (required)
     * @param pageSize Number of entries per page. It should be within the range of 1–1000. (required)
     * @param sortsMac Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @param sortsIp Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @param sortsNetName Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @param sortsDescription Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @param sortsStatus Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect (optional)
     * @param searchKey Fuzzy query parameters, support field : mac, ip, description. (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get DHCP reservation list", nickname = "getDhcpReservationGrid", notes = "Get DHCP reservation list of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseGridVoDhcpReservationOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoDhcpReservationOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/dhcp",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoDhcpReservationOpenApiVo> getDhcpReservationGrid(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@NotNull @ApiParam(value = "Start page number. Start from 1.", required = true) @Valid @RequestParam(value = "page", required = true) Integer page,@NotNull @ApiParam(value = "Number of entries per page. It should be within the range of 1–1000.", required = true) @Valid @RequestParam(value = "pageSize", required = true) Integer pageSize,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.mac", required = false) String sortsMac,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.ip", required = false) String sortsIp,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.netName", required = false) String sortsNetName,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.description", required = false) String sortsDescription,@ApiParam(value = "Sort parameter may be one of asc or desc. Optional parameter. If it is not carried, it means it is not sorted by this field. When there are more than one, the first one takes effect") @Valid @RequestParam(value = "sorts.status", required = false) String sortsStatus,@ApiParam(value = "Fuzzy query parameters, support field : mac, ip, description.") @Valid @RequestParam(value = "searchKey", required = false) String searchKey);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/setting/service/dns-proxy : Get DNS proxy setting
     * Get DNS proxy setting of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get DNS proxy setting", nickname = "getDnsProxy", notes = "Get DNS proxy setting of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseDnsProxySettingOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseDnsProxySettingOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/dns-proxy",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseDnsProxySettingOpenApiVo> getDnsProxy(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/setting/service/igmp : Get IGMP setting
     * Get IGMP setting of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get IGMP setting", nickname = "getIgmp", notes = "Get IGMP setting of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseIgmpOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseIgmpOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/igmp",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseIgmpOpenApiVo> getIgmp(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/setting/service/iptv : Get IPTV setting
     * Get IPTV setting of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get IPTV setting", nickname = "getIptv", notes = "Get IPTV setting of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseIptvOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseIptvOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/iptv",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseIptvOpenApiVo> getIptv(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/setting/service/mdns : Get mDNS rule list
     * Get mDNS rule list of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param page Start page number. Start from 1. (required)
     * @param pageSize Number of entries per page. It should be within the range of 1–1000. (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get mDNS rule list", nickname = "getMdnsGrid", notes = "Get mDNS rule list of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseGridVoMdnsRuleOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoMdnsRuleOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/mdns",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoMdnsRuleOpenApiVo> getMdnsGrid(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@NotNull @ApiParam(value = "Start page number. Start from 1.", required = true) @Valid @RequestParam(value = "page", required = true) Integer page,@NotNull @ApiParam(value = "Number of entries per page. It should be within the range of 1–1000.", required = true) @Valid @RequestParam(value = "pageSize", required = true) Integer pageSize);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/setting/service/snmp : Get SNMP setting
     * Get SNMP setting info of the site with the given omadacId and siteId.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get SNMP setting", nickname = "getSnmpSetting", notes = "Get SNMP setting info of the site with the given omadacId and siteId.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseSnmpSettingOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSnmpSettingOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/snmp",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSnmpSettingOpenApiVo> getSnmpSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/ssh : Get SSH setting
     * Get SSH setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get SSH setting", nickname = "getSshSetting", notes = "Get SSH setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only", response = OperationResponseSshSetting.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSshSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/ssh",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSshSetting> getSshSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/upnp : Get UPnP setting
     * Get UPnP setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get UPnP setting", nickname = "getUpnpSetting", notes = "Get UPnP setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only", response = OperationResponseUpnpSettingOpenApiVo.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseUpnpSettingOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/upnp",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseUpnpSettingOpenApiVo> getUpnpSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/setting/service/ddns/{ddnsId} : Modify an exist Dynamic DNS entry
     * Modify an exist Dynamic DNS entry with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-34500  -  Dynamic DNS Entries can be created with only one service provider for one WAN port.&lt;br/&gt;-34510  -  The domain name and service provider of different Dynamic DNS Entries should be different.&lt;br/&gt;-34516  -  The username already exists under the selected service provider.&lt;br/&gt;-34564  -  The TP-Link Dynamic DNS domain name cannot contain sensitive fields such as email, tp-link, tplink, and www.&lt;br/&gt;-34565  -  The TP-Link Dynamic DNS domain name should end with \&quot;.tplinkdns.com\&quot;.&lt;br/&gt;-34566  -  The TP-Link Dynamic DNS domain name is invalid.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param ddnsId Dynamic DNS entry ID (required)
     * @param createDdnsOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify an exist Dynamic DNS entry", nickname = "modifyDdns", notes = "Modify an exist Dynamic DNS entry with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-34500  -  Dynamic DNS Entries can be created with only one service provider for one WAN port.<br/>-34510  -  The domain name and service provider of different Dynamic DNS Entries should be different.<br/>-34516  -  The username already exists under the selected service provider.<br/>-34564  -  The TP-Link Dynamic DNS domain name cannot contain sensitive fields such as email, tp-link, tplink, and www.<br/>-34565  -  The TP-Link Dynamic DNS domain name should end with \".tplinkdns.com\".<br/>-34566  -  The TP-Link Dynamic DNS domain name is invalid.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/ddns/{ddnsId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> modifyDdns(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Dynamic DNS entry ID",required=true) @PathVariable("ddnsId") String ddnsId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) CreateDdnsOpenApiVo createDdnsOpenApiVo);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/setting/service/dhcp/{mac} : Modify an exist DHCP reservation
     * Modify an exist DHCP reservation with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-33503  -  This network does not exist.&lt;br/&gt;-34511  -  The number of DHCP Reservation entries has reached the limit.&lt;br/&gt;-34512  -  Invalid network. Please select a network with the purpose selected as Interface.&lt;br/&gt;-34513  -  Enter an IP address within the Network IP range.&lt;br/&gt;-34514  -  This IP address conflicts with an existing DHCP Reservation entry.&lt;br/&gt;-34515  -  This MAC address conflicts with an existing DHCP Reservation entry.&lt;br/&gt;-34520  -  The LAN network in this entry does not exist, please reconfigure the DHCP reservation entry.&lt;br/&gt;-34522  -  This IP address of DHCP Reservation conflicts with a reserved static IP-MAC binding.&lt;br/&gt;-34543  -  The IP cannot be the same as the LAN network IP.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param mac MAC address of the DHCP reservation, format: AA-BB-CC-11-22-33. (required)
     * @param createDhcpReservationOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify an exist DHCP reservation", nickname = "modifyDhcpReservation", notes = "Modify an exist DHCP reservation with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-33503  -  This network does not exist.<br/>-34511  -  The number of DHCP Reservation entries has reached the limit.<br/>-34512  -  Invalid network. Please select a network with the purpose selected as Interface.<br/>-34513  -  Enter an IP address within the Network IP range.<br/>-34514  -  This IP address conflicts with an existing DHCP Reservation entry.<br/>-34515  -  This MAC address conflicts with an existing DHCP Reservation entry.<br/>-34520  -  The LAN network in this entry does not exist, please reconfigure the DHCP reservation entry.<br/>-34522  -  This IP address of DHCP Reservation conflicts with a reserved static IP-MAC binding.<br/>-34543  -  The IP cannot be the same as the LAN network IP.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/dhcp/{mac}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> modifyDhcpReservation(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "MAC address of the DHCP reservation, format: AA-BB-CC-11-22-33.",required=true) @PathVariable("mac") String mac,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) CreateDhcpReservationOpenApiVo createDhcpReservationOpenApiVo);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/setting/service/dns-proxy : Modify DNS proxy setting
     * Modify DNS proxy setting info of the site with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-34536  -  Please enable at least one DNS Sec server.&lt;br/&gt;-34538  -  The number of custom DNS servers has reached the limit.&lt;br/&gt;-34539  -  Please enable at least one DoH server.&lt;br/&gt;-34540  -  Please enable at least one DoT server.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param dnsProxySettingOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify DNS proxy setting", nickname = "modifyDnsProxy", notes = "Modify DNS proxy setting info of the site with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-34536  -  Please enable at least one DNS Sec server.<br/>-34538  -  The number of custom DNS servers has reached the limit.<br/>-34539  -  Please enable at least one DoH server.<br/>-34540  -  Please enable at least one DoT server.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/dns-proxy",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> modifyDnsProxy(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) DnsProxySettingOpenApiVo dnsProxySettingOpenApiVo);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/setting/service/igmp : Modify IGMP setting
     * Modify IGMP setting info of the site with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param igmpOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify IGMP setting", nickname = "modifyIgmp", notes = "Modify IGMP setting info of the site with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/igmp",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifyIgmp(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) IgmpOpenApiVo igmpOpenApiVo);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/setting/service/iptv : Modify IPTV setting
     * Modify IPTV setting info of the site with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-33501  -  This VLAN already exists in one site.&lt;br/&gt;-34517  -  The VLAN ID already exists. Please enter again.&lt;br/&gt;-34518  -  The VLAN IDs cannot be the same.&lt;br/&gt;-34519  -  At least one Internet port is required.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param iptvConfigOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify IPTV setting", nickname = "modifyIptv", notes = "Modify IPTV setting info of the site with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-33501  -  This VLAN already exists in one site.<br/>-34517  -  The VLAN ID already exists. Please enter again.<br/>-34518  -  The VLAN IDs cannot be the same.<br/>-34519  -  At least one Internet port is required.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/iptv",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifyIptv(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) IptvConfigOpenApiVo iptvConfigOpenApiVo);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/setting/service/mdns/{mdnsId} : Modify an exist mDNS rule
     * Modify an exist mDNS rule with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-34521  -  The gateway does not support mDNS.&lt;br/&gt;-34523  -  This mDNS rule name already exists.&lt;br/&gt;-34524  -  The number of mDNS rules has reached the limit.&lt;br/&gt;-34525  -  This mDNS rule does not exist.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param mdnsId mDNS rule ID (required)
     * @param createMdnsRuleOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify an exist mDNS rule", nickname = "modifyMdns", notes = "Modify an exist mDNS rule with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-34521  -  The gateway does not support mDNS.<br/>-34523  -  This mDNS rule name already exists.<br/>-34524  -  The number of mDNS rules has reached the limit.<br/>-34525  -  This mDNS rule does not exist.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/mdns/{mdnsId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> modifyMdns(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "mDNS rule ID",required=true) @PathVariable("mdnsId") String mdnsId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) CreateMdnsRuleOpenApiVo createMdnsRuleOpenApiVo);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/setting/service/snmp : Modify SNMP setting
     * Modify SNMP setting info of the site with the given params.&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;&lt;br/&gt;The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): &lt;br/&gt;-33000  -  This site does not exist.&lt;br/&gt;-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.&lt;br/&gt;-34503  -  Community String cannot be the same as the username.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param snmpSettingOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify SNMP setting", nickname = "modifySnmpSetting", notes = "Modify SNMP setting info of the site with the given params.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/><br/>The possible error code for the interface in the returned body is one of the following error codes (non generic error codes): <br/>-33000  -  This site does not exist.<br/>-33004  -  Operation failed because other operations are being performed on this site. Please wait and try again later.<br/>-34503  -  Community String cannot be the same as the username.", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/setting/service/snmp",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> modifySnmpSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SnmpSettingOpenApiVo snmpSettingOpenApiVo);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/ssh : Modify SSH setting
     * Modify SSH setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param sshSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify SSH setting", nickname = "updateSshSetting", notes = "Modify SSH setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/ssh",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> updateSshSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SshSetting sshSetting);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/upnp : Modify UPnP setting
     * Modify UPnP setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param upnpSettingOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify UPnP setting", nickname = "updateUpnpSetting", notes = "Modify UPnP setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/Service","Service", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/upnp",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> updateUpnpSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) UpnpSettingOpenApiVo upnpSettingOpenApiVo);

}
