2 * Copyright © 2016 AT&T and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.transportpce.networkmodel.service;
10 import java.util.List;
11 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.packs.CircuitPacks;
12 import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev201019.OtnLinkType;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
16 * Service for data manipulation on OpenROADM topology models.
18 public interface NetworkModelService {
21 * Create new OpenROADM node in all OpenROADM topologies.
24 * unique node ID of new OpenROADM node
26 * OpenROADM node version
28 void createOpenRoadmNode(String nodeId, String nodeVersion);
31 * Delete OpenROADM node mapping and topologies.
34 * unique node ID of OpenROADM node.
37 void deleteOpenRoadmnode(String nodeId);
40 * Update OpenROADM network topology. TODO: update all topologies
43 * unique node ID of OpenROADM node that sent the NETCONF notification.
45 * circuit pack modified from the NETCONF notification.
48 void updateOpenRoadmNetworkTopology(String nodeId, CircuitPacks changedCpack);
51 * Set/update connection status of OpenROADM node.
54 * unique node ID of new OpenROADM node
55 * @param connectionStatus
56 * connection status of the node
58 void setOpenRoadmNodeStatus(String nodeId, NetconfNodeConnectionStatus.ConnectionStatus connectionStatus);
61 * create new otn link in otn-topology.
64 * OpenROADM node ID for link termination point A
66 * OpenROADM tp id on nodeA for link termination point A
68 * OpenROADM node ID for link termination point Z
70 * OpenROADM tp id on nodeZ for link termination point Z
72 * OtnLinkType, as OTU4, ODTU, etc
74 void createOtnLinks(String nodeA, String tpA, String nodeZ, String tpZ, OtnLinkType linkType);
77 * delete otn links from otn-topology.
80 * OpenROADM node ID for link termination point A
82 * OpenROADM tp id on nodeA for link termination point A
84 * OpenROADM node ID for link termination point Z
86 * OpenROADM tp id on nodeZ for link termination point Z
88 * OtnLinkType, as OTU4, ODTU, etc
90 void deleteOtnLinks(String nodeA, String tpA, String nodeZ, String tpZ, OtnLinkType linkType);
93 * update otn links from otn-topology.
96 * List containing a string composed of the netconf nodeId , and the
97 * termination point supporting the service
99 * Service rate may be 1G, 10G or 100G
101 * Trib port number allocated by the service
103 * First trib slot number allocated by the service
105 * True indicates if the low-order otn service must be deleted
107 void updateOtnLinks(List<String> nodeTps, String serviceRate, Short tribPortNb, Short tribSoltNb,