[Enterprise Search] Add network drive, confluence, jira, azure blob storage as native (#160309)

This adds Network Drive, Confluence, Jira and Azure Blob Storage as
native connectors.
This commit is contained in:
Sander Philipse 2023-06-23 15:42:11 +02:00 committed by GitHub
parent 2209d5f702
commit 5e72c03a9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 776 additions and 130 deletions

View file

@ -61,7 +61,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [
{
iconPath: 'azure_blob_storage.svg',
isBeta: true,
isNative: false,
isNative: true,
keywords: ['cloud', 'azure', 'blob', 's3', 'connector'],
name: i18n.translate('xpack.enterpriseSearch.content.nativeConnectors.azureBlob.name', {
defaultMessage: 'Azure Blob Storage',
@ -71,7 +71,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [
{
iconPath: 'confluence_cloud.svg',
isBeta: true,
isNative: false,
isNative: true,
keywords: ['confluence', 'cloud', 'connector'],
name: i18n.translate('xpack.enterpriseSearch.content.nativeConnectors.confluence.name', {
defaultMessage: 'Confluence Cloud & Server',
@ -91,7 +91,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [
{
iconPath: 'jira_cloud.svg',
isBeta: true,
isNative: false,
isNative: true,
keywords: ['jira', 'cloud', 'connector'],
name: i18n.translate('xpack.enterpriseSearch.content.nativeConnectors.jira.name', {
defaultMessage: 'Jira Cloud & Server',
@ -101,7 +101,7 @@ export const CONNECTOR_DEFINITIONS: ConnectorServerSideDefinition[] = [
{
iconPath: 'network_drive.svg',
isBeta: true,
isNative: false,
isNative: true,
keywords: ['network', 'drive', 'file', 'directory', 'connector'],
name: i18n.translate('xpack.enterpriseSearch.content.nativeConnectors.networkDrive.name', {
defaultMessage: 'Network drive',

View file

@ -9,7 +9,656 @@ import { i18n } from '@kbn/i18n';
import { DisplayType, FeatureName, FieldType, NativeConnector } from '../types/connectors';
const USERNAME_LABEL = i18n.translate('xpack.enterpriseSearch.nativeConnectors.usernameLabel', {
defaultMessage: 'Username',
});
const PASSWORD_LABEL = i18n.translate('xpack.enterpriseSearch.nativeConnectors.passwordLabel', {
defaultMessage: 'Password',
});
const ENABLE_SSL_LABEL = i18n.translate('xpack.enterpriseSearch.nativeConnectors.enableSSL.label', {
defaultMessage: 'Enable SSL',
});
const SSL_CERTIFICATE_LABEL = i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.sslCertificate.label',
{
defaultMessage: 'SSL certificate',
}
);
const RETRIES_PER_REQUEST_LABEL = i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.retriesPerRequest.label',
{
defaultMessage: 'Retries per request',
}
);
const ADVANCED_RULES_IGNORED_LABEL = i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.advancedRulesIgnored.label',
{
defaultMessage: 'This configurable field is ignored when Advanced Sync Rules are used.',
}
);
const MAX_CONCURRENT_DOWNLOADS_LABEL = i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.nativeConnectors.maximumConcurrentLabel',
{
defaultMessage: 'Maximum concurrent downloads',
}
);
const DATABASE_LABEL = i18n.translate('xpack.enterpriseSearch.nativeConnectors.databaseLabel', {
defaultMessage: 'Database',
});
const PORT_LABEL = i18n.translate('xpack.enterpriseSearch.nativeConnectors.portLabel', {
defaultMessage: 'Port',
});
export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | undefined> = {
azure_blob_storage: {
configuration: {
account_name: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.azureBlobStorage.accountNameLabel',
{
defaultMessage: 'Account name',
}
),
options: [],
order: 1,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
account_key: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.azureBlobStorage.accountKeyLabel',
{
defaultMessage: 'Account key',
}
),
options: [],
order: 2,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
blob_endpoint: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.azureBlobStorage.blobEndpointLabel',
{
defaultMessage: 'Blob endpoint',
}
),
options: [],
order: 3,
placeholder: 'http://127.0.0.1:10000/devstoreaccount',
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
retry_count: {
default_value: 3,
depends_on: [],
display: DisplayType.NUMERIC,
label: RETRIES_PER_REQUEST_LABEL,
options: [],
order: 4,
required: false,
sensitive: false,
tooltip: null,
type: FieldType.INTEGER,
ui_restrictions: ['advanced'],
validations: [],
value: 3,
},
concurrent_downloads: {
default_value: 100,
depends_on: [],
display: DisplayType.NUMERIC,
label: MAX_CONCURRENT_DOWNLOADS_LABEL,
options: [],
order: 5,
required: false,
sensitive: false,
tooltip: null,
type: FieldType.INTEGER,
ui_restrictions: ['advanced'],
validations: [
{
type: 'less_than',
constraint: 101,
},
],
value: 100,
},
},
features: {
[FeatureName.SYNC_RULES]: {
advanced: { enabled: false },
basic: { enabled: true },
},
},
name: i18n.translate('xpack.enterpriseSearch.nativeConnectors.azureBlobStorage.name', {
defaultMessage: 'Azure Blob Storage',
}),
serviceType: 'azure_blob_storage',
},
confluence: {
configuration: {
data_source: {
default_value: null,
depends_on: [],
display: DisplayType.DROPDOWN,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.confluenceSource.label', {
defaultMessage: 'Confluence data source',
}),
options: [
{
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.confluenceCloud.name', {
defaultMessage: 'Confluence Cloud',
}),
value: 'confluence_cloud',
},
{
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.confluenceServer.name', {
defaultMessage: 'Confluence Server',
}),
value: 'confluence_server',
},
],
order: 1,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: 'confluence_server',
},
username: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'confluence_server',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.confluenceServer.usernameLabel',
{
defaultMessage: 'Confluence Server username',
}
),
options: [],
order: 2,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: 'admin',
},
password: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'confluence_server',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.confluenceServer.passwordLabel',
{
defaultMessage: 'Confluence Server password',
}
),
options: [],
order: 3,
required: true,
sensitive: true,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
account_email: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'confluence_cloud',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.confluenceCloud.accountEmailLabel',
{
defaultMessage: 'Confluence Cloud account email',
}
),
options: [],
order: 4,
placeholder: 'me@example.com',
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
api_token: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'confluence_cloud',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.confluenceServer.apiTokenLabel',
{
defaultMessage: 'Confluence Cloud API token',
}
),
options: [],
order: 5,
required: true,
sensitive: true,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
confluence_url: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.confluence.urlLabel', {
defaultMessage: 'Confluence URL label',
}),
options: [],
order: 6,
placeholder: 'http://127.0.0.1:5000',
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
spaces: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTAREA,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.confluence.spaceKeysLabel', {
defaultMessage: 'Confluence space keys',
}),
options: [],
order: 7,
required: true,
sensitive: false,
tooltip: ADVANCED_RULES_IGNORED_LABEL,
type: FieldType.LIST,
ui_restrictions: [],
validations: [],
value: '*',
},
ssl_enabled: {
default_value: null,
depends_on: [],
display: DisplayType.TOGGLE,
label: ENABLE_SSL_LABEL,
options: [],
order: 8,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.BOOLEAN,
ui_restrictions: [],
validations: [],
value: false,
},
ssl_ca: {
default_value: null,
depends_on: [
{
field: 'ssl_enabled',
value: true,
},
],
display: DisplayType.TEXTBOX,
label: SSL_CERTIFICATE_LABEL,
options: [],
order: 9,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
retry_count: {
default_value: 3,
depends_on: [],
display: DisplayType.NUMERIC,
label: RETRIES_PER_REQUEST_LABEL,
options: [],
order: 10,
required: false,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: ['advanced'],
validations: [],
value: 3,
},
concurrent_downloads: {
default_value: 50,
depends_on: [],
display: DisplayType.NUMERIC,
label: MAX_CONCURRENT_DOWNLOADS_LABEL,
options: [],
order: 11,
required: false,
sensitive: false,
tooltip: null,
type: FieldType.INTEGER,
ui_restrictions: ['advanced'],
validations: [
{
constraint: 51,
type: 'less_than',
},
],
value: 50,
},
},
features: {
[FeatureName.SYNC_RULES]: {
advanced: { enabled: true },
basic: { enabled: true },
},
},
name: i18n.translate('xpack.enterpriseSearch.nativeConnectors.confluence.name', {
defaultMessage: 'Confluence',
}),
serviceType: 'confluence',
},
jira: {
configuration: {
data_source: {
default_value: null,
depends_on: [],
display: DisplayType.DROPDOWN,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.dataSourceLabel', {
defaultMessage: 'Jira data source',
}),
options: [
{
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.jiraCloudLabel', {
defaultMessage: 'Jira Cloud',
}),
value: 'jira_cloud',
},
{
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.jiraServerLabel', {
defaultMessage: 'Jira Server',
}),
value: 'jira_server',
},
],
order: 1,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: 'jira_cloud',
},
username: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'jira_server',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.serverUsername', {
defaultMessage: 'Jira Server username',
}),
options: [],
order: 2,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: 'admin',
},
password: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'jira_server',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.serverPasswordLabel', {
defaultMessage: 'Jira Server password',
}),
options: [],
order: 3,
required: true,
sensitive: true,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: 'changeme',
},
account_email: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'jira_cloud',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.jira.cloudServiceAccountLabel',
{
defaultMessage: 'Jira Cloud service account id',
}
),
options: [],
order: 4,
placeholder: 'me@example.com',
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
api_token: {
default_value: null,
depends_on: [
{
field: 'data_source',
value: 'jira_cloud',
},
],
display: DisplayType.TEXTBOX,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.cloudApiTokenLabel', {
defaultMessage: 'Jira Cloud API token',
}),
options: [],
order: 5,
required: true,
sensitive: true,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: 'abc#123',
},
jira_url: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.hostUrlLabel', {
defaultMessage: 'Jira host url',
}),
options: [],
order: 6,
placeholder: 'http://127.0.0.1:8080',
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
projects: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTAREA,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.projectKeysLabel', {
defaultMessage: 'Jira project keys',
}),
options: [],
order: 7,
required: true,
sensitive: false,
tooltip: ADVANCED_RULES_IGNORED_LABEL,
type: FieldType.LIST,
ui_restrictions: [],
validations: [],
value: '*',
},
ssl_enabled: {
default_value: null,
depends_on: [],
display: DisplayType.TOGGLE,
label: ENABLE_SSL_LABEL,
options: [],
order: 8,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.BOOLEAN,
ui_restrictions: [],
validations: [],
value: false,
},
ssl_ca: {
default_value: null,
depends_on: [
{
field: 'ssl_enabled',
value: true,
},
],
display: DisplayType.TEXTBOX,
label: SSL_CERTIFICATE_LABEL,
options: [],
order: 9,
required: true,
sensitive: false,
tooltip: null,
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
retry_count: {
default_value: 3,
depends_on: [],
display: DisplayType.NUMERIC,
label: RETRIES_PER_REQUEST_LABEL,
options: [],
order: 10,
required: false,
sensitive: false,
tooltip: null,
type: FieldType.INTEGER,
ui_restrictions: ['advanced'],
validations: [],
value: 3,
},
concurrent_downloads: {
default_value: 100,
depends_on: [],
display: DisplayType.NUMERIC,
label: MAX_CONCURRENT_DOWNLOADS_LABEL,
options: [],
order: 11,
required: false,
sensitive: false,
tooltip: null,
type: FieldType.INTEGER,
ui_restrictions: ['advanced'],
validations: [
{
type: 'less_than',
constraint: 101,
},
],
value: 100,
},
},
features: {
[FeatureName.SYNC_RULES]: {
advanced: { enabled: true },
basic: { enabled: true },
},
},
name: i18n.translate('xpack.enterpriseSearch.nativeConnectors.jira.name', {
defaultMessage: 'Jira',
}),
serviceType: 'jira',
},
mongodb: {
configuration: {
host: {
@ -36,12 +685,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.usernameLabel',
{
defaultMessage: 'Username',
}
),
label: USERNAME_LABEL,
options: [],
order: 2,
required: false,
@ -56,12 +700,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.passwordLabel',
{
defaultMessage: 'Password',
}
),
label: PASSWORD_LABEL,
options: [],
order: 3,
required: false,
@ -76,12 +715,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.databaseLabel',
{
defaultMessage: 'Database',
}
),
label: DATABASE_LABEL,
options: [],
order: 4,
required: true,
@ -172,12 +806,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: null,
depends_on: [],
display: DisplayType.NUMERIC,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mssql.configuration.portLabel',
{
defaultMessage: 'Port',
}
),
label: PORT_LABEL,
options: [],
order: 2,
required: true,
@ -232,12 +861,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mssql.configuration.databaseLabel',
{
defaultMessage: 'Database',
}
),
label: DATABASE_LABEL,
options: [],
order: 5,
required: true,
@ -272,12 +896,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: false,
depends_on: [],
display: DisplayType.TOGGLE,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mssql.configuration.sslEnabledLabel',
{
defaultMessage: 'Enable SSL',
}
),
label: ENABLE_SSL_LABEL,
options: [],
order: 10,
required: true,
@ -292,12 +911,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [{ field: 'ssl_enabled', value: true }],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mssql.configuration.sslCertificateLabel',
{
defaultMessage: 'SSL certificate',
}
),
label: SSL_CERTIFICATE_LABEL,
options: [],
order: 11,
required: true,
@ -426,12 +1040,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: null,
depends_on: [],
display: DisplayType.NUMERIC,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mysql.configuration.portLabel',
{
defaultMessage: 'Port',
}
),
label: PORT_LABEL,
options: [],
order: 2,
required: true,
@ -486,12 +1095,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mysql.configuration.databaseLabel',
{
defaultMessage: 'Database',
}
),
label: DATABASE_LABEL,
options: [],
order: 5,
required: true,
@ -526,12 +1130,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: false,
depends_on: [],
display: DisplayType.TOGGLE,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslEnabledLabel',
{
defaultMessage: 'Enable SSL',
}
),
label: ENABLE_SSL_LABEL,
options: [],
order: 7,
required: true,
@ -546,12 +1145,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [{ field: 'ssl_enabled', value: true }],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslCertificateLabel',
{
defaultMessage: 'SSL certificate',
}
),
label: SSL_CERTIFICATE_LABEL,
options: [],
order: 8,
required: true,
@ -614,6 +1208,104 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
}),
serviceType: 'mysql',
},
network_drive: {
configuration: {
username: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: USERNAME_LABEL,
options: [],
order: 1,
required: true,
sensitive: false,
tooltip: '',
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
password: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: PASSWORD_LABEL,
options: [],
order: 2,
required: true,
sensitive: true,
tooltip: '',
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
server_ip: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.networkDrive.ipAddressLabel',
{
defaultMessage: 'IP address',
}
),
options: [],
order: 3,
placeholder: '127.0.0.1',
required: true,
sensitive: false,
tooltip: '',
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
server_port: {
default_value: null,
depends_on: [],
display: DisplayType.NUMERIC,
label: PORT_LABEL,
options: [],
order: 4,
required: true,
sensitive: false,
tooltip: '',
type: FieldType.INTEGER,
ui_restrictions: [],
validations: [],
value: 445,
},
drive_path: {
default_value: null,
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate('xpack.enterpriseSearch.nativeConnectors.networkDrive.pathLabel', {
defaultMessage: 'Path',
}),
options: [],
order: 5,
placeholder: 'Folder1',
required: true,
sensitive: false,
tooltip: '',
type: FieldType.STRING,
ui_restrictions: [],
validations: [],
value: '',
},
},
features: {
[FeatureName.SYNC_RULES]: {
advanced: { enabled: false },
basic: { enabled: true },
},
},
name: i18n.translate('xpack.enterpriseSearch.nativeConnectors.networkDrive.name', {
defaultMessage: 'Network drive',
}),
serviceType: 'network_drive',
},
postgresql: {
configuration: {
host: {
@ -640,12 +1332,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: null,
depends_on: [],
display: DisplayType.NUMERIC,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.portLabel',
{
defaultMessage: 'Port',
}
),
label: PORT_LABEL,
options: [],
order: 2,
required: true,
@ -660,12 +1347,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.usernameLabel',
{
defaultMessage: 'Username',
}
),
label: USERNAME_LABEL,
options: [],
order: 3,
required: true,
@ -680,12 +1362,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.passwordLabel',
{
defaultMessage: 'Password',
}
),
label: PASSWORD_LABEL,
options: [],
order: 4,
required: true,
@ -700,12 +1377,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.databaseLabel',
{
defaultMessage: 'Database',
}
),
label: DATABASE_LABEL,
options: [],
order: 5,
required: true,
@ -740,12 +1412,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: false,
depends_on: [],
display: DisplayType.TOGGLE,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.sslEnabledLabel',
{
defaultMessage: 'Enable SSL',
}
),
label: ENABLE_SSL_LABEL,
options: [],
order: 9,
required: true,
@ -760,12 +1427,7 @@ export const NATIVE_CONNECTOR_DEFINITIONS: Record<string, NativeConnector | unde
default_value: '',
depends_on: [{ field: 'ssl_enabled', value: true }],
display: DisplayType.TEXTBOX,
label: i18n.translate(
'xpack.enterpriseSearch.nativeConnectors.postgresql.configuration.sslCertificateLabel',
{
defaultMessage: 'SSL certificate',
}
),
label: SSL_CERTIFICATE_LABEL,
options: [],
order: 10,
required: true,

View file

@ -38,6 +38,11 @@ export interface ConnectorConfigCategoryProperties {
type: 'category';
}
export interface Validation {
constraint: string | number;
type: string;
}
export interface ConnectorConfigProperties {
category?: string;
default_value: string | number | boolean | null;
@ -49,10 +54,10 @@ export interface ConnectorConfigProperties {
placeholder?: string;
required: boolean;
sensitive: boolean;
tooltip: string;
tooltip: string | null;
type: FieldType;
ui_restrictions: string[];
validations: string[];
validations: Validation[];
value: string | number | boolean | null;
}

View file

@ -110,7 +110,7 @@ export const ConnectorConfigurationField: React.FC<ConnectorConfigurationFieldPr
disabled={status === Status.LOADING}
placeholder={placeholder}
required={required}
value={ensureStringType(value)}
value={ensureStringType(value) || undefined} // ensures placeholder shows up when value is empty string
onChange={(event) => {
setLocalConfigEntry({ ...configEntry, value: event.target.value });
}}

View file

@ -13874,20 +13874,13 @@
"xpack.enterpriseSearch.licenseManagementLink": "Gérer votre licence",
"xpack.enterpriseSearch.nameLabel": "Nom",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.collectionLabel": "Collection",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.databaseLabel": "Base de données",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.directConnectionLabel": "Connexion directe",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.hostLabel": "Nom d'hôte du serveur",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.passwordLabel": "Mot de passe",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.usernameLabel": "Nom d'utilisateur",
"xpack.enterpriseSearch.nativeConnectors.mongodb.name": "MongoDB",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.databaseLabel": "Base de données",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.hostLabel": "Hôte",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.passwordLabel": "Mot de passe",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.portLabel": "Port",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.retriesLabel": "Nouvelles tentatives par requête",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.rowsFetchedLabel": "Lignes extraites par requête",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslCertificateLabel": "Certificat SSL",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslEnabledLabel": "Activer SSL",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.tablesLabel": "Liste de tables séparées par des virgules",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "Nom d'utilisateur",
"xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL",

View file

@ -13873,20 +13873,13 @@
"xpack.enterpriseSearch.licenseManagementLink": "ライセンスを更新",
"xpack.enterpriseSearch.nameLabel": "名前",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.collectionLabel": "収集",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.databaseLabel": "データベース",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.directConnectionLabel": "直接接続",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.hostLabel": "サーバーホスト名",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.passwordLabel": "パスワード",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.usernameLabel": "ユーザー名",
"xpack.enterpriseSearch.nativeConnectors.mongodb.name": "MongoDB",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.databaseLabel": "データベース",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.hostLabel": "ホスト",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.passwordLabel": "パスワード",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.portLabel": "ポート",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.retriesLabel": "リクエストごとの再試行回数",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.rowsFetchedLabel": "リクエストごとに取得された行数",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslCertificateLabel": "SSL証明書",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslEnabledLabel": "SSLを有効にする",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.tablesLabel": "カンマ区切りのテーブルのリスト",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "ユーザー名",
"xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL",

View file

@ -13873,20 +13873,13 @@
"xpack.enterpriseSearch.licenseManagementLink": "管理您的许可",
"xpack.enterpriseSearch.nameLabel": "名称",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.collectionLabel": "集合",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.databaseLabel": "数据库",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.directConnectionLabel": "直接连接",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.hostLabel": "服务器主机名",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.passwordLabel": "密码",
"xpack.enterpriseSearch.nativeConnectors.mongodb.configuration.usernameLabel": "用户名",
"xpack.enterpriseSearch.nativeConnectors.mongodb.name": "MongoDB",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.databaseLabel": "数据库",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.hostLabel": "主机",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.passwordLabel": "密码",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.portLabel": "端口",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.retriesLabel": "根据请求重试",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.rowsFetchedLabel": "根据请求提取的行",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslCertificateLabel": "SSL 证书",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.sslEnabledLabel": "启用 SSL",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.tablesLabel": "表的逗号分隔列表",
"xpack.enterpriseSearch.nativeConnectors.mysql.configuration.usernameLabel": "用户名",
"xpack.enterpriseSearch.nativeConnectors.mysql.name": "MySQL",