/** * Copyright (c) <2013> <Radware Ltd.> and others. All rights reserved. * * This program and the accompanying materials are made available under the terms of the Eclipse Public License * v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html * @author Gera Goft * @version 0.1 */ package org.opendaylight.defense4all.core; import java.util.List; import org.opendaylight.defense4all.core.DFAppRoot.HealthStatus; import org.opendaylight.defense4all.framework.core.ExceptionControlApp; import org.opendaylight.defense4all.framework.core.FrameworkMain.ResetLevel; public interface MitigationDriver { /** Post-constructor initialization * @throws ExceptionControlApp */ public void init() throws ExceptionControlApp; /** Pre-shutdown cleanup */ public void finit(); /** Factory reset */ public void reset(ResetLevel level) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public void addPN(String pnKey) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public void removePN(String pnKey) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public void mitigate(String mitigationKey) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws ExceptionControlApp * @throws exception_type circumstances description */ public void endMitigation(String mitigationKey) throws ExceptionControlApp; /** * #### method description #### * @param param_name param description * @return return description * @throws exception_type circumstances description */ public String getLabel(); /** * #### method description #### * @param param_name param description * @return return description * @throws exception_type circumstances description */ public void addNetNode(String netNodeKey); /** * * #### method description #### * @param param_name param description * @return return description * @throws exception_type circumstances description */ public void netNodeStatusDowned(String logicalNetNodeLabel, HealthStatus healthStatus); /** * * #### method description #### * @param param_name param description * @return return description * @throws exception_type circumstances description */ public void handleFailedAMSs(List<String> failedAMSs); }