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.DragSortIndexOpenapiVo;
import org.wfc.omada.api.sitesetting.model.EapAclConfig;
import org.wfc.omada.api.sitesetting.model.GatewayAclConfig;
import org.wfc.omada.api.sitesetting.model.GatewayAclConfigModeEntity;
import org.wfc.omada.api.sitesetting.model.GatewayCustomAclUpdateEntity;
import org.wfc.omada.api.sitesetting.model.OperationResponseGatewayAclConfigModeEntity;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoEapAclInfo;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoGatewayAclInfo;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoGatewayCustomAclInfoEntity;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoSwitchAclInfo;
import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult;
import org.wfc.omada.api.sitesetting.model.SwitchAclConfig;

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 = "OmadaAcl", description = "the OmadaAcl API")
@FeignClient(name="OmadaAclApi", url = "${omada.omada-url}", configuration = FeignConfig.class)
public interface OmadaAclApi {

    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/acls/osg-custom-acls/hit-counts : Clear gateway custom ACL hit counts
     * Clear gateway custom ACL hit counts&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)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Clear gateway custom ACL hit counts", nickname = "clearOsgHitCounts", notes = "Clear gateway custom ACL hit counts<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-custom-acls/hit-counts",
        produces = "*/*", 
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> clearOsgHitCounts(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/acls/eap-acls : Create new eap ACL
     * Create new eap ACL.&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 eapAclConfig  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create new eap ACL", nickname = "createEapAcl", notes = "Create new eap ACL.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/eap-acls",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> createEapAcl(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) EapAclConfig eapAclConfig);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/acls/osg-acls : Create new gateway ACL
     * Create new gateway ACL.&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 gatewayAclConfig  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create new gateway ACL", nickname = "createOsgAcl", notes = "Create new gateway ACL.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-acls",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> createOsgAcl(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) GatewayAclConfig gatewayAclConfig);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/acls/osw-acls : Create new switch ACL
     * Create new switch ACL.&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 switchAclConfig  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create new switch ACL", nickname = "createOswAcl", notes = "Create new switch ACL.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osw-acls",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> createOswAcl(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SwitchAclConfig switchAclConfig);


    /**
     * DELETE /openapi/v1/{omadacId}/sites/{siteId}/acls/{aclId} : Delete ACL
     * Delete ACL.&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 aclId ACL ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Delete ACL", nickname = "deleteAcl", notes = "Delete ACL.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/{aclId}",
        produces = "*/*", 
        method = RequestMethod.DELETE)
    ResponseEntity<OperationResponseWithoutResult> deleteAcl(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "ACL ID",required=true) @PathVariable("aclId") String aclId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/acls/osg-config-mode : Get gateway ACL config mode
     * Get gateway ACL config mode&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 gateway ACL config mode", nickname = "getAclConfigTypeSetting", notes = "Get gateway ACL config mode<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only", response = OperationResponseGatewayAclConfigModeEntity.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGatewayAclConfigModeEntity.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-config-mode",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGatewayAclConfigModeEntity> getAclConfigTypeSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/acls/eap-acls : Get eap ACL list
     * Get eap ACL list.&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)
     * @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 eap ACL list", nickname = "getEapAclList", notes = "Get eap ACL list.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only", response = OperationResponseGridVoEapAclInfo.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoEapAclInfo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/eap-acls",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoEapAclInfo> getEapAclList(@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}/acls/osg-acls : Get gateway ACL list
     * Get gateway ACL list.&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)
     * @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 gateway ACL list", nickname = "getOsgAclList", notes = "Get gateway ACL list.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only", response = OperationResponseGridVoGatewayAclInfo.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoGatewayAclInfo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-acls",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoGatewayAclInfo> getOsgAclList(@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}/acls/osg-custom-acls : Get osg custom ACL
     * Get osg custom ACL.This interface applies to the Omada Pro Controller only. Please do not use it for non-Pro controllers.&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;-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.
     *
     * @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 osg custom ACL", nickname = "getOsgCustomAclList", notes = "Get osg custom ACL.This interface applies to the Omada Pro Controller only. Please do not use it for non-Pro controllers.<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/>-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.", response = OperationResponseGridVoGatewayCustomAclInfoEntity.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoGatewayCustomAclInfoEntity.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-custom-acls",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoGatewayCustomAclInfoEntity> getOsgCustomAclList(@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}/acls/osw-acls : Get switch ACL list
     * Get switch ACL list.&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)
     * @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 switch ACL list", nickname = "getOswAclList", notes = "Get switch ACL list.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager View Only", response = OperationResponseGridVoSwitchAclInfo.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoSwitchAclInfo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osw-acls",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoSwitchAclInfo> getOswAclList(@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);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/acls/osg-config-mode : Modify gateway ACL config mode
     * Modify gateway ACL config modeThis interface applies to the Omada Pro Controller only. Please do not use it for non-Pro controllers.&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;-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param gatewayAclConfigModeEntity  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify gateway ACL config mode", nickname = "modifyAclConfigTypeSetting", notes = "Modify gateway ACL config modeThis interface applies to the Omada Pro Controller only. Please do not use it for non-Pro controllers.<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/>-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-config-mode",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifyAclConfigTypeSetting(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) GatewayAclConfigModeEntity gatewayAclConfigModeEntity);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/acls/modifyIndex : Modify ACL Index
     * Modify ACL Index.&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 dragSortIndexOpenapiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify ACL Index", nickname = "modifyAclIndex", notes = "Modify ACL Index.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/modifyIndex",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> modifyAclIndex(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) DragSortIndexOpenapiVo dragSortIndexOpenapiVo);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/acls/eap-acls/{aclId} : Modify an  EAP ACL
     * Modify an EAP ACL.&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 aclId ACL ID (required)
     * @param eapAclConfig  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify an  EAP ACL", nickname = "modifyEapAcl", notes = "Modify an EAP ACL.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/eap-acls/{aclId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifyEapAcl(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "ACL ID",required=true) @PathVariable("aclId") String aclId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) EapAclConfig eapAclConfig);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/acls/osg-acls/{aclId} : Modify a gateway ACL
     * Modify a gateway ACL.&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 aclId ACL ID (required)
     * @param gatewayAclConfig  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify a gateway ACL", nickname = "modifyOsgAcl", notes = "Modify a gateway ACL.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-acls/{aclId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifyOsgAcl(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "ACL ID",required=true) @PathVariable("aclId") String aclId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) GatewayAclConfig gatewayAclConfig);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/acls/osg-custom-acls/modifyIndex : Modify gateway custom ACL index
     * Modify gateway custom ACL index&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 dragSortIndexOpenapiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify gateway custom ACL index", nickname = "modifyOsgCustomAclIndex", notes = "Modify gateway custom ACL index<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-custom-acls/modifyIndex",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseWithoutResult> modifyOsgCustomAclIndex(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) DragSortIndexOpenapiVo dragSortIndexOpenapiVo);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/acls/osw-acls/{aclId} : Modify a switch ACL
     * Modify a switch ACL.&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 aclId ACL ID (required)
     * @param switchAclConfig  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify a switch ACL", nickname = "modifyOswAcl", notes = "Modify a switch ACL.<br/><br/>The interface requires one of the permissions: <br/>Site Settings Manager Modify", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osw-acls/{aclId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifyOswAcl(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "ACL ID",required=true) @PathVariable("aclId") String aclId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) SwitchAclConfig switchAclConfig);


    /**
     * PATCH /openapi/v1/{omadacId}/sites/{siteId}/acls/osg-custom-acls : Update osg custom ACLs
     * Update osg custom ACLs.This interface applies to the Omada Pro Controller only. Please do not use it for non-Pro controllers.&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;-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.
     *
     * @param omadacId Omada ID (required)
     * @param siteId Site ID (required)
     * @param gatewayCustomAclUpdateEntity  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Update osg custom ACLs", nickname = "updateOsgCustomAcls", notes = "Update osg custom ACLs.This interface applies to the Omada Pro Controller only. Please do not use it for non-Pro controllers.<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/>-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.", response = OperationResponseWithoutResult.class, tags={ "Omada/ACL","ACL", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/acls/osg-custom-acls",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PATCH)
    ResponseEntity<OperationResponseWithoutResult> updateOsgCustomAcls(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) GatewayCustomAclUpdateEntity gatewayCustomAclUpdateEntity);

}
