diff --git a/changelogs/fragments/7839.yml b/changelogs/fragments/7839.yml
new file mode 100644
index 000000000000..3ba2fdc290e2
--- /dev/null
+++ b/changelogs/fragments/7839.yml
@@ -0,0 +1,2 @@
+fix:
+- Enable direct query connections to support in workspace ([#7839](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/7839))
\ No newline at end of file
diff --git a/src/plugins/data_source_management/public/index.ts b/src/plugins/data_source_management/public/index.ts
index 35a0474947d2..11c2864ec86f 100644
--- a/src/plugins/data_source_management/public/index.ts
+++ b/src/plugins/data_source_management/public/index.ts
@@ -11,7 +11,7 @@ export function plugin() {
return new DataSourceManagementPlugin();
}
-export { DataSourceManagementPluginStart } from './types';
+export { DataSourceManagementPluginStart, DirectQueryDatasourceDetails } from './types';
export { DataSourceSelector, DataSourceOption } from './components/data_source_selector';
export { DataSourceMenu } from './components/data_source_menu';
export { DataSourceManagementPlugin, DataSourceManagementPluginSetup } from './plugin';
@@ -26,3 +26,4 @@ export {
} from './components/data_source_menu';
export { DataSourceSelectionService } from './service/data_source_selection_service';
export { getDefaultDataSourceId, getDefaultDataSourceId$ } from './components/utils';
+export { DATACONNECTIONS_BASE, DatasourceTypeToDisplayName } from './constants';
diff --git a/src/plugins/workspace/common/constants.ts b/src/plugins/workspace/common/constants.ts
index 9556fea42b89..f66f7ea71752 100644
--- a/src/plugins/workspace/common/constants.ts
+++ b/src/plugins/workspace/common/constants.ts
@@ -148,4 +148,8 @@ export const CURRENT_USER_PLACEHOLDER = '%me%';
export const MAX_WORKSPACE_NAME_LENGTH = 40;
export const MAX_WORKSPACE_DESCRIPTION_LENGTH = 200;
+export enum AssociationDataSourceModalMode {
+ OpenSearchConnections = 'opensearch-connections',
+ DirectQueryConnections = 'direction-query-connections',
+}
export const USE_CASE_PREFIX = 'use-case-';
diff --git a/src/plugins/workspace/common/types.ts b/src/plugins/workspace/common/types.ts
index cf621a09143e..4b64f62d9e29 100644
--- a/src/plugins/workspace/common/types.ts
+++ b/src/plugins/workspace/common/types.ts
@@ -12,3 +12,18 @@ export type DataSource = Pick<
// Id defined in SavedObjectAttribute could be single or array, here only should be single string.
id: string;
};
+
+export enum DataSourceConnectionType {
+ OpenSearchConnection,
+ DirectQueryConnection,
+}
+
+export interface DataSourceConnection {
+ id: string;
+ type: string | undefined;
+ parentId?: string;
+ connectionType: DataSourceConnectionType;
+ name: string;
+ description?: string;
+ relatedConnections?: DataSourceConnection[];
+}
diff --git a/src/plugins/workspace/opensearch_dashboards.json b/src/plugins/workspace/opensearch_dashboards.json
index 9818ab60966d..2cbdab7f012c 100644
--- a/src/plugins/workspace/opensearch_dashboards.json
+++ b/src/plugins/workspace/opensearch_dashboards.json
@@ -9,5 +9,5 @@
"navigation"
],
"optionalPlugins": ["savedObjectsManagement","management","dataSourceManagement","contentManagement"],
- "requiredBundles": ["opensearchDashboardsReact","dataSource","contentManagement"]
+ "requiredBundles": ["opensearchDashboardsReact","dataSource", "dataSourceManagement","contentManagement"]
}
diff --git a/src/plugins/workspace/public/assets/prometheus_logo.svg b/src/plugins/workspace/public/assets/prometheus_logo.svg
new file mode 100644
index 000000000000..e21c6a7e2859
--- /dev/null
+++ b/src/plugins/workspace/public/assets/prometheus_logo.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/plugins/workspace/public/assets/s3_logo.svg b/src/plugins/workspace/public/assets/s3_logo.svg
new file mode 100644
index 000000000000..5b0c3a35aaad
--- /dev/null
+++ b/src/plugins/workspace/public/assets/s3_logo.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/plugins/workspace/public/components/workspace_detail/__snapshots__/workspace_detail.test.tsx.snap b/src/plugins/workspace/public/components/workspace_detail/__snapshots__/workspace_detail.test.tsx.snap
index bb99a1438265..d8a0e9e00ec9 100644
--- a/src/plugins/workspace/public/components/workspace_detail/__snapshots__/workspace_detail.test.tsx.snap
+++ b/src/plugins/workspace/public/components/workspace_detail/__snapshots__/workspace_detail.test.tsx.snap
@@ -177,7 +177,7 @@ exports[`WorkspaceDetail render workspace detail page normally 1`] = `
- Data Sources
+ Data sources