def update_workflows(definition, scope='private', identifier=None, namespace='', validate=True): LOG.debug("Updating workflows...") wf_list_spec = spec_parser.get_workflow_list_spec_from_yaml( definition, validate=services.is_validation_enabled(validate)) wfs = wf_list_spec.get_workflows() if identifier and len(wfs) > 1: raise exc.InputException( "More than one workflows are not supported for " "update with identifier. [identifier: %s]" % identifier) db_wfs = [] wfs_yaml = safe_yaml.load(definition) if len(wfs) != 1 else None with db_api.transaction(): for wf_spec in wfs: if len(wfs) != 1: definition = _cut_wf_definition_from_all( wfs_yaml, wf_spec.get_name()) db_wfs.append( _update_workflow(wf_spec, definition, scope, namespace=namespace, identifier=identifier)) return db_wfs
def update_workbook_v2(definition, namespace='', scope='private', validate=True): wb_spec = spec_parser.get_workbook_spec_from_yaml( definition, validate=services.is_validation_enabled(validate)) values = _get_workbook_values(wb_spec, definition, scope, namespace) with db_api_v2.transaction(): wb_db = db_api_v2.update_workbook(values['name'], values) _, db_wfs = _on_workbook_update(wb_db, wb_spec, namespace) return wb_db
def create_workflows(definition, scope='private', is_system=False, run_in_tx=True, namespace='', validate=True): LOG.debug("Creating workflows...") wf_list_spec = spec_parser.get_workflow_list_spec_from_yaml( definition, validate=services.is_validation_enabled(validate)) db_wfs = [] if run_in_tx: with db_api.transaction(): _append_all_workflows(definition, is_system, scope, namespace, wf_list_spec, db_wfs) else: _append_all_workflows(definition, is_system, scope, namespace, wf_list_spec, db_wfs) return db_wfs