from onapsdk.configuration import settings from onapsdk.sdc.vendor import Vendor from ..base import BaseStep class VendorOnboardStep(BaseStep): """Vendor onboard step.""" def __init__(self): """Initialize step.""" super().__init__(cleanup=settings.CLEANUP_FLAG) @property def description(self) -> str: """Step description.""" return "Onboard vendor in SDC." @property def component(self) -> str: """Component name.""" return "SDC" def check_preconditions(self, cleanup=False) -> bool: if not super().check_preconditions(cleanup): return False if cleanup: return settings.SDC_CLEANUP return True @BaseStep.store_state def execute(self): """Onboard vendor. Use settings values: - VENDOR_NAME. """ super().execute() vendor: Vendor = Vendor(name=settings.VENDOR_NAME) vendor.onboard() @BaseStep.store_state(cleanup=True) def cleanup(self) -> None: vendor: Vendor = Vendor(name=settings.VENDOR_NAME) if vendor.exists(): vendor.archive() vendor.delete() super().cleanup()