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.OperationResponseGridVoOuiBasedVlanApQueryOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoOuiBasedVlanSwitchInfoOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoOuiBasedVlanSwitchQueryOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseResIdOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult;
import org.wfc.omada.api.sitesetting.model.OuiBasedVlanApOpenApiVo;
import org.wfc.omada.api.sitesetting.model.OuiBasedVlanSwitchOpenApiVo;

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

    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/ap-oui-rules : Create Ap oui based vlan
     * Create Ap oui based vlan.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;-33779  -  This OUI profile does not exist.&lt;br/&gt;-33789  -  PPSK and OUI Based VLAN are mutually exclusive. Please make sure the SSID does not select PPSK.&lt;br/&gt;-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.&lt;br/&gt;-34225  -  When the rule is enabled, the same SSID should not be configured in multiple rules.&lt;br/&gt;-34229  -  The OUI based VLAN rule name already exists.&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 ouiBasedVlanApOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create Ap oui based vlan", nickname = "createApOuiBasedVlan", notes = "Create Ap oui based vlan.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/>-33779  -  This OUI profile does not exist.<br/>-33789  -  PPSK and OUI Based VLAN are mutually exclusive. Please make sure the SSID does not select PPSK.<br/>-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.<br/>-34225  -  When the rule is enabled, the same SSID should not be configured in multiple rules.<br/>-34229  -  The OUI based VLAN rule name already exists.<br/>-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.", response = OperationResponseResIdOpenApiVo.class, tags={ "Omada/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseResIdOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/ap-oui-rules",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseResIdOpenApiVo> createApOuiBasedVlan(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) OuiBasedVlanApOpenApiVo ouiBasedVlanApOpenApiVo);


    /**
     * POST /openapi/v1/{omadacId}/sites/{siteId}/switch-oui-rules : Create Switch oui based vlan
     * Create Switch oui based vlan.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;-33779  -  This OUI profile does not exist.&lt;br/&gt;-34219  -  The rule for all device ports has been created in Rules.&lt;br/&gt;-34220  -  The rule for all device ports and the rule for custom device ports should not be enabled simultaneously.&lt;br/&gt;-34223  -  When the rule enabled, the same VLAN should not be bound with the same device port/LAG in different rules. Please check the settings.&lt;br/&gt;-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.&lt;br/&gt;-34227  -  When the rule is enabled, the same OUI on the same device should not be configured in multiple rules.&lt;br/&gt;-34229  -  The OUI based VLAN rule name already exists.&lt;br/&gt;-34230  -  When the rule for all device ports is created, devices with old firmware should not be configured in rules for custom device ports.&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 ouiBasedVlanSwitchOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Create Switch oui based vlan", nickname = "createSwitchOuiBasedVlan", notes = "Create Switch oui based vlan.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/>-33779  -  This OUI profile does not exist.<br/>-34219  -  The rule for all device ports has been created in Rules.<br/>-34220  -  The rule for all device ports and the rule for custom device ports should not be enabled simultaneously.<br/>-34223  -  When the rule enabled, the same VLAN should not be bound with the same device port/LAG in different rules. Please check the settings.<br/>-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.<br/>-34227  -  When the rule is enabled, the same OUI on the same device should not be configured in multiple rules.<br/>-34229  -  The OUI based VLAN rule name already exists.<br/>-34230  -  When the rule for all device ports is created, devices with old firmware should not be configured in rules for custom device ports.<br/>-44119  -  This interface applies to the Omada Pro only. Please do not use it for non-Pro controllers or sites.", response = OperationResponseResIdOpenApiVo.class, tags={ "Omada/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseResIdOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/switch-oui-rules",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.POST)
    ResponseEntity<OperationResponseResIdOpenApiVo> createSwitchOuiBasedVlan(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) OuiBasedVlanSwitchOpenApiVo ouiBasedVlanSwitchOpenApiVo);


    /**
     * DELETE /openapi/v1/{omadacId}/sites/{siteId}/ap-oui-rules/{ouiBasedVlanId} : Delete Ap oui based vlan
     * Delete Ap oui based vlan.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 ouiBasedVlanId Oui Based Vlan ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Delete Ap oui based vlan", nickname = "deleteApOuiBasedVlan", notes = "Delete Ap oui based vlan.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/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/ap-oui-rules/{ouiBasedVlanId}",
        produces = "*/*", 
        method = RequestMethod.DELETE)
    ResponseEntity<OperationResponseWithoutResult> deleteApOuiBasedVlan(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Oui Based Vlan ID",required=true) @PathVariable("ouiBasedVlanId") String ouiBasedVlanId);


    /**
     * DELETE /openapi/v1/{omadacId}/sites/{siteId}/switch-oui-rules/{ouiBasedVlanId} : Delete Switch oui based vlan
     * Delete Switch oui based vlan.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 ouiBasedVlanId Oui Based Vlan ID (required)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Delete Switch oui based vlan", nickname = "deleteSwitchOuiBasedVlan", notes = "Delete Switch oui based vlan.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/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/switch-oui-rules/{ouiBasedVlanId}",
        produces = "*/*", 
        method = RequestMethod.DELETE)
    ResponseEntity<OperationResponseWithoutResult> deleteSwitchOuiBasedVlan(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Oui Based Vlan ID",required=true) @PathVariable("ouiBasedVlanId") String ouiBasedVlanId);


    /**
     * GET /openapi/v1/{omadacId}/sites/{siteId}/ap-oui-rules : Get Ap oui based vlan list
     * Get Ap oui based vlan list.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 Ap oui based vlan list", nickname = "getGridApOuiBasedVlan", notes = "Get Ap oui based vlan list.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 = OperationResponseGridVoOuiBasedVlanApQueryOpenApiVo.class, tags={ "Omada/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoOuiBasedVlanApQueryOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/ap-oui-rules",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoOuiBasedVlanApQueryOpenApiVo> getGridApOuiBasedVlan(@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}/switch-oui-rules : Get Switch oui based vlan list
     * Get Switch oui based vlan list.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 Switch oui based vlan list", nickname = "getGridSwitchOuiBasedVlan", notes = "Get Switch oui based vlan list.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 = OperationResponseGridVoOuiBasedVlanSwitchQueryOpenApiVo.class, tags={ "Omada/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoOuiBasedVlanSwitchQueryOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/switch-oui-rules",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoOuiBasedVlanSwitchQueryOpenApiVo> getGridSwitchOuiBasedVlan(@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}/switch-oui-rules/support-device : Get switch list of supporting oui based vlan
     * Get switch list of supporting oui based vlanThis 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)
     * @param name Switch name. Support fuzzy search (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Get switch list of supporting oui based vlan", nickname = "getSwitchList", notes = "Get switch list of supporting oui based vlanThis 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 = OperationResponseGridVoOuiBasedVlanSwitchInfoOpenApiVo.class, tags={ "Omada/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseGridVoOuiBasedVlanSwitchInfoOpenApiVo.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/switch-oui-rules/support-device",
        produces = "*/*", 
        method = RequestMethod.GET)
    ResponseEntity<OperationResponseGridVoOuiBasedVlanSwitchInfoOpenApiVo> getSwitchList(@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 = "Switch name. Support fuzzy search") @Valid @RequestParam(value = "name", required = false) String name);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/ap-oui-rules/{ouiBasedVlanId} : Modify Ap oui based vlan
     * Modify Ap oui based vlan.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;-33779  -  This OUI profile does not exist.&lt;br/&gt;-33789  -  PPSK and OUI Based VLAN are mutually exclusive. Please make sure the SSID does not select PPSK.&lt;br/&gt;-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.&lt;br/&gt;-34225  -  When the rule is enabled, the same SSID should not be configured in multiple rules.&lt;br/&gt;-34229  -  The OUI based VLAN rule name already exists.&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 ouiBasedVlanId Oui Based Vlan ID (required)
     * @param ouiBasedVlanApOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify Ap oui based vlan", nickname = "modifyApOuiBasedVlan", notes = "Modify Ap oui based vlan.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/>-33779  -  This OUI profile does not exist.<br/>-33789  -  PPSK and OUI Based VLAN are mutually exclusive. Please make sure the SSID does not select PPSK.<br/>-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.<br/>-34225  -  When the rule is enabled, the same SSID should not be configured in multiple rules.<br/>-34229  -  The OUI based VLAN rule name already exists.<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/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/ap-oui-rules/{ouiBasedVlanId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifyApOuiBasedVlan(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Oui Based Vlan ID",required=true) @PathVariable("ouiBasedVlanId") String ouiBasedVlanId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) OuiBasedVlanApOpenApiVo ouiBasedVlanApOpenApiVo);


    /**
     * PUT /openapi/v1/{omadacId}/sites/{siteId}/switch-oui-rules/{ouiBasedVlanId} : Modify Switch oui based vlan
     * Modify Switch oui based vlan.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;-33779  -  This OUI profile does not exist.&lt;br/&gt;-34219  -  The rule for all device ports has been created in Rules.&lt;br/&gt;-34220  -  The rule for all device ports and the rule for custom device ports should not be enabled simultaneously.&lt;br/&gt;-34223  -  When the rule enabled, the same VLAN should not be bound with the same device port/LAG in different rules. Please check the settings.&lt;br/&gt;-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.&lt;br/&gt;-34227  -  When the rule is enabled, the same OUI on the same device should not be configured in multiple rules.&lt;br/&gt;-34229  -  The OUI based VLAN rule name already exists.&lt;br/&gt;-34230  -  When the rule for all device ports is created, devices with old firmware should not be configured in rules for custom device ports.&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 ouiBasedVlanId Oui Based Vlan ID (required)
     * @param ouiBasedVlanSwitchOpenApiVo  (optional)
     * @return OK (status code 200)
     */
    @ApiOperation(value = "Modify Switch oui based vlan", nickname = "modifySwitchOuiBasedVlan", notes = "Modify Switch oui based vlan.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/>-33779  -  This OUI profile does not exist.<br/>-34219  -  The rule for all device ports has been created in Rules.<br/>-34220  -  The rule for all device ports and the rule for custom device ports should not be enabled simultaneously.<br/>-34223  -  When the rule enabled, the same VLAN should not be bound with the same device port/LAG in different rules. Please check the settings.<br/>-34224  -  When the rule is enabled, the same device should not configure OUI-VLAN combination greater than 16.<br/>-34227  -  When the rule is enabled, the same OUI on the same device should not be configured in multiple rules.<br/>-34229  -  The OUI based VLAN rule name already exists.<br/>-34230  -  When the rule for all device ports is created, devices with old firmware should not be configured in rules for custom device ports.<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/OUI Based VLAN","OUI Based VLAN", })
    @ApiResponses(value = { 
        @ApiResponse(code = 200, message = "OK", response = OperationResponseWithoutResult.class) })
    @RequestMapping(value = "/openapi/v1/${omada.omadac-id}/sites/{siteId}/switch-oui-rules/{ouiBasedVlanId}",
        produces = "*/*", 
        consumes = "application/json",
        method = RequestMethod.PUT)
    ResponseEntity<OperationResponseWithoutResult> modifySwitchOuiBasedVlan(@ApiParam(value = "Site ID",required=true) @PathVariable("siteId") String siteId,@ApiParam(value = "Oui Based Vlan ID",required=true) @PathVariable("ouiBasedVlanId") String ouiBasedVlanId,@ApiParam(value = ""  )  @Valid @RequestBody(required = false) OuiBasedVlanSwitchOpenApiVo ouiBasedVlanSwitchOpenApiVo);

}
