linting ...
[oam.git] / code / network-generator / network_generation / model / python / type_definitions.py
1 # Copyright 2023 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 """
18 A collection of TypeDefinitions
19 """
20 from enum import Enum
21 from typing import TypedDict
22
23 from network_generation.model.python.countries import Country
24
25 # from typing import Any, TypedDict, TypeVar
26
27
28 # from network_generation.model.python.o_ran_node import IORanNode
29 # from network_generation.model.python.o_ran_object import IORanObject
30 # from network_generation.model.python.top import ITop
31
32 # Generic Types based on inheritance
33 # IORanType = TypeVar("IORanType", ITop, IORanObject, IORanNode)
34
35
36 # Define AdministrativeState enum
37 class AdministrativeState(Enum):
38     LOCKED = "locked"
39     UNLOCKED = "unlocked"
40     SHUTTING_DOWN = "shutting down"
41
42
43 # Define AlarmState type
44 AlarmState = int
45
46
47 # Define Address type
48 class AddressType(TypedDict):
49     street: str
50     building: str
51     room: str
52     city: str
53     zip: str
54     state: str
55     country: Country
56
57
58 # Define OperationalState enum
59 class OperationalState(Enum):
60     ENABLED = "enabled"
61     DISABLED = "disabled"
62
63
64 # Define LifeCycleState enum
65 class LifeCycleState(Enum):
66     PLANNED = "planned"
67     ORDERED = "ordered"
68     INSTALLED = "installed"
69     COMMISSIONED = "commissioned"
70     TO_BE_DESTROYED = "to be destroyed"
71     DESTROYED = "destroyed"
72
73
74 # Define UsageState enum
75 class UsageState(Enum):
76     USED = "used"
77     UNUSED = "unused"
78
79
80 Utilization = int