From: Martin Skorupski Date: Tue, 10 Oct 2023 14:17:28 +0000 (+0200) Subject: Create a collection of type-definitions X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=1cf0180d0af5ba3d29661ef752f1fcbf3740b004;p=oam.git Create a collection of type-definitions - TypeDefinitions.py added to app model Issue-ID: OAM-355 Change-Id: Ifeb67b5f9b046bf79c3284d990e48152906e5a16 Signed-off-by: Martin Skorupski --- diff --git a/code/network-generator/model/python/TypeDefinitions.py b/code/network-generator/model/python/TypeDefinitions.py new file mode 100644 index 0000000..8cc135c --- /dev/null +++ b/code/network-generator/model/python/TypeDefinitions.py @@ -0,0 +1,76 @@ +# Copyright 2023 highstreet technologies GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#!/usr/bin/python + +""" +A collection of TypeDefinitions +""" +from enum import Enum +from model.python.Countries import Country + +# Define AdministrativeState enum +class AdministrativeState(Enum): + LOCKED = 'locked' + UNLOCKED = 'unlocked' + SHUTTING_DOWN = 'shutting down' + +# Define AlarmState type +AlarmState = int + +# Define Address type +AddressType = { + "street": str, + "building": str, + "room": str, + "city": str, + "zip": str, + "state": str, + "country": Country +} + +# Define OperationalState enum +class OperationalState(Enum): + ENABLED = 'enabled' + DISABLED = 'disabled' + +# Define LifeCycleState enum +class LifeCycleState(Enum): + PLANNED = 'planned' + ORDERED = 'ordered' + INSTALLED = 'installed' + COMMISSIONED = 'commissioned' + TO_BE_DESTROYED = 'to be destroyed' + DESTROYED = 'destroyed' + +# Define UsageState enum +class UsageState(Enum): + USED = 'used' + UNUSED = 'unused' + +# Define Enumerate type +def Enumerate(N, Acc=None): + if Acc is None: + Acc = [] + if len(Acc) == N: + return Acc[-1] + return Enumerate(N, Acc + [len(Acc)]) + +# Define Range type +def Range(F, T): + return [i for i in range(F, T + 1)] + +# Define Procent and Utilization types +Procent = Range(0, 100) +Utilization = Procent