/* * Copyright © 2017 AT&T 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 */ package org.opendaylight.transportpce.common.openroadminterfaces; import java.util.Optional; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.Interface; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.interfaces.grp.InterfaceBuilder; public interface OpenRoadmInterfaces { /** * This methods does an edit-config operation on the openROADM device in order * to create the given interface. * *

* Before posting the interface it checks if: * 1. Interface with same name does not exist * 2. If exists then admin state of interface is outOfState/Maintenance *

* * @param ifBuilder Builder object containing the data to post. * */ void postInterface(String nodeId, InterfaceBuilder ifBuilder) throws OpenRoadmInterfaceException; /** * This private does a get on the interface subtree of the device with the * interface name as the key and return the class corresponding to the interface * type. * * @param interfaceName * Name of the interface * * @return Optional of Interface from datastore */ Optional getInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException; /** * This methods does an edit-config operation on the openROADM device in order * to delete the given interface. * *

* Before deleting the method: * 1. Checks if interface exists * 2. If exists then changes the state of interface to outOfService *

* * @param interfaceName * Name of the interface to delete. */ void deleteInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException; }