aboutsummaryrefslogtreecommitdiffstats
path: root/src/onapsdk/vid
diff options
context:
space:
mode:
authorMichal Jagiello <michal.jagiello@t-mobile.pl>2022-10-17 12:46:49 +0000
committerMichal Jagiello <michal.jagiello@t-mobile.pl>2022-10-17 14:05:09 +0000
commitf2adf542e878c96895210f97ebf1ebb763b2f465 (patch)
tree91fc0faeb3436e723d07aed1f38ce59a6e7cc7c5 /src/onapsdk/vid
parent49071a0d0425ef67fa552dbf14c81e5a11cc49e7 (diff)
Release ONAP SDKv10.2
Issue-ID: INT-2150 Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl> Change-Id: I650047c599a5aae6de7c6b42d38e34aea88578e2
Diffstat (limited to 'src/onapsdk/vid')
-rw-r--r--src/onapsdk/vid/__init__.py16
-rw-r--r--src/onapsdk/vid/templates/vid_declare_resource.json.j23
-rw-r--r--src/onapsdk/vid/vid.py134
3 files changed, 153 insertions, 0 deletions
diff --git a/src/onapsdk/vid/__init__.py b/src/onapsdk/vid/__init__.py
new file mode 100644
index 0000000..fd58581
--- /dev/null
+++ b/src/onapsdk/vid/__init__.py
@@ -0,0 +1,16 @@
+"""VID package."""
+# Copyright 2022 Orange, Deutsche Telekom AG
+#
+# 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.
+
+from .vid import LineOfBusiness, OwningEntity, Platform, Project, Vid
diff --git a/src/onapsdk/vid/templates/vid_declare_resource.json.j2 b/src/onapsdk/vid/templates/vid_declare_resource.json.j2
new file mode 100644
index 0000000..b14e6f4
--- /dev/null
+++ b/src/onapsdk/vid/templates/vid_declare_resource.json.j2
@@ -0,0 +1,3 @@
+{
+ "options": ["{{ name }}"]
+} \ No newline at end of file
diff --git a/src/onapsdk/vid/vid.py b/src/onapsdk/vid/vid.py
new file mode 100644
index 0000000..31cb92e
--- /dev/null
+++ b/src/onapsdk/vid/vid.py
@@ -0,0 +1,134 @@
+"""VID module."""
+# Copyright 2022 Orange, Deutsche Telekom AG
+#
+# 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.
+from abc import ABC
+from warnings import warn
+
+from onapsdk.configuration import settings
+from onapsdk.onap_service import OnapService
+from onapsdk.utils.jinja import jinja_env
+
+
+class Vid(OnapService, ABC):
+ """VID base class."""
+
+ base_url = settings.VID_URL
+ api_version = settings.VID_API_VERSION
+
+ def __init__(self, name: str) -> None:
+ """VID resource object initialization.
+
+ Args:
+ name (str): Resource name
+ """
+ warn("VID is deprecated and shouldn't be used! "
+ "It's not a part of the ONAP release since Istanbul.")
+ super().__init__()
+ self.name: str = name
+
+ @classmethod
+ def get_create_url(cls) -> str:
+ """Resource url.
+
+ Used to create resources
+
+ Returns:
+ str: Url used for resource creation
+
+ """
+ raise NotImplementedError
+
+ @classmethod
+ def create(cls, name: str) -> "Vid":
+ """Create VID resource.
+
+ Returns:
+ Vid: Created VID resource
+
+ """
+ warn("VID is deprecated and shouldn't be used! "
+ "It's not a part of the ONAP release since Istanbul.")
+ cls.send_message(
+ "POST",
+ f"Declare VID resource with {name} name",
+ cls.get_create_url(),
+ data=jinja_env().get_template("vid_declare_resource.json.j2").render(
+ name=name
+ )
+ )
+ return cls(name)
+
+
+class OwningEntity(Vid):
+ """VID owning entity class."""
+
+ @classmethod
+ def get_create_url(cls) -> str:
+ """Owning entity creation url.
+
+ Returns:
+ str: Url used for ownint entity creation
+
+ """
+ warn("VID is deprecated and shouldn't be used! "
+ "It's not a part of the ONAP release since Istanbul.")
+ return f"{cls.base_url}{cls.api_version}/maintenance/category_parameter/owningEntity"
+
+
+class Project(Vid):
+ """VID project class."""
+
+ @classmethod
+ def get_create_url(cls) -> str:
+ """Project creation url.
+
+ Returns:
+ str: Url used for project creation
+
+ """
+ warn("VID is deprecated and shouldn't be used! "
+ "It's not a part of the ONAP release since Istanbul.")
+ return f"{cls.base_url}{cls.api_version}/maintenance/category_parameter/project"
+
+
+class LineOfBusiness(Vid):
+ """VID line of business class."""
+
+ @classmethod
+ def get_create_url(cls) -> str:
+ """Line of business creation url.
+
+ Returns:
+ str: Url used for line of business creation
+
+ """
+ warn("VID is deprecated and shouldn't be used! "
+ "It's not a part of the ONAP release since Istanbul.")
+ return f"{cls.base_url}{cls.api_version}/maintenance/category_parameter/lineOfBusiness"
+
+
+class Platform(Vid):
+ """VID platform class."""
+
+ @classmethod
+ def get_create_url(cls) -> str:
+ """Platform creation url.
+
+ Returns:
+ str: Url used for platform creation
+
+ """
+ warn("VID is deprecated and shouldn't be used! "
+ "It's not a part of the ONAP release since Istanbul.")
+ return f"{cls.base_url}{cls.api_version}/maintenance/category_parameter/platform"