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.opendaylight.transportpce.portmapping.rev220114.mapping.Mapping;
12 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link;
13 import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.OtnLinkType;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
15 import org.opendaylight.yangtools.yang.common.Uint32;
18 * Service for data manipulation on OpenROADM topology models.
20 public interface NetworkModelService {
23 * Create new OpenROADM node in all OpenROADM topologies.
26 * unique node ID of new OpenROADM node
28 * OpenROADM node version
30 void createOpenRoadmNode(String nodeId, String nodeVersion);
33 * Delete OpenROADM node from portmapping and topologies.
36 * unique node ID of OpenROADM node.
38 * @return result of node deletion from portmapping and topologies
40 boolean deleteOpenRoadmnode(String nodeId);
43 * Update termination point, and if need, be associated links, of
44 * openroadm-topology and otn-topology after a change on a given mapping.
47 * unique node ID of OpenROADM node at the origin of the NETCONF
48 * notification change.
50 * updated mapping following the device notification change.
52 void updateOpenRoadmTopologies(String nodeId, Mapping mapping);
55 * Set/update connection status of OpenROADM node.
58 * unique node ID of new OpenROADM node
59 * @param connectionStatus
60 * connection status of the node
62 void setOpenRoadmNodeStatus(String nodeId, NetconfNodeConnectionStatus.ConnectionStatus connectionStatus);
65 * create new otn link in otn-topology.
68 * Expressed by the means of a link, specifies the
69 * termination points of the otn link to create.
71 * list of link-id supported the service (used when more than one supported link)
73 * OtnLinkType, as OTU4, ODTU, etc
76 org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link
77 notifLink, List<String> suppLinks, OtnLinkType linkType);
80 * delete otn links from otn-topology.
83 * Expressed by the means of a link, specifies the
84 * termination points of the otn link to create.
86 * list of link-id supported the service (used when more than one supported link)
88 * OtnLinkType, as OTU4, ODTU, etc
91 org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link
92 notifLink, List<String> suppLinks, OtnLinkType linkType);
95 * Update otn links from otn-topology.
96 * For services using low-order odu, updates bandwidth parameters
97 * for both the direct parent high-order odu link, and also its server
101 * link containing termination points to be updated (used for use
102 * case with a single supported link)
103 * @param supportedLinks
104 * list of link-id supported the service (used for use case with
105 * several supported links)
107 * Service rate may be 1G, 10G, 100G or 400G
109 * Trib port number allocated by the service
110 * @param minTribSoltNb
111 * First contiguous trib slot number allocated by the service
112 * @param maxTribSoltNb
113 * Last contiguous trib slot number allocated by the service
115 * True indicates if the low-order otn service must be deleted
117 void updateOtnLinks(Link link, List<String> supportedLinks, Uint32 serviceRate, Short tribPortNb,
118 Short minTribSoltNb, Short maxTribSoltNb, boolean isDeletion);
121 * Update otn links from otn-topology.
122 * For services using directly a high-order odu, updates bandwidth parameters
123 * of the direct parent otu link.
125 * @param supportedLinks
126 * list of link-id supported the service (used for use case with
127 * several supported links)
129 * True indicates if the low-order otn service must be deleted
131 void updateOtnLinks(List<String> supportedLinks, boolean isDeletion);