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.wfc.omada.config.FeignConfig;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteBandSteeringSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteBeaconControlSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteChannelLimitSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteLedSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteLldpSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteMeshSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteMulticastRateLimitSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteRemoteLoggingSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseSiteRoamingSetting;
import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult;
import org.wfc.omada.api.sitesetting.model.SiteBandSteeringSetting;
import org.wfc.omada.api.sitesetting.model.SiteBeaconControlSetting;
import org.wfc.omada.api.sitesetting.model.SiteChannelLimitSetting;
import org.wfc.omada.api.sitesetting.model.SiteLedSetting;
import org.wfc.omada.api.sitesetting.model.SiteLldpSetting;
import org.wfc.omada.api.sitesetting.model.SiteMeshSetting;
import org.wfc.omada.api.sitesetting.model.SiteMulticastRateLimitSetting;
import org.wfc.omada.api.sitesetting.model.SiteRemoteLoggingSetting;
import org.wfc.omada.api.sitesetting.model.SiteRoamingSetting;

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

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

    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/band-steering : Get site band steering setting
     * Get site band steering setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site band steering setting", nickname = "getBandSteeringSetting", notes = "Get site band steering setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteBandSteeringSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteBandSteeringSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/band-steering",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteBandSteeringSetting> getBandSteeringSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/beacon-control : Get site beacon control setting
     * Get site beacon control setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site beacon control setting", nickname = "getBeaconControlSetting", notes = "Get site beacon control setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteBeaconControlSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteBeaconControlSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/beacon-control",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteBeaconControlSetting> getBeaconControlSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/channel-limit : Get site channel limit setting
     * Get site channel limit setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site channel limit setting", nickname = "getChannelLimitSetting", notes = "Get site channel limit setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteChannelLimitSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteChannelLimitSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/channel-limit",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteChannelLimitSetting> getChannelLimitSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/lldp : Get site lldp setting
     * Get site lldp setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site lldp setting", nickname = "getLldpSetting", notes = "Get site lldp setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteLldpSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteLldpSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/lldp",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteLldpSetting> getLldpSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/mesh : Get site mesh setting
     * Get site mesh setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site mesh setting", nickname = "getMeshSetting", notes = "Get site mesh setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteMeshSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteMeshSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/mesh",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteMeshSetting> getMeshSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/multicast-rate-limit : Get site multicast rate limit setting
     * Get site multicast rate limit setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Omada ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site multicast rate limit setting", nickname = "getMulticastRateLimitByOpenApi", notes = "Get site multicast rate limit setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteMulticastRateLimitSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteMulticastRateLimitSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/multicast-rate-limit",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteMulticastRateLimitSetting> getMulticastRateLimitByOpenApi(@ApiParam(value = "Omada ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/remote-logging : Get site remote logging setting
     * Get site remote logging setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site remote logging setting", nickname = "getRemoteLoggingSetting", notes = "Get site remote logging setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteRemoteLoggingSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteRemoteLoggingSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/remote-logging",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteRemoteLoggingSetting> getRemoteLoggingSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/roaming : Get site roaming setting
     * Get site roaming setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager View Only&lt;br/&gt;Site Map Manager View Only&lt;br/&gt;Site Hotspot Manager View Only&lt;br/&gt;Site Device 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site roaming setting", nickname = "getRoamingSetting", notes = "Get site roaming setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only<br/>Site Map Manager View Only<br/>Site Hotspot Manager View Only<br/>Site Device 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteRoamingSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteRoamingSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/roaming",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteRoamingSetting> getRoamingSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/led : Get site led setting
     * Get site led setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get site led setting", nickname = "getSiteLedSetting", notes = "Get site led setting<br/><br/>The interface requires one of the permissions: <br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseSiteLedSetting.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseSiteLedSetting.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/led",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseSiteLedSetting> getSiteLedSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/band-steering : Modify site band steering setting
     * Modify site band steering setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param siteBandSteeringSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site band steering setting", nickname = "updateBandSteeringSetting", notes = "Modify site band steering setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/band-steering",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateBandSteeringSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteBandSteeringSetting siteBandSteeringSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/beacon-control : Modify site beacon control setting
     * Modify site beacon control setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param siteBeaconControlSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site beacon control setting", nickname = "updateBeaconControlSetting", notes = "Modify site beacon control setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/beacon-control",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateBeaconControlSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteBeaconControlSetting siteBeaconControlSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/channel-limit : Modify site channel limit setting
     * Modify site channel limit setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @param siteChannelLimitSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site channel limit setting", nickname = "updateChannelLimitSetting", notes = "Modify site channel limit setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/channel-limit",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateChannelLimitSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteChannelLimitSetting siteChannelLimitSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/lldp : Modify site lldp setting
     * Modify site lldp setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @param siteLldpSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site lldp setting", nickname = "updateLldpSetting", notes = "Modify site lldp setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/lldp",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateLldpSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteLldpSetting siteLldpSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/multicast-rate-limit : Modify site multicast rate limit setting
     * Modify site multicast rate limit setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param siteMulticastRateLimitSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site multicast rate limit setting", nickname = "updateMcastRateLimitSettingByOpenApi", notes = "Modify site multicast rate limit setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/multicast-rate-limit",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateMcastRateLimitSettingByOpenApi(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteMulticastRateLimitSetting siteMulticastRateLimitSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/mesh : Modify site mesh setting
     * Modify site mesh setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @param siteMeshSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site mesh setting", nickname = "updateMeshSetting", notes = "Modify site mesh setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/mesh",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateMeshSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteMeshSetting siteMeshSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/remote-logging : Modify site remote logging setting
     * Modify site remote logging setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param siteRemoteLoggingSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site remote logging setting", nickname = "updateRemoteLoggingSetting", notes = "Modify site remote logging setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/remote-logging",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateRemoteLoggingSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteRemoteLoggingSetting siteRemoteLoggingSetting);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/roaming : Modify site roaming setting
     * Modify site roaming setting&lt;br/&gt;&lt;br/&gt;The interface requires one of the permissions: &lt;br/&gt;Site Settings Manager Modify&lt;br/&gt;Global Dashboard 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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param siteRoamingSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site roaming setting", nickname = "updateRoamingSetting", notes = "Modify site roaming setting<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify<br/>Global Dashboard 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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/roaming",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateRoamingSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteRoamingSetting siteRoamingSetting);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/led : Modify site led setting
     * Modify site led setting&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;-1300  -  Failed to get site information.
     *
     * @param omadacId Omada ID (required)
     * @param siteId site_id (required)
     * @param siteLedSetting  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify site led setting", nickname = "updateSiteLedSetting", notes = "Modify site led setting<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/>-1300  -  Failed to get site information.", response = OperationResponseWithoutResult.class, tags={ "Omada/Site Configuration","Site Configuration", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/led",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> updateSiteLedSetting(@ApiParam(value = "site_id",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SiteLedSetting siteLedSetting);

}
