def METHOD_NAME(self, data, parent_data):
    executor = parent_data.get_one_of_inputs("executor")
    client = get_client_by_user(executor)
    if parent_data.get_one_of_inputs("language"):
        setattr(client, "language", parent_data.get_one_of_inputs("language"))
        translation.activate(parent_data.get_one_of_inputs("language"))
    biz_cc_id = data.get_one_of_inputs("biz_cc_id", parent_data.inputs.biz_cc_id)
    cc_module_select_method = data.get_one_of_inputs("cc_module_select_method")
    supplier_account = supplier_account_for_business(biz_cc_id)
    kwargs = {"bk_biz_id": biz_cc_id, "bk_supplier_account": supplier_account}
    tree_data = client.cc.search_biz_inst_topo(kwargs)
    if not tree_data["result"]:
        message = cc_handle_api_error("cc.search_biz_inst_topo", kwargs, tree_data)
        self.logger.error(message)
        data.set_outputs("ex_data", message)
        return False
    if cc_module_select_method == SelectMethod.TOPO.value:
        module_list = data.get_one_of_inputs("cc_module_select_topo")
        # 过滤掉set的情况
        module_list = list(filter(lambda x: x.startswith("module"), module_list))
        cc_module_select = cc_format_tree_mode_id(module_list)
    elif cc_module_select_method == SelectMethod.TEXT.value:
        cc_module_select_text = data.get_one_of_inputs("cc_module_select_text")
        cc_list_select_node_inst_id_return = cc_list_select_node_inst_id(
            executor, biz_cc_id, supplier_account, BkObjType.MODULE, cc_module_select_text
        )
        if not cc_list_select_node_inst_id_return["result"]:
            data.set_outputs("ex_data", cc_list_select_node_inst_id_return["message"])
            return False
        cc_module_select = cc_list_select_node_inst_id_return["data"]
    else:
        data.set_outputs("ex_data", _("请选择模块填参方式"))
        return False
    cc_module_property = data.get_one_of_inputs("cc_module_property")
    if cc_module_property == "bk_module_type":
        bk_module_type = cc_format_prop_data(
            executor, "module", "bk_module_type", parent_data.get_one_of_inputs("language"), supplier_account
        )
        if not bk_module_type["result"]:
            data.set_outputs("ex_data", bk_module_type["message"])
            return False
        cc_module_prop_value = bk_module_type["data"].get(data.get_one_of_inputs("cc_module_prop_value"))
        if not cc_module_prop_value:
            data.set_outputs("ex_data", _("模块类型校验失败，请重试并填写正确的模块类型"))
            return False
    else:
        cc_module_prop_value = data.get_one_of_inputs("cc_module_prop_value")
    for module_id in cc_module_select:
        cc_kwargs = {
            "bk_biz_id": biz_cc_id,
            "bk_supplier_account": supplier_account,
            "bk_set_id": get_module_set_id(tree_data["data"], module_id),
            "bk_module_id": module_id,
            "data": {cc_module_property: cc_module_prop_value},
        }
        cc_result = client.cc.update_module(cc_kwargs)
        if not cc_result["result"]:
            message = cc_handle_api_error("cc.update_module", cc_kwargs, cc_result)
            self.logger.error(message)
            data.set_outputs("ex_data", message)
            return False
    return True