Add to_directory method to relevant object classes
[oam.git] / code / network-topology-instance-generator / model / python / tapi_node_near_rt_ric.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 a Near RT RIC 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 TapiNodeNearRtRic(TapiNode):
24     """
25     Class representing a Near RT RIC as TAPI Node.
26     """
27
28     # constructor
29     def __init__(self, parent, config):
30         super().__init__(parent, config)
31         # add A1 provider interface
32         nep_configuration = {
33             "parent": self.identifier(),
34             "nodeEdgePoint": {
35                 "interface": "a1", "cep": [{"protocol": "REST", "role": "provider"}]
36             }
37         }
38         self.add(TapiNodeEdgePoint(nep_configuration))
39
40         # add E2 Consumer interface
41         nep_configuration = {
42             "parent": self.identifier(),
43             "nodeEdgePoint": {
44                 "interface": "e2", "cep": [{"protocol": "REST", "role": "consumer"}]
45             }
46         }
47         self.add(TapiNodeEdgePoint(nep_configuration))
48
49         # add O1/OAM NetConf Provider interface
50         nep_configuration = {
51             "parent": self.identifier(),
52             "nodeEdgePoint": {
53                 "interface": "o1", "cep": [
54                     {"protocol": "NETCONF", "role": "provider"},
55                     {"protocol": "VES", "role": "consumer"},
56                     {"protocol": "FILE", "role": "provider"}
57                 ]
58             }
59         }
60         self.add(TapiNodeEdgePoint(nep_configuration))