feature: helm charts repos with certs
[osm/N2VC.git] / n2vc / utils.py
index 6e0f2c0..a661e05 100644 (file)
@@ -22,6 +22,7 @@ from juju.application import Application
 from juju.action import Action
 from juju.unit import Unit
 from n2vc.exceptions import N2VCInvalidCertificate
+from typing import Tuple
 
 
 def base64_to_cacert(b64string):
@@ -33,7 +34,11 @@ def base64_to_cacert(b64string):
     try:
         cacert = base64.b64decode(b64string).decode("utf-8")
 
-        cacert = re.sub(r"\\n", r"\n", cacert,)
+        cacert = re.sub(
+            r"\\n",
+            r"\n",
+            cacert,
+        )
     except binascii.Error as e:
         raise N2VCInvalidCertificate(message="Invalid CA Certificate: {}".format(e))
 
@@ -114,14 +119,6 @@ JujuStatusToOSM = {
     },
 }
 
-DB_DATA = Dict(
-    {
-        "api_endpoints": Dict(
-            {"table": "admin", "filter": {"_id": "juju"}, "key": "api_endpoints"}
-        )
-    }
-)
-
 
 def obj_to_yaml(obj: object) -> str:
     """
@@ -151,3 +148,18 @@ def obj_to_dict(obj: object) -> dict:
     yaml_text = obj_to_yaml(obj)
     # parse to dict
     return yaml.load(yaml_text, Loader=yaml.Loader)
+
+
+def get_ee_id_components(ee_id: str) -> Tuple[str, str, str]:
+    """
+    Get model, application and machine components from an execution environment id
+    :param ee_id:
+    :return: model_name, application_name, machine_id
+    """
+    parts = ee_id.split(".")
+    if len(parts) != 3:
+        raise Exception("invalid ee id.")
+    model_name = parts[0]
+    application_name = parts[1]
+    machine_id = parts[2]
+    return model_name, application_name, machine_id