diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/AddIngestion.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/AddIngestion.component.tsx index 52ba1a7a49c..425b0ecf112 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/AddIngestion.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/AddIngestion.component.tsx @@ -163,6 +163,7 @@ const AddIngestion = ({ showChartFilter: !isUndefined(sourceConfig?.chartFilterPattern), showPipelineFilter: !isUndefined(sourceConfig?.pipelineFilterPattern), showMlModelFilter: !isUndefined(sourceConfig?.mlModelFilterPattern), + showContainerFilter: !isUndefined(sourceConfig?.containerFilterPattern), dbtConfigSource: configData as ModifiedDbtConfig, gcsConfigType: showDBTConfig ? sourceTypeData.gcsType : undefined, chartFilterPattern: @@ -173,6 +174,8 @@ const AddIngestion = ({ : undefined, dashboardFilterPattern: sourceConfig?.dashboardFilterPattern ?? INITIAL_FILTER_PATTERN, + containerFilterPattern: + sourceConfig?.containerFilterPattern ?? INITIAL_FILTER_PATTERN, databaseFilterPattern: isUndefined(database) ? sourceConfig?.databaseFilterPattern ?? INITIAL_FILTER_PATTERN : { @@ -331,6 +334,7 @@ const AddIngestion = ({ includeLineage, includeTags, includeView, + showContainerFilter, ingestSampleData, markAllDeletedTables, markDeletedTables, @@ -339,6 +343,7 @@ const AddIngestion = ({ markDeletedMlModels, markDeletedPipelines, mlModelFilterPattern, + containerFilterPattern, pipelineFilterPattern, schemaFilterPattern, showChartFilter, @@ -428,6 +433,16 @@ const AddIngestion = ({ markDeletedMlModels, }; } + case ServiceCategory.OBJECT_STORE_SERVICES: { + return { + containerFilterPattern: getFilterPatternData( + containerFilterPattern, + showContainerFilter + ), + type: ConfigType.ObjectStoreMetadata, + }; + } + default: { return {}; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/Steps/ConfigureIngestion.tsx b/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/Steps/ConfigureIngestion.tsx index dd718e67c21..35e4d82b72b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/Steps/ConfigureIngestion.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/Steps/ConfigureIngestion.tsx @@ -53,6 +53,8 @@ const ConfigureIngestion = ({ chartFilterPattern, dashboardFilterPattern, databaseFilterPattern, + containerFilterPattern, + showContainerFilter, databaseServiceNames, description, enableDebugLog, @@ -96,6 +98,8 @@ const ConfigureIngestion = ({ chartFilterPattern: data.chartFilterPattern, dashboardFilterPattern: data.dashboardFilterPattern, databaseFilterPattern: data.databaseFilterPattern, + containerFilterPattern: data.containerFilterPattern, + showContainerFilter: data.showContainerFilter, databaseServiceNames: data.databaseServiceNames, description: data.description, enableDebugLog: data.enableDebugLog, @@ -780,6 +784,21 @@ const ConfigureIngestion = ({ )} ); + + case ServiceCategory.OBJECT_STORE_SERVICES: + return ( + + handleShowFilter(value, ShowFilter.showContainerFilter) + } + includePattern={containerFilterPattern?.includes ?? []} + type={FilterPatternEnum.CONTAINER} + /> + ); default: return <>; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/addIngestion.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/addIngestion.interface.ts index fb7c560d880..544249ce146 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/addIngestion.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/AddIngestion/addIngestion.interface.ts @@ -97,6 +97,7 @@ export interface AddIngestionState { database?: string; dashboardFilterPattern: FilterPattern; databaseFilterPattern: FilterPattern; + containerFilterPattern: FilterPattern; isDatabaseFilterDisabled: boolean; databaseServiceNames: string[]; dbtClassificationName: string; @@ -145,6 +146,7 @@ export interface AddIngestionState { processPii: boolean; overrideOwner: boolean; confidence?: number; + showContainerFilter: boolean; } export enum ShowFilter { @@ -156,4 +158,5 @@ export enum ShowFilter { showSchemaFilter = 'showSchemaFilter', showTableFilter = 'showTableFilter', showTopicFilter = 'showTopicFilter', + showContainerFilter = 'showContainerFilter', } diff --git a/openmetadata-ui/src/main/resources/ui/src/enums/filterPattern.enum.ts b/openmetadata-ui/src/main/resources/ui/src/enums/filterPattern.enum.ts index 89888d1e080..5cc626b93aa 100644 --- a/openmetadata-ui/src/main/resources/ui/src/enums/filterPattern.enum.ts +++ b/openmetadata-ui/src/main/resources/ui/src/enums/filterPattern.enum.ts @@ -21,4 +21,5 @@ export enum FilterPatternEnum { FQN = 'fqn', PIPELINE = 'pipeline', MLMODEL = 'mlModel', + CONTAINER = 'container', } diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx index b51ebe11660..3b5dd05f906 100644 --- a/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/pages/ContainerPage/ContainerPage.tsx @@ -46,7 +46,7 @@ import { Container } from 'generated/entity/data/container'; import { EntityLineage } from 'generated/type/entityLineage'; import { EntityReference } from 'generated/type/entityReference'; import { LabelType, State, TagSource } from 'generated/type/tagLabel'; -import { isUndefined, omitBy } from 'lodash'; +import { isUndefined, omitBy, toString } from 'lodash'; import { observer } from 'mobx-react'; import { EntityTags, ExtraInfo } from 'Models'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; @@ -275,7 +275,7 @@ const ContainerPage = () => { }, { key: EntityInfo.NUMBER_OF_OBJECTS, - value: numberOfObjects, + value: toString(numberOfObjects), showLabel: true, }, { diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx index 93c1210e41b..7dd54fefa8e 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx @@ -884,6 +884,8 @@ export const getFilterTypes = ( return 'schemaFilterPattern' as keyof AddIngestionState; case FilterPatternEnum.TABLE: return 'tableFilterPattern' as keyof AddIngestionState; + case FilterPatternEnum.CONTAINER: + return 'containerFilterPattern' as keyof AddIngestionState; default: return 'topicFilterPattern' as keyof AddIngestionState; }