35b1dee3bf41101a071bcb7f17b5c12e7148ee7b
[transportpce.git] / pce / src / main / java / org / opendaylight / transportpce / pce / networkanalyzer / PceNode.java
1 /*
2  * Copyright © 2020 Orange, Inc. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.transportpce.pce.networkanalyzer;
10
11 import java.util.BitSet;
12 import java.util.List;
13 import java.util.Map;
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
15 import org.opendaylight.yangtools.yang.common.Uint16;
16
17 public interface PceNode {
18     String getPceNodeType();
19
20     String getSupNetworkNodeId();
21
22     String getSupClliNodeId();
23
24     void addOutgoingLink(PceLink outLink);
25
26     String getRdmSrgClient(String tp);
27
28     String getXpdrClient(String tp);
29
30     boolean checkTP(String tp);
31
32     List<PceLink> getOutgoingLinks();
33
34     NodeId getNodeId();
35
36     Map<String, List<Uint16>> getAvailableTribPorts();
37
38     Map<String, List<Uint16>> getAvailableTribSlots();
39
40     /**
41      * Get the version of node.
42      * @return the OpenROADM yang release supported by the node.
43      */
44     String getVersion();
45
46     /**
47      * For optical node, the spectrumOccupation of the node.
48      * @return BitSet.
49      */
50     BitSet getBitSetData();
51 }