Add to_directory method to relevant object classes
[oam.git] / code / network-topology-instance-generator / controller / network_generator.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 the Generator class.
18 """
19 from model.python.tapi_common_context import TapiCommonContext
20
21 class TopologyGenerator:
22     """
23     Class containing all methods to generate a TAPI topology.
24     The generation process is influenced by a configuration in json format.
25     """
26
27     __configuration: dict = {}
28
29     # constructor
30     def __init__(self, configuration: dict):
31         self.__configuration = configuration
32
33     # getters
34     def configuration(self) -> dict:
35         """
36         Getter returning the object configuration
37         :return A TopologyGenerator configuration
38         """
39         return self.__configuration
40
41     # returns a JSON serializable object
42     def generate(self) -> TapiCommonContext:
43         """
44         Method to start the generation process.
45         :return The TapiCommonContext object.
46         """
47         return TapiCommonContext(self.configuration())