Files
test/config/deployment_assets/objects/deployment_assets_config.py
croy 0bd0cae444 Setting up deployemtn assets config
Change-Id: I36a00d867a6f38f3e5ce29a09c5742e0150d248e
Signed-off-by: croy <Christian.Roy@windriver.com>
2025-04-07 10:33:19 -04:00

51 lines
1.6 KiB
Python

import json5
from config.deployment_assets.objects.deployment_assets import DeploymentAssets
class DeploymentAssetsConfig:
"""
Class to hold configuration for Deployment Assets
"""
def __init__(self, config):
try:
json_data = open(config)
except FileNotFoundError:
print(f"Could not find the Deployment Assets config file: {config}")
raise
deployment_assets_dict = json5.load(json_data)
self.controller_deployment_assets = DeploymentAssets(deployment_assets_dict["controller"])
self.subclouds_deployment_assets = {}
if "subclouds" in deployment_assets_dict:
subclouds_dict = deployment_assets_dict["subclouds"]
for subcloud_name in subclouds_dict.keys():
self.subclouds_deployment_assets[subcloud_name] = DeploymentAssets(subclouds_dict[subcloud_name])
def get_controller_deployment_assets(self) -> DeploymentAssets:
"""
Getter for the controller deployment assets
Returns:
DeploymentAssets:
"""
return self.controller_deployment_assets
def get_subcloud_deployment_assets(self, subcloud_name: str) -> DeploymentAssets:
"""
Getter for the deployment assets associated with the specified subcloud.
Args:
subcloud_name (str): Name of the subcloud.
Returns:
DeploymentAssets:
"""
if subcloud_name not in self.subclouds_deployment_assets:
raise Exception(f"There is no DeploymentAssets configuration set for {subcloud_name}")
return self.subclouds_deployment_assets[subcloud_name]