Use version 13.1.0 of openroadm-service models
[transportpce.git] / lighty / src / main / java / io / lighty / controllers / tpce / utils / TPCEUtils.java
1 /*
2  * Copyright (c) 2018 Pantheon Technologies s.r.o. 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 https://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package io.lighty.controllers.tpce.utils;
10
11 import com.google.common.collect.ImmutableSet;
12 import io.lighty.modules.northbound.restconf.community.impl.util.RestConfConfigUtils;
13 import io.lighty.modules.southbound.netconf.impl.util.NetconfConfigUtils;
14 import java.util.Set;
15 import java.util.stream.Collectors;
16 import java.util.stream.Stream;
17 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
18
19 public final class TPCEUtils {
20
21     private static final Set<YangModuleInfo> TPCE_MODELS = ImmutableSet.of(
22
23             // common models 1.2.1 and 2.2.1
24             org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev161014.$YangModuleInfoImpl.getInstance(),
25             org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev181019.$YangModuleInfoImpl.getInstance(),
26             org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.$YangModuleInfoImpl.getInstance(),
27             org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.$YangModuleInfoImpl.getInstance(),
28             org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev161014.$YangModuleInfoImpl
29                     .getInstance(),
30             org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev171215.$YangModuleInfoImpl
31                     .getInstance(),
32             org.opendaylight.yang.gen.v1.http.org.openroadm.layerrate.rev161014.$YangModuleInfoImpl.getInstance(),
33             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.rev161014.$YangModuleInfoImpl.getInstance(),
34             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.rev181019.$YangModuleInfoImpl.getInstance(),
35             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev171215.$YangModuleInfoImpl
36                     .getInstance(),
37             org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev161014.$YangModuleInfoImpl.getInstance(),
38             org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev181019.$YangModuleInfoImpl.getInstance(),
39             org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014.$YangModuleInfoImpl.getInstance(),
40             org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev171215.$YangModuleInfoImpl.getInstance(),
41             org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.$YangModuleInfoImpl.getInstance(),
42             org.opendaylight.yang.gen.v1.http.org.openroadm.probablecause.rev161014.$YangModuleInfoImpl.getInstance(),
43             org.opendaylight.yang.gen.v1.http.org.openroadm.probablecause.rev181019.$YangModuleInfoImpl.getInstance(),
44             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev161014.$YangModuleInfoImpl.getInstance(),
45             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev181019.$YangModuleInfoImpl.getInstance(),
46             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev161014.$YangModuleInfoImpl.getInstance(),
47             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev181019.$YangModuleInfoImpl.getInstance(),
48             org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev171215.$YangModuleInfoImpl
49                     .getInstance(),
50             org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev161014.$YangModuleInfoImpl.getInstance(),
51             org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev181019.$YangModuleInfoImpl.getInstance(),
52             org.opendaylight.yang.gen.v1.http.org.openroadm.user.mgmt.rev161014.$YangModuleInfoImpl.getInstance(),
53             org.opendaylight.yang.gen.v1.http.org.openroadm.user.mgmt.rev171215.$YangModuleInfoImpl.getInstance(),
54
55             // common models 7.1
56             org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev200529.$YangModuleInfoImpl.getInstance(),
57             org.opendaylight.yang.gen.v1.http.org.openroadm.common.alarm.pm.types.rev191129.$YangModuleInfoImpl
58                     .getInstance(),
59             org.opendaylight.yang.gen.v1.http.org.openroadm.common.amplifier.types.rev191129.$YangModuleInfoImpl
60                     .getInstance(),
61             org.opendaylight.yang.gen.v1.http.org.openroadm.common.attributes.rev200327.$YangModuleInfoImpl
62                     .getInstance(),
63             org.opendaylight.yang.gen.v1.http.org.openroadm.common.equipment.types.rev191129.$YangModuleInfoImpl
64                     .getInstance(),
65             org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev191129.$YangModuleInfoImpl
66                     .getInstance(),
67             org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev191129.$YangModuleInfoImpl
68                     .getInstance(),
69             org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev200529.$YangModuleInfoImpl
70                 .getInstance(),
71             org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.$YangModuleInfoImpl
72                     .getInstance(),
73             org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev200529.$YangModuleInfoImpl.getInstance(),
74             org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.$YangModuleInfoImpl
75                     .getInstance(),
76             org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev191129.$YangModuleInfoImpl.getInstance(),
77             org.opendaylight.yang.gen.v1.http.org.openroadm.layerrate.rev191129.$YangModuleInfoImpl.getInstance(),
78             org.opendaylight.yang.gen.v1.http.org.openroadm.manifest.file.rev200327.$YangModuleInfoImpl.getInstance(),
79             org.opendaylight.yang.gen.v1.http.org.openroadm.network.resource.rev191129.$YangModuleInfoImpl
80                     .getInstance(),
81             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev200327.$YangModuleInfoImpl
82                     .getInstance(),
83             org.opendaylight.yang.gen.v1.http.org.openroadm.pm.rev200529.$YangModuleInfoImpl.getInstance(),
84             org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev200327.$YangModuleInfoImpl.getInstance(),
85             org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.$YangModuleInfoImpl.getInstance(),
86             org.opendaylight.yang.gen.v1.http.org.openroadm.probablecause.rev200529.$YangModuleInfoImpl.getInstance(),
87             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev200529.$YangModuleInfoImpl.getInstance(),
88             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev191129.$YangModuleInfoImpl.getInstance(),
89             org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.$YangModuleInfoImpl.getInstance(),
90             org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev191129.$YangModuleInfoImpl
91                     .getInstance(),
92             org.opendaylight.yang.gen.v1.http.org.openroadm.tca.rev200327.$YangModuleInfoImpl.getInstance(),
93             org.opendaylight.yang.gen.v1.http.org.openroadm.user.mgmt.rev191129.$YangModuleInfoImpl.getInstance(),
94
95             // common models 10.1
96             org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev211210.$YangModuleInfoImpl
97                 .getInstance(),
98             org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev211210.$YangModuleInfoImpl.getInstance(),
99             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev210924.$YangModuleInfoImpl.getInstance(),
100             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev211210.$YangModuleInfoImpl.getInstance(),
101
102             // common models 13.1
103             org.opendaylight.yang.gen.v1.http.org.openroadm.common.attributes.rev210924.$YangModuleInfoImpl
104                 .getInstance(),
105             org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.$YangModuleInfoImpl
106                 .getInstance(),
107             org.opendaylight.yang.gen.v1.http.org.openroadm.common.optical.channel.types.rev230526.$YangModuleInfoImpl
108                 .getInstance(),
109             org.opendaylight.yang.gen.v1.http.org.openroadm.common.phy.codes.rev220527.$YangModuleInfoImpl
110                 .getInstance(),
111             org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev230526.$YangModuleInfoImpl.getInstance(),
112             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.types.rev210924.$YangModuleInfoImpl
113             .getInstance(),
114             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.types.rev220325.$YangModuleInfoImpl.getInstance(),
115             org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev230526.$YangModuleInfoImpl.getInstance(),
116
117             // device models 1.2.1 and 2.2.1
118             org.opendaylight.yang.gen.v1.http.org.openroadm.database.rev161014.$YangModuleInfoImpl.getInstance(),
119             org.opendaylight.yang.gen.v1.http.org.openroadm.database.rev181019.$YangModuleInfoImpl.getInstance(),
120             org.opendaylight.yang.gen.v1.http.org.openroadm.de.device.resource.types.rev161014.$YangModuleInfoImpl
121                     .getInstance(),
122             org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev161014.$YangModuleInfoImpl.getInstance(),
123             org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev181019.$YangModuleInfoImpl.getInstance(),
124             org.opendaylight.yang.gen.v1.http.org.openroadm.de.swdl.rev161014.$YangModuleInfoImpl.getInstance(),
125             org.opendaylight.yang.gen.v1.http.org.openroadm.de.swdl.rev181019.$YangModuleInfoImpl.getInstance(),
126             org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.$YangModuleInfoImpl.getInstance(),
127             org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.$YangModuleInfoImpl.getInstance(),
128             org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev161014.$YangModuleInfoImpl
129                     .getInstance(),
130             org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev181019.$YangModuleInfoImpl
131                     .getInstance(),
132             org.opendaylight.yang.gen.v1.http.org.openroadm.file.transfer.rev161014.$YangModuleInfoImpl.getInstance(),
133             org.opendaylight.yang.gen.v1.http.org.openroadm.file.transfer.rev181019.$YangModuleInfoImpl.getInstance(),
134             org.opendaylight.yang.gen.v1.http.org.openroadm.fwdl.rev161014.$YangModuleInfoImpl.getInstance(),
135             org.opendaylight.yang.gen.v1.http.org.openroadm.fwdl.rev181019.$YangModuleInfoImpl.getInstance(),
136             org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev161014.$YangModuleInfoImpl.getInstance(),
137             org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev170626.$YangModuleInfoImpl.getInstance(),
138             org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev161014.$YangModuleInfoImpl.getInstance(),
139             org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev181019.$YangModuleInfoImpl.getInstance(),
140             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.loopback.rev161014.$YangModuleInfoImpl
141                     .getInstance(),
142             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.loopback.rev171215.$YangModuleInfoImpl
143                     .getInstance(),
144             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.testsignal.rev161014.$YangModuleInfoImpl
145                     .getInstance(),
146             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.testsignal.rev171215.$YangModuleInfoImpl
147                     .getInstance(),
148             org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev181019
149             .$YangModuleInfoImpl.getInstance(),
150             org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev181019
151                     .$YangModuleInfoImpl.getInstance(),
152             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014.$YangModuleInfoImpl
153                     .getInstance(),
154             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev181019.$YangModuleInfoImpl
155                     .getInstance(),
156             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.multiplex.interfaces.rev161014.$YangModuleInfoImpl
157                     .getInstance(),
158             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev161014.$YangModuleInfoImpl
159                     .getInstance(),
160             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev181019.$YangModuleInfoImpl
161                     .getInstance(),
162             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.rev170626.$YangModuleInfoImpl.getInstance(),
163             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev161014.$YangModuleInfoImpl
164                     .getInstance(),
165             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev181019.$YangModuleInfoImpl
166                     .getInstance(),
167             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev161014.$YangModuleInfoImpl
168                     .getInstance(),
169             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev181019.$YangModuleInfoImpl
170                     .getInstance(),
171             org.opendaylight.yang.gen.v1.http.org.openroadm.physical.types.rev161014.$YangModuleInfoImpl.getInstance(),
172             org.opendaylight.yang.gen.v1.http.org.openroadm.physical.types.rev181019.$YangModuleInfoImpl.getInstance(),
173             org.opendaylight.yang.gen.v1.http.org.openroadm.pluggable.optics.holder.capability.rev181019
174             .$YangModuleInfoImpl.getInstance(),
175             org.opendaylight.yang.gen.v1.http.org.openroadm.port.capability.rev181019.$YangModuleInfoImpl.getInstance(),
176             org.opendaylight.yang.gen.v1.http.org.openroadm.prot.otn.linear.aps.rev181019.$YangModuleInfoImpl
177                     .getInstance(),
178             org.opendaylight.yang.gen.v1.http.org.openroadm.rstp.rev161014.$YangModuleInfoImpl.getInstance(),
179             org.opendaylight.yang.gen.v1.http.org.openroadm.rstp.rev181019.$YangModuleInfoImpl.getInstance(),
180             org.opendaylight.yang.gen.v1.http.org.openroadm.syslog.rev161014.$YangModuleInfoImpl.getInstance(),
181             org.opendaylight.yang.gen.v1.http.org.openroadm.syslog.rev171215.$YangModuleInfoImpl.getInstance(),
182             org.opendaylight.yang.gen.v1.http.org.openroadm.wavelength.map.rev161014.$YangModuleInfoImpl.getInstance(),
183             org.opendaylight.yang.gen.v1.http.org.openroadm.wavelength.map.rev171215.$YangModuleInfoImpl.getInstance(),
184
185             // device models 7.1
186             org.opendaylight.yang.gen.v1.http.org.openroadm.database.rev200529.$YangModuleInfoImpl.getInstance(),
187             org.opendaylight.yang.gen.v1.http.org.openroadm.de.operations.rev200529.$YangModuleInfoImpl.getInstance(),
188             org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.$YangModuleInfoImpl.getInstance(),
189             org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.$YangModuleInfoImpl.getInstance(),
190             org.opendaylight.yang.gen.v1.http.org.openroadm.dhcp.rev200529.$YangModuleInfoImpl.getInstance(),
191             org.opendaylight.yang.gen.v1.http.org.openroadm.ethernet.interfaces.rev200529.$YangModuleInfoImpl
192                     .getInstance(),
193             org.opendaylight.yang.gen.v1.http.org.openroadm.file.transfer.rev200529.$YangModuleInfoImpl.getInstance(),
194             org.opendaylight.yang.gen.v1.http.org.openroadm.fwdl.rev200529.$YangModuleInfoImpl.getInstance(),
195             org.opendaylight.yang.gen.v1.http.org.openroadm.gcc.interfaces.rev200529.$YangModuleInfoImpl.getInstance(),
196             org.opendaylight.yang.gen.v1.http.org.openroadm.gnmi.rev200529.$YangModuleInfoImpl.getInstance(),
197             org.opendaylight.yang.gen.v1.http.org.openroadm.ip.rev200529.$YangModuleInfoImpl.getInstance(),
198             org.opendaylight.yang.gen.v1.http.org.openroadm.ipv4.unicast.routing.rev200529.$YangModuleInfoImpl
199                     .getInstance(),
200             org.opendaylight.yang.gen.v1.http.org.openroadm.ipv6.unicast.routing.rev200529.$YangModuleInfoImpl
201                     .getInstance(),
202             org.opendaylight.yang.gen.v1.http.org.openroadm.key.chain.rev191129.$YangModuleInfoImpl.getInstance(),
203             org.opendaylight.yang.gen.v1.http.org.openroadm.lldp.rev200529.$YangModuleInfoImpl.getInstance(),
204             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.loopback.rev191129.$YangModuleInfoImpl
205                     .getInstance(),
206             org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.testsignal.rev200529.$YangModuleInfoImpl
207                     .getInstance(),
208             org.opendaylight.yang.gen.v1.http.org.openroadm.media.channel.interfaces.rev200529.$YangModuleInfoImpl
209                     .getInstance(),
210             org.opendaylight.yang.gen.v1.http.org.openroadm.network.media.channel.interfaces.rev200529
211                     .$YangModuleInfoImpl.getInstance(),
212             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev200529.$YangModuleInfoImpl
213                     .getInstance(),
214             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.operational.interfaces.rev200529.$YangModuleInfoImpl
215                     .getInstance(),
216             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces.rev200529.$YangModuleInfoImpl
217                     .getInstance(),
218             org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.tributary.signal.interfaces.rev200529
219                     .$YangModuleInfoImpl.getInstance(),
220             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.common.rev200327.$YangModuleInfoImpl.getInstance(),
221             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev200529.$YangModuleInfoImpl
222                     .getInstance(),
223             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev200529.$YangModuleInfoImpl
224                     .getInstance(),
225             org.opendaylight.yang.gen.v1.http.org.openroadm.otsi.group.interfaces.rev200529.$YangModuleInfoImpl
226                     .getInstance(),
227             org.opendaylight.yang.gen.v1.http.org.openroadm.physical.types.rev191129.$YangModuleInfoImpl.getInstance(),
228             org.opendaylight.yang.gen.v1.http.org.openroadm.pluggable.optics.holder.capability.rev200529
229                     .$YangModuleInfoImpl.getInstance(),
230             org.opendaylight.yang.gen.v1.http.org.openroadm.port.capability.rev200529.$YangModuleInfoImpl.getInstance(),
231             org.opendaylight.yang.gen.v1.http.org.openroadm.ppp.interfaces.rev200529.$YangModuleInfoImpl.getInstance(),
232             org.opendaylight.yang.gen.v1.http.org.openroadm.prot.otn.linear.aps.rev200529.$YangModuleInfoImpl
233                     .getInstance(),
234             org.opendaylight.yang.gen.v1.http.org.openroadm.routing.rev200529.$YangModuleInfoImpl.getInstance(),
235             org.opendaylight.yang.gen.v1.http.org.openroadm.rstp.rev200529.$YangModuleInfoImpl.getInstance(),
236             org.opendaylight.yang.gen.v1.http.org.openroadm.security.rev200529.$YangModuleInfoImpl.getInstance(),
237             org.opendaylight.yang.gen.v1.http.org.openroadm.de.swdl.rev200529.$YangModuleInfoImpl.getInstance(),
238             org.opendaylight.yang.gen.v1.http.org.openroadm.syslog.rev191129.$YangModuleInfoImpl.getInstance(),
239             org.opendaylight.yang.gen.v1.http.org.openroadm.telemetry.types.rev191129.$YangModuleInfoImpl.getInstance(),
240             org.opendaylight.yang.gen.v1.http.org.openroadm.wavelength.map.rev191129.$YangModuleInfoImpl.getInstance(),
241
242             // network models
243             org.opendaylight.yang.gen.v1.http.org.openroadm.amplifier.rev210924.$YangModuleInfoImpl.getInstance(),
244             org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev191129.$YangModuleInfoImpl.getInstance(),
245             org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev211210.$YangModuleInfoImpl.getInstance(),
246             org.opendaylight.yang.gen.v1.http.org.openroadm.degree.rev211210.$YangModuleInfoImpl.getInstance(),
247             org.opendaylight.yang.gen.v1.http.org.openroadm.external.pluggable.rev211210.$YangModuleInfoImpl
248                     .getInstance(),
249             org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev211210.$YangModuleInfoImpl.getInstance(),
250             org.opendaylight.yang.gen.v1.http.org.openroadm.network.rev211210.$YangModuleInfoImpl.getInstance(),
251             org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.$YangModuleInfoImpl
252                     .getInstance(),
253             org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.$YangModuleInfoImpl.getInstance(),
254             org.opendaylight.yang.gen.v1.http.org.openroadm.otn.network.topology.rev211210.$YangModuleInfoImpl
255                     .getInstance(),
256             org.opendaylight.yang.gen.v1.http.org.openroadm.roadm.rev191129.$YangModuleInfoImpl.getInstance(),
257             org.opendaylight.yang.gen.v1.http.org.openroadm.srg.rev211210.$YangModuleInfoImpl.getInstance(),
258             org.opendaylight.yang.gen.v1.http.org.openroadm.xponder.rev211210.$YangModuleInfoImpl.getInstance(),
259             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.$YangModuleInfoImpl
260                     .getInstance(),
261             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.$YangModuleInfoImpl
262                     .getInstance(),
263
264             // service models
265             org.opendaylight.yang.gen.v1.http.org.openroadm.ber.test.rev230526.$YangModuleInfoImpl.getInstance(),
266             org.opendaylight.yang.gen.v1.http.org.openroadm.common.ber.test.rev200529.$YangModuleInfoImpl.getInstance(),
267             org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.$YangModuleInfoImpl
268                 .getInstance(),
269             org.opendaylight.yang.gen.v1.http.org.openroadm.controller.customization.rev230526.$YangModuleInfoImpl
270                 .getInstance(),
271             org.opendaylight.yang.gen.v1.http.org.openroadm.operational.mode.catalog.rev230526.$YangModuleInfoImpl
272                 .getInstance(),
273             org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev221209.$YangModuleInfoImpl
274                 .getInstance(),
275             org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.$YangModuleInfoImpl.getInstance(),
276             org.opendaylight.yang.gen.v1.http.org.openroadm.topology.rev230526.$YangModuleInfoImpl.getInstance(),
277
278             // tapi models
279             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.oam.rev181210.$YangModuleInfoImpl.getInstance(),
280             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.$YangModuleInfoImpl.getInstance(),
281             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.odu.rev181210.$YangModuleInfoImpl.getInstance(),
282             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.dsr.rev181210.$YangModuleInfoImpl.getInstance(),
283             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.photonic.media.rev181210.$YangModuleInfoImpl
284                     .getInstance(),
285             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.$YangModuleInfoImpl
286                     .getInstance(),
287             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.path.computation.rev181210.$YangModuleInfoImpl
288                     .getInstance(),
289             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.$YangModuleInfoImpl.getInstance(),
290             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.eth.rev181210.$YangModuleInfoImpl.getInstance(),
291             org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.$YangModuleInfoImpl
292                     .getInstance(),
293
294             // API models / opendaylight
295             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.alarmsuppression.rev171102
296             .$YangModuleInfoImpl.getInstance(),
297             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.$YangModuleInfoImpl
298                     .getInstance(),
299             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.$YangModuleInfoImpl
300                     .getInstance(),
301             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.$YangModuleInfoImpl
302                     .getInstance(),
303             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.$YangModuleInfoImpl
304                     .getInstance(),
305             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408
306                     .$YangModuleInfoImpl.getInstance(),
307             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev211004
308                     .$YangModuleInfoImpl.getInstance(),
309             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116
310                     .$YangModuleInfoImpl.getInstance(),
311             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.$YangModuleInfoImpl
312                     .getInstance(),
313             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.$YangModuleInfoImpl
314                     .getInstance(),
315             org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.$YangModuleInfoImpl.getInstance(),
316             org.opendaylight.yang.gen.v1.gnpy.gnpy.api.rev220221.$YangModuleInfoImpl.getInstance(),
317             org.opendaylight.yang.gen.v1.gnpy.gnpy.eqpt.config.rev220221.$YangModuleInfoImpl.getInstance(),
318             org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev220615.$YangModuleInfoImpl.getInstance(),
319             org.opendaylight.yang.gen.v1.gnpy.path.rev220615.$YangModuleInfoImpl.getInstance(),
320             org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922
321                     .$YangModuleInfoImpl.getInstance(),
322             org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.pathdescription.rev230501
323                     .$YangModuleInfoImpl.getInstance(),
324             org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118
325                     .$YangModuleInfoImpl.getInstance(),
326             org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.$YangModuleInfoImpl
327                     .getInstance(),
328
329             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.$YangModuleInfoImpl
330                 .getInstance(),
331             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana.afn.safi.rev130704.$YangModuleInfoImpl
332                     .getInstance(),
333             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.$YangModuleInfoImpl
334                     .getInstance(),
335             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.$YangModuleInfoImpl
336                     .getInstance(),
337             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.$YangModuleInfoImpl
338                     .getInstance(),
339             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.$YangModuleInfoImpl
340                     .getInstance(),
341             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004
342                      .$YangModuleInfoImpl.getInstance(),
343             org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206
344                      .$YangModuleInfoImpl.getInstance(),
345             org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev180928.$YangModuleInfoImpl
346                     .getInstance(),
347             org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.$YangModuleInfoImpl
348                     .getInstance());
349
350     private static final Set<YangModuleInfo> TPCE_YANG_MODEL = Stream.concat(
351             Stream.concat(
352                     RestConfConfigUtils.YANG_MODELS.stream(),
353                     NetconfConfigUtils.NETCONF_TOPOLOGY_MODELS.stream())
354             .collect(Collectors.toSet()).stream(),
355             TPCE_MODELS.stream()).collect(Collectors.toSet());
356
357     public static Set<YangModuleInfo> getYangModels() {
358         return TPCE_YANG_MODEL;
359     }
360
361     private TPCEUtils() {
362         throw new UnsupportedOperationException("Please do not instantiate utility class.");
363     }
364
365 }