def get_library_task_classes(library_task_dsl=None): """Get Task Library deployment classes""" task_library_item = None if not library_task_dsl: return [] tl_module = get_module_from_file("calm.dsl.library_task", library_task_dsl) for item in dir(tl_module): obj = getattr(tl_module, item) if isinstance(obj, type(TaskType)): if type(obj) == (TaskType): task_library_item = obj return task_library_item
def get_brownfield_deployment_classes(brownfield_deployment_file=None): """Get brownfield deployment classes""" bf_deployments = [] if not brownfield_deployment_file: return [] bd_module = get_module_from_file("calm.dsl.brownfield_deployment", brownfield_deployment_file) for item in dir(bd_module): obj = getattr(bd_module, item) if isinstance(obj, type(BF.Deployment)): if obj.__bases__[0] == (BF.Deployment): bf_deployments.append(obj) return bf_deployments
def get_endpoint_module_from_file(endpoint_file): """Return Endpoint module given a user endpoint dsl file (.py)""" return get_module_from_file("calm.dsl.user_endpoint", endpoint_file)
def get_blueprint_module_from_file(bp_file): """Returns Blueprint module given a user blueprint dsl file (.py)""" return get_module_from_file("calm.dsl.user_bp", bp_file)
def get_metadata_module_from_file(dsl_file): """Returns module given a file (.py)""" return get_module_from_file("calm.dsl.user_metadata", dsl_file)
def get_runbook_module_from_file(runbook_file): """Return Runbook module given a user runbook dsl file (.py)""" return get_module_from_file("calm.dsl.user_runbook", runbook_file)
def get_environment_module_from_file(env_file): """Returns Environment module given a user environment dsl file (.py)""" return get_module_from_file("calm.dsl.user_environment", env_file)
def get_project_module_from_file(project_file): """Returns Project module given a user project dsl file (.py)""" return get_module_from_file("calm.dsl.user_project", project_file)
def import_var_from_file(file, var, default_value=None): try: module = get_module_from_file(var, file) return getattr(module, var) except: # NoQA return default_value