From eb2cd4a4717d2dde57e906e5df6b766271754ade Mon Sep 17 00:00:00 2001 From: Sonia Sanz Vivas Date: Fri, 18 Oct 2024 16:50:48 +0200 Subject: [PATCH 1/3] Validate max number of node connections --- .../add/remote_clusters_add.test.ts | 12 +++++++++ .../helpers/remote_clusters_actions.ts | 14 ++++++++++ .../components/sniff_connection.tsx | 18 ++++++++----- .../validate_node_connections.test.tsx.snap | 13 +++++++++ .../remote_cluster_form/validators/index.ts | 1 + .../validators/validate_cluster.tsx | 5 +++- .../validate_node_connections.test.tsx | 22 +++++++++++++++ .../validators/validate_node_connections.tsx | 27 +++++++++++++++++++ .../translations/translations/fr-FR.json | 3 ++- .../translations/translations/ja-JP.json | 3 ++- .../translations/translations/zh-CN.json | 3 ++- 11 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/__snapshots__/validate_node_connections.test.tsx.snap create mode 100644 x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx create mode 100644 x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts index 43157fa157f0b..5c39b0b6c5ad1 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts @@ -276,6 +276,18 @@ describe('Create Remote cluster', () => { }); }); + describe('node connections', () => { + const maxNodeConnections = 2147483647; + test('should require a valid number of node connections', async () => { + await actions.saveButton.click(); + + actions.nodeConnectionsInput.setValue(String(maxNodeConnections + 1)); + expect(actions.getErrorMessages()).toContain( + `This number must be equal or less than ${maxNodeConnections}.` + ); + }); + }); + test('server name is optional (proxy connection)', () => { actions.connectionModeSwitch.toggle(); actions.saveButton.click(); diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/remote_clusters_actions.ts b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/remote_clusters_actions.ts index f657058231a84..00e33def31ef6 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/remote_clusters_actions.ts +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/remote_clusters_actions.ts @@ -42,6 +42,9 @@ export interface RemoteClustersActions { setValue: (seed: string) => void; getValue: () => string; }; + nodeConnectionsInput: { + setValue: (connections: string) => void; + }; proxyAddressInput: { setValue: (proxyAddress: string) => void; exists: () => boolean; @@ -154,6 +157,16 @@ export const createRemoteClustersActions = (testBed: TestBed): RemoteClustersAct }; }; + const createNodeConnectionsInputActions = () => { + const nodeConnectionsInputSelector = 'remoteClusterFormNodeConnectionsInput'; + return { + nodeConnectionsInput: { + setValue: (connections: string) => + form.setInputValue(nodeConnectionsInputSelector, connections), + }, + }; + }; + const createProxyAddressActions = () => { const proxyAddressSelector = 'remoteClusterFormProxyAddressInput'; return { @@ -266,6 +279,7 @@ export const createRemoteClustersActions = (testBed: TestBed): RemoteClustersAct ...createConnectionModeActions(), ...createCloudAdvancedOptionsSwitchActions(), ...createSeedsInputActions(), + ...createNodeConnectionsInputActions(), ...createCloudRemoteAddressInputActions(), ...createProxyAddressActions(), ...createServerNameActions(), diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx index 2d1608bcc4a70..0843663d48271 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx @@ -28,14 +28,16 @@ export const SniffConnection: FunctionComponent = ({ }) => { const [localSeedErrors, setLocalSeedErrors] = useState([]); const { seeds = [], nodeConnections } = fields; - const { seeds: seedsError } = fieldsErrors; + const { seeds: seedsError, nodeConnections: nodeError } = fieldsErrors; // Show errors if there is a general form error or local errors. const areFormErrorsVisible = Boolean(areErrorsVisible && seedsError); - const showErrors = areFormErrorsVisible || localSeedErrors.length !== 0; - const errors = + const showLocalSheedErrors = areFormErrorsVisible || localSeedErrors.length !== 0; + const errorsInLocalSeeds = areFormErrorsVisible && seedsError ? localSeedErrors.concat(seedsError) : localSeedErrors; const formattedSeeds: EuiComboBoxOptionOption[] = seeds.map((seed: string) => ({ label: seed })); + const showNodeConnectionErrors = Boolean(nodeError); + const onCreateSeed = (newSeed?: string) => { // If the user just hit enter without typing anything, treat it as a no-op. if (!newSeed) { @@ -107,8 +109,8 @@ export const SniffConnection: FunctionComponent = ({ }} /> } - isInvalid={showErrors} - error={errors} + isInvalid={showLocalSheedErrors} + error={errorsInLocalSeeds} fullWidth > = ({ onFieldsChange({ seeds: options.map(({ label }) => label) }) } onSearchChange={onSeedsInputChange} - isInvalid={showErrors} + isInvalid={showLocalSheedErrors} fullWidth data-test-subj="remoteClusterFormSeedsInput" /> @@ -146,11 +148,15 @@ export const SniffConnection: FunctionComponent = ({ /> } fullWidth + isInvalid={showNodeConnectionErrors} + error={nodeError} > onFieldsChange({ nodeConnections: Number(e.target.value) })} + isInvalid={showNodeConnectionErrors} fullWidth + data-test-subj="remoteClusterFormNodeConnectionsInput" /> diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/__snapshots__/validate_node_connections.test.tsx.snap b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/__snapshots__/validate_node_connections.test.tsx.snap new file mode 100644 index 0000000000000..0c1ec0f1db18c --- /dev/null +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/__snapshots__/validate_node_connections.test.tsx.snap @@ -0,0 +1,13 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`validateNodeConnections rejects numbers larger than MaxValue 1`] = ` + +`; diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/index.ts b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/index.ts index 6a710dae744ba..1fca3c5e83a5c 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/index.ts +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/index.ts @@ -16,3 +16,4 @@ export { validateCloudRemoteAddress, convertCloudRemoteAddressToProxyConnection, } from './validate_cloud_url'; +export { validateNodeConnections } from './validate_node_connections'; diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_cluster.tsx b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_cluster.tsx index aba0b0462cdf5..6d3f9e31c74b6 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_cluster.tsx +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_cluster.tsx @@ -11,6 +11,7 @@ import { validateSeeds } from './validate_seeds'; import { validateProxy } from './validate_proxy'; import { validateCloudRemoteAddress } from './validate_cloud_url'; import { FormFields } from '../remote_cluster_form'; +import { validateNodeConnections } from './validate_node_connections'; type ClusterError = JSX.Element | null; @@ -19,14 +20,16 @@ export interface ClusterErrors { seeds?: ClusterError; proxyAddress?: ClusterError; cloudRemoteAddress?: ClusterError; + nodeConnections?: ClusterError; } export const validateCluster = (fields: FormFields, isCloudEnabled: boolean): ClusterErrors => { - const { name, seeds = [], mode, proxyAddress, cloudRemoteAddress } = fields; + const { name, seeds = [], mode, proxyAddress, cloudRemoteAddress, nodeConnections } = fields; return { name: validateName(name), seeds: mode === SNIFF_MODE ? validateSeeds(seeds) : null, proxyAddress: mode === PROXY_MODE ? validateProxy(proxyAddress) : null, cloudRemoteAddress: isCloudEnabled ? validateCloudRemoteAddress(cloudRemoteAddress) : null, + nodeConnections: mode === SNIFF_MODE ? validateNodeConnections(nodeConnections) : null, }; }; diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx new file mode 100644 index 0000000000000..0be72c55dba1f --- /dev/null +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { MAX_NODE_CONNECTIONS, validateNodeConnections } from './validate_node_connections'; + +describe('validateNodeConnections', () => { + test('rejects numbers larger than MaxValue', () => { + expect(validateNodeConnections(MAX_NODE_CONNECTIONS + 1)).toMatchSnapshot(); + }); + + test('accepts numbers equal than MaxValue', () => { + expect(validateNodeConnections(MAX_NODE_CONNECTIONS)).toBe(null); + }); + + test('accepts numbers smaller than MaxValue', () => { + expect(validateNodeConnections(MAX_NODE_CONNECTIONS - 1)).toBe(null); + }); +}); diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx new file mode 100644 index 0000000000000..33e2031071f74 --- /dev/null +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx @@ -0,0 +1,27 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; + +export const MAX_NODE_CONNECTIONS = 2147483647; + +export function validateNodeConnections(connections?: number | null): null | JSX.Element { + if (connections && connections > MAX_NODE_CONNECTIONS) { + return ( + + ); + } + + return null; +} diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 61d08b0c81a3b..88041abfc43c6 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -33472,6 +33472,7 @@ "xpack.remoteClusters.form.errors.illegalCharacters": "Supprimer {characterListLength, plural, one {le caractère} other {les caractères}} {characterList} du nom.", "xpack.remoteClusters.form.errors.illegalSpace": "Les espaces ne sont pas autorisés dans le nom.", "xpack.remoteClusters.form.errors.nameMissing": "Le nom est requis.", + "xpack.remoteClusters.form.errors.maxValue": "Ce nombre doit être inférieur ou égal à {maxValue}.", "xpack.remoteClusters.form.errors.seedMissing": "Au moins un nœud initial est requis.", "xpack.remoteClusters.licenseCheckErrorMessage": "La vérification de la licence a échoué", "xpack.remoteClusters.listBreadcrumbTitle": "Clusters distants", @@ -47491,4 +47492,4 @@ "xpack.watcher.watchEdit.thresholdWatchExpression.aggType.fieldIsRequiredValidationMessage": "Ce champ est requis.", "xpack.watcher.watcherDescription": "Détectez les modifications survenant dans vos données en créant, gérant et monitorant des alertes." } -} \ No newline at end of file +} diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 61ad6c58ea44c..ff3a4baaa2bce 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -33218,6 +33218,7 @@ "xpack.remoteClusters.form.errors.illegalCharacters": "名前から {characterListLength, plural, other {文字}} {characterList} を削除してください。", "xpack.remoteClusters.form.errors.illegalSpace": "名前にスペースは使用できません。", "xpack.remoteClusters.form.errors.nameMissing": "名前が必要です。", + "xpack.remoteClusters.form.errors.maxValue": "この数は{maxValue}以下でなければなりません。", "xpack.remoteClusters.form.errors.seedMissing": "シードノードが最低 1 つ必要です。", "xpack.remoteClusters.licenseCheckErrorMessage": "ライセンス確認失敗", "xpack.remoteClusters.listBreadcrumbTitle": "リモートクラスター", @@ -47229,4 +47230,4 @@ "xpack.watcher.watchEdit.thresholdWatchExpression.aggType.fieldIsRequiredValidationMessage": "フィールドを選択してください。", "xpack.watcher.watcherDescription": "アラートの作成、管理、監視によりデータへの変更を検知します。" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 22061c2c36715..147223c09b154 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -33260,6 +33260,7 @@ "xpack.remoteClusters.form.errors.illegalCharacters": "从名称中删除{characterListLength, plural, other {字符}} {characterList}。", "xpack.remoteClusters.form.errors.illegalSpace": "名称中不允许使用空格。", "xpack.remoteClusters.form.errors.nameMissing": "“名称”必填。", + "xpack.remoteClusters.form.errors.maxValue": "此数字必须等于或小于 {maxValue}。", "xpack.remoteClusters.form.errors.seedMissing": "至少需要一个种子节点。", "xpack.remoteClusters.licenseCheckErrorMessage": "许可证检查失败", "xpack.remoteClusters.listBreadcrumbTitle": "远程集群", @@ -47282,4 +47283,4 @@ "xpack.watcher.watchEdit.thresholdWatchExpression.aggType.fieldIsRequiredValidationMessage": "此字段必填。", "xpack.watcher.watcherDescription": "通过创建、管理和监测警报来检测数据中的更改。" } -} \ No newline at end of file +} From 9937a151be1cde1673518fd6ea1f7a0a9144d79d Mon Sep 17 00:00:00 2001 From: Sonia Sanz Vivas Date: Mon, 21 Oct 2024 09:26:56 +0200 Subject: [PATCH 2/3] Move the max value to common/constant and fix typo --- .../client_integration/add/remote_clusters_add.test.ts | 6 +++--- x-pack/plugins/remote_clusters/common/constants.ts | 3 +++ .../remote_cluster_form/components/sniff_connection.tsx | 6 +++--- .../validators/validate_node_connections.test.tsx | 3 ++- .../validators/validate_node_connections.tsx | 3 +-- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts index 5c39b0b6c5ad1..6e6f5d7692b75 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts @@ -11,6 +11,7 @@ import { act } from 'react-dom/test-utils'; import { setupEnvironment, RemoteClustersActions } from '../helpers'; import { setup } from './remote_clusters_add.helpers'; import { NON_ALPHA_NUMERIC_CHARS, ACCENTED_CHARS } from './special_characters'; +import { MAX_NODE_CONNECTIONS } from '../../../common/constants'; const notInArray = (array: string[]) => (value: string) => array.indexOf(value) < 0; @@ -277,13 +278,12 @@ describe('Create Remote cluster', () => { }); describe('node connections', () => { - const maxNodeConnections = 2147483647; test('should require a valid number of node connections', async () => { await actions.saveButton.click(); - actions.nodeConnectionsInput.setValue(String(maxNodeConnections + 1)); + actions.nodeConnectionsInput.setValue(String(MAX_NODE_CONNECTIONS + 1)); expect(actions.getErrorMessages()).toContain( - `This number must be equal or less than ${maxNodeConnections}.` + `This number must be equal or less than ${MAX_NODE_CONNECTIONS}.` ); }); }); diff --git a/x-pack/plugins/remote_clusters/common/constants.ts b/x-pack/plugins/remote_clusters/common/constants.ts index 1357de2cd4640..889b5afc7e1fc 100644 --- a/x-pack/plugins/remote_clusters/common/constants.ts +++ b/x-pack/plugins/remote_clusters/common/constants.ts @@ -42,3 +42,6 @@ export const getSecurityModel = (type: string) => { return type; }; + +// Hardcoded limit of maximum node connections allowed +export const MAX_NODE_CONNECTIONS = 2 ** 31 - 1; // 2147483647 diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx index 0843663d48271..c29a1ce5c2169 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/components/sniff_connection.tsx @@ -31,7 +31,7 @@ export const SniffConnection: FunctionComponent = ({ const { seeds: seedsError, nodeConnections: nodeError } = fieldsErrors; // Show errors if there is a general form error or local errors. const areFormErrorsVisible = Boolean(areErrorsVisible && seedsError); - const showLocalSheedErrors = areFormErrorsVisible || localSeedErrors.length !== 0; + const showLocalSeedErrors = areFormErrorsVisible || localSeedErrors.length !== 0; const errorsInLocalSeeds = areFormErrorsVisible && seedsError ? localSeedErrors.concat(seedsError) : localSeedErrors; const formattedSeeds: EuiComboBoxOptionOption[] = seeds.map((seed: string) => ({ label: seed })); @@ -109,7 +109,7 @@ export const SniffConnection: FunctionComponent = ({ }} /> } - isInvalid={showLocalSheedErrors} + isInvalid={showLocalSeedErrors} error={errorsInLocalSeeds} fullWidth > @@ -127,7 +127,7 @@ export const SniffConnection: FunctionComponent = ({ onFieldsChange({ seeds: options.map(({ label }) => label) }) } onSearchChange={onSeedsInputChange} - isInvalid={showLocalSheedErrors} + isInvalid={showLocalSeedErrors} fullWidth data-test-subj="remoteClusterFormSeedsInput" /> diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx index 0be72c55dba1f..20f39395692b7 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.test.tsx @@ -5,7 +5,8 @@ * 2.0. */ -import { MAX_NODE_CONNECTIONS, validateNodeConnections } from './validate_node_connections'; +import { MAX_NODE_CONNECTIONS } from '../../../../../../common/constants'; +import { validateNodeConnections } from './validate_node_connections'; describe('validateNodeConnections', () => { test('rejects numbers larger than MaxValue', () => { diff --git a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx index 33e2031071f74..4adadb6fc1d6d 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx +++ b/x-pack/plugins/remote_clusters/public/application/sections/components/remote_cluster_form/validators/validate_node_connections.tsx @@ -7,8 +7,7 @@ import React from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; - -export const MAX_NODE_CONNECTIONS = 2147483647; +import { MAX_NODE_CONNECTIONS } from '../../../../../../common/constants'; export function validateNodeConnections(connections?: number | null): null | JSX.Element { if (connections && connections > MAX_NODE_CONNECTIONS) { From d1018819850de4d2ea18463d08b8c1423306996b Mon Sep 17 00:00:00 2001 From: Sonia Sanz Vivas Date: Mon, 21 Oct 2024 15:17:35 +0200 Subject: [PATCH 3/3] Eliminate unnecessary translations --- x-pack/plugins/translations/translations/fr-FR.json | 1 - x-pack/plugins/translations/translations/ja-JP.json | 1 - x-pack/plugins/translations/translations/zh-CN.json | 1 - 3 files changed, 3 deletions(-) diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 88041abfc43c6..eb28560ffbf67 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -33472,7 +33472,6 @@ "xpack.remoteClusters.form.errors.illegalCharacters": "Supprimer {characterListLength, plural, one {le caractère} other {les caractères}} {characterList} du nom.", "xpack.remoteClusters.form.errors.illegalSpace": "Les espaces ne sont pas autorisés dans le nom.", "xpack.remoteClusters.form.errors.nameMissing": "Le nom est requis.", - "xpack.remoteClusters.form.errors.maxValue": "Ce nombre doit être inférieur ou égal à {maxValue}.", "xpack.remoteClusters.form.errors.seedMissing": "Au moins un nœud initial est requis.", "xpack.remoteClusters.licenseCheckErrorMessage": "La vérification de la licence a échoué", "xpack.remoteClusters.listBreadcrumbTitle": "Clusters distants", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index ff3a4baaa2bce..654ebc1a3ba01 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -33218,7 +33218,6 @@ "xpack.remoteClusters.form.errors.illegalCharacters": "名前から {characterListLength, plural, other {文字}} {characterList} を削除してください。", "xpack.remoteClusters.form.errors.illegalSpace": "名前にスペースは使用できません。", "xpack.remoteClusters.form.errors.nameMissing": "名前が必要です。", - "xpack.remoteClusters.form.errors.maxValue": "この数は{maxValue}以下でなければなりません。", "xpack.remoteClusters.form.errors.seedMissing": "シードノードが最低 1 つ必要です。", "xpack.remoteClusters.licenseCheckErrorMessage": "ライセンス確認失敗", "xpack.remoteClusters.listBreadcrumbTitle": "リモートクラスター", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 147223c09b154..1e696e2892b85 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -33260,7 +33260,6 @@ "xpack.remoteClusters.form.errors.illegalCharacters": "从名称中删除{characterListLength, plural, other {字符}} {characterList}。", "xpack.remoteClusters.form.errors.illegalSpace": "名称中不允许使用空格。", "xpack.remoteClusters.form.errors.nameMissing": "“名称”必填。", - "xpack.remoteClusters.form.errors.maxValue": "此数字必须等于或小于 {maxValue}。", "xpack.remoteClusters.form.errors.seedMissing": "至少需要一个种子节点。", "xpack.remoteClusters.licenseCheckErrorMessage": "许可证检查失败", "xpack.remoteClusters.listBreadcrumbTitle": "远程集群",