d458ed1d1f08489d9dd83ea7095a27734980a6c4
[oam.git] / code / network-topology-instance-generator / model / python / tapi_node_o_du.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 Distributed 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 TapiNodeODu(TapiNode):
24     """
25     Class representing a O-RAN Distributed Unit as TAPI Node.
26     """
27     # constructor
28
29     def __init__(self, parent, config):
30         super().__init__(parent, config)
31
32         # add E2 Provider interface
33         nep_configuration = {
34             "parent": self.identifier(),
35             "nodeEdgePoint": {
36                 "interface": "e2", "cep":[{"protocol": "REST", "role": "provider"}]
37             }
38         }
39         self.add(TapiNodeEdgePoint(nep_configuration))
40
41         # add O1/OAM NetConf Provider interface
42         nep_configuration = {
43             "parent": self.identifier(),
44             "nodeEdgePoint": {
45                 "interface": "o1", "cep": [
46                     {"protocol": "NETCONF", "role": "provider"},
47                     {"protocol": "VES", "role": "consumer"},
48                     {"protocol": "FILE", "role": "provider"}
49                 ]
50             }
51         }
52         self.add(TapiNodeEdgePoint(nep_configuration))
53
54         # add F1 CP Provider interface
55         nep_configuration = {
56             "parent": self.identifier(),
57             "nodeEdgePoint": {
58                 "interface": "f1", "cep":[{"protocol": "unknown", "role": "provider"}]
59             }
60         }
61         self.add(TapiNodeEdgePoint(nep_configuration))
62
63         # add OpenFronthaul Consumer interface
64         nep_configuration = {
65             "parent": self.identifier(),
66             "nodeEdgePoint": {
67                 "interface": "ofh", "cep":[{"protocol": "netconf", "role": "consumer"}]
68             }
69         }
70         self.add(TapiNodeEdgePoint(nep_configuration))