Add to_directory method to relevant object classes
[oam.git] / code / network-topology-instance-generator / model / python / tapi_node_amf.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 3GPP 5G-Core Access and Mobility
18 Management Function as TAPI Node.
19 """
20 from model.python.tapi_node import TapiNode
21 from model.python.tapi_node_edge_point import TapiNodeEdgePoint
22
23
24 class TapiNodeAmf(TapiNode):
25     """
26     Class representing a 3GPP 5G-Core Access and Mobility Management Function
27     as TAPI Node.
28     """
29
30     # constructor
31     def __init__(self, parent, config):
32         super().__init__(parent, config)
33
34         super().width( (1 + 1) * (2*self.FONTSIZE) ) # 1x nep
35
36         # add OpenFronthaul Management Plane/OAM NetConf Provider interface
37         nep_configuration = {
38             "parent": self.identifier(),
39             "nodeEdgePoint": {
40                 "interface": "N1", "cep":[{"protocol": "NAS", "role": "provider"}]
41             }
42         }
43         self.add(TapiNodeEdgePoint(nep_configuration))
44
45         # add air provider interface
46         nep_configuration = {
47             "parent": self.identifier(),
48             "nodeEdgePoint": {
49                 "interface": "N2", "cep":[{"protocol": "NAS", "role": "provider"}]
50             }
51         }
52         self.add(TapiNodeEdgePoint(nep_configuration))