From d253a5552069f72e27d2263b488c53583078c532 Mon Sep 17 00:00:00 2001 From: Lizhen <88174078+bluewang@users.noreply.github.com> Date: Mon, 18 Sep 2023 16:50:22 +0800 Subject: [PATCH] [INLONG-8909][Dashboard] Support management of Tencent cloud log service data node (#8927) --- .../src/plugins/nodes/defaults/Cls.ts | 91 +++++++++++++++++++ .../src/plugins/nodes/defaults/index.ts | 5 + inlong-dashboard/src/ui/locales/cn.json | 9 ++ inlong-dashboard/src/ui/locales/en.json | 9 ++ 4 files changed, 114 insertions(+) create mode 100644 inlong-dashboard/src/plugins/nodes/defaults/Cls.ts diff --git a/inlong-dashboard/src/plugins/nodes/defaults/Cls.ts b/inlong-dashboard/src/plugins/nodes/defaults/Cls.ts new file mode 100644 index 00000000000..d60f87eea06 --- /dev/null +++ b/inlong-dashboard/src/plugins/nodes/defaults/Cls.ts @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { DataWithBackend } from '@/plugins/DataWithBackend'; +import { RenderRow } from '@/plugins/RenderRow'; +import { RenderList } from '@/plugins/RenderList'; +import { NodeInfo } from '../common/NodeInfo'; + +const { I18n } = DataWithBackend; +const { FieldDecorator } = RenderRow; + +export default class ClsNode extends NodeInfo implements DataWithBackend, RenderRow, RenderList { + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.MainAccountId') + mainAccountId: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.SubAccountId') + subAccountId: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.SendSecretKey') + sendSecretKey: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.SendSecretId') + sendSecretId: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.ManageSecretKey') + manageSecretKey: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.ManageSecretId') + manageSecretId: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.Endpoint') + endpoint: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.Region') + region: string; + + @FieldDecorator({ + type: 'input', + rules: [{ required: true }], + }) + @I18n('meta.Nodes.Cls.LogSetId') + logSetId: string; +} diff --git a/inlong-dashboard/src/plugins/nodes/defaults/index.ts b/inlong-dashboard/src/plugins/nodes/defaults/index.ts index 3a43e010fe2..92dd32ad1bf 100644 --- a/inlong-dashboard/src/plugins/nodes/defaults/index.ts +++ b/inlong-dashboard/src/plugins/nodes/defaults/index.ts @@ -31,6 +31,11 @@ export const allDefaultNodes: MetaExportWithBackendList = [ value: 'CLICKHOUSE', LoadEntity: () => import('./ClickHouse'), }, + { + label: 'CLS', + value: 'CLS', + LoadEntity: () => import('./Cls'), + }, { label: 'Elasticsearch', value: 'ELASTICSEARCH', diff --git a/inlong-dashboard/src/ui/locales/cn.json b/inlong-dashboard/src/ui/locales/cn.json index 77fc672f189..5d96950de73 100644 --- a/inlong-dashboard/src/ui/locales/cn.json +++ b/inlong-dashboard/src/ui/locales/cn.json @@ -522,6 +522,15 @@ "meta.Nodes.Kudu.DefaultOperationTimeoutMs": "用户操作默认超时(ms)", "meta.Nodes.Kudu.DefaultSocketReadTimeoutMs": "等待Socket默认超时(ms)", "meta.Nodes.Kudu.StatisticsDisabled": "禁用统计信息收集", + "meta.Nodes.Cls.MainAccountId": "云日志主账号", + "meta.Nodes.Cls.SubAccountId": "云日志子账号", + "meta.Nodes.Cls.SendSecretKey": "发送密钥", + "meta.Nodes.Cls.SendSecretId": "发送密钥 ID", + "meta.Nodes.Cls.ManageSecretKey": "云日志管理密钥", + "meta.Nodes.Cls.ManageSecretId": "云日志管理密钥 ID", + "meta.Nodes.Cls.Endpoint": "云日志接入点", + "meta.Nodes.Cls.Region": "云日志地区", + "meta.Nodes.Cls.LogSetId": "云日志日志集 ID", "components.EditableTable.NewLine": "新增一行", "components.EditableTable.BatchParseField": "批量解析字段", "components.EditableTable.DeleteAll": "删除全部", diff --git a/inlong-dashboard/src/ui/locales/en.json b/inlong-dashboard/src/ui/locales/en.json index ff6e0c32995..31e9e18707b 100644 --- a/inlong-dashboard/src/ui/locales/en.json +++ b/inlong-dashboard/src/ui/locales/en.json @@ -522,6 +522,15 @@ "meta.Nodes.Kudu.DefaultOperationTimeoutMs": "OperationTimeout(ms)", "meta.Nodes.Kudu.DefaultSocketReadTimeoutMs": "SocketReadTimeout(ms)", "meta.Nodes.Kudu.StatisticsDisabled": "DisabledStatistics", + "meta.Nodes.Cls.MainAccountId": "Main Account Id", + "meta.Nodes.Cls.SubAccountId": "Sub Account Id", + "meta.Nodes.Cls.SendSecretKey": "Send SecretKey", + "meta.Nodes.Cls.SendSecretId": "Send SecretId", + "meta.Nodes.Cls.ManageSecretKey": "Manage SecretKey", + "meta.Nodes.Cls.ManageSecretId": "Manage Secret Id", + "meta.Nodes.Cls.Endpoint": "Endpoint", + "meta.Nodes.Cls.Region": "Service region", + "meta.Nodes.Cls.LogSetId": "Log Set Id", "components.EditableTable.NewLine": "New line", "components.EditableTable.BatchParseField": "Batch add", "components.EditableTable.DeleteAll": "Delete all",