def useDefaultAttr(self, plugin_id, build_version, tag): metaTypeList = plugin_svc.get_service_meta_type(plugin_id, build_version) logger.debug("plugin.relation", "metatype List is {}".format(len(metaTypeList))) attrsList = [] for meta_info in metaTypeList: attr_list = plugin_svc.get_env_attr_by_service_meta_type( plugin_id=plugin_id, build_version=build_version, service_meta_type=meta_info.service_meta_type) logger.debug("plugin.relation", "attr_list is {}".format(len(attr_list))) configList = [] for attrItem in attr_list: config = {} config["attr_name"]= attrItem.attr_name config["attr_type"]= attrItem.attr_type config["attr_default_value"]= attrItem.attr_default_value #TODO: 可选参数 alternative config["attr_alt_value"] = attrItem.attr_alt_value config["is_change"]= attrItem.is_change config["attr_default_value"] = attrItem.attr_default_value config["attr_value"] = attrItem.attr_default_value config["attr_info"] = attrItem.attr_info configList.append(config) logger.debug("plugin.relation", "configList is {}".format(configList)) pieceList = plugin_svc.getMetaBaseInfo( self.tenant.tenant_id, self.service.service_id, self.serviceAlias, plugin_id, build_version, meta_info, configList, tag) logger.debug("plugin.relation", "pieceList is {}".format(pieceList)) attrsList.extend(pieceList) logger.debug("plugin.relation", "attrsList is {}".format(attrsList)) return attrsList
def get(self, request, plugin_id, build_version, *args, **kwargs): # wordpress 依赖 mysql try: wordpress_alias = "wordpress_alias" mysql_alias = "mysql_alias" wp_ports = [80, 8081] mysql_port = [3306] wp_id = "wp_service_id" mysql_id = "mysql_service_id" config_groups = plugin_svc.get_service_meta_type( plugin_id, build_version) all_config_group = [] base_ports = [] base_services = [] base_normal = {} for config_group in config_groups: # get options config_items = plugin_svc.get_env_attr_by_service_meta_type( plugin_id, build_version, config_group.service_meta_type) items = [] for item in config_items: item_map = {} item_map[item.attr_name] = item.attr_default_value items.append(item_map) if config_group.service_meta_type == ConstKey.UPSTREAM_PORT: for port in wp_ports: base_port = {} base_port["service_alias"] = wordpress_alias base_port["service_id"] = wp_id base_port["port"] = port base_port["protocol"] = "http" base_port["options"] = items base_ports.append(base_port) if config_group.service_meta_type == ConstKey.DOWNSTREAM_PORT: for port in mysql_port: base_service = {} base_service["service_alias"] = wordpress_alias base_service["service_id"] = wp_id base_service["port"] = port #base_service["protocol"] = "stream" base_service["protocol"] = "mysql" base_service["options"] = items base_service["depend_service_alias"] = mysql_alias base_service["depend_service_id"] = mysql_id base_services.append(base_service) if config_group.service_meta_type == ConstKey.UNDEFINE: base_normal["options"] = items bean = { "base_ports": base_ports, "base_services": base_services, "base_normal": base_normal.get("options", None) } result = general_message(200, "success", "操作成功", bean=bean, list=all_config_group) except Exception as e: logger.exception(e) result = error_message() return JsonResponse(result, status=result["code"])