Add to_directory method to relevant object classes
[oam.git] / code / network-topology-instance-generator / model / python / tapi_node_o_ru.py
1 # Copyright 2022 highstreet technologies GmbH
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 #!/usr/bin/python
16 """
17 Module containing a class representing an O-RAN Radio Unit as TAPI Node.
18 """
19 from model.python.tapi_node import TapiNode
20 from model.python.tapi_node_edge_point import TapiNodeEdgePoint
21
22
23 class TapiNodeORu(TapiNode):
24     """
25     Class representing an O-RAN Radio Unit as TAPI Node.
26     """
27
28     # constructor
29     def __init__(self, parent, config):
30         super().__init__(parent, config)
31
32         super().width( (1 + 1) * (2*self.FONTSIZE) ) # 1x nep
33
34         # add OpenFronthaul Management Plane/OAM NetConf Provider interface
35         nep_configuration = {
36             "parent": self.identifier(),
37             "nodeEdgePoint": {
38                 "interface": "ofh", "cep":[{"protocol": "NETCONF", "role": "provider"}]
39             }
40         }
41         self.add(TapiNodeEdgePoint(nep_configuration))
42
43         # add air provider interface
44         nep_configuration = {
45             "parent": self.identifier(),
46             "nodeEdgePoint": {
47                 "interface": "uu", "cep":[{"protocol": "radio", "role": "provider"}]
48             }
49         }
50         self.add(TapiNodeEdgePoint(nep_configuration))