dsl-builder
Version:
OpenSearch Query Builder - Extract from OpenSearch Dashboards
50 lines (49 loc) • 1.59 kB
TypeScript
import { SavedObjectAttributes } from "./saved_objects";
export interface DataSourceAttributes extends SavedObjectAttributes {
title: string;
description?: string;
endpoint: string;
dataSourceVersion: string;
dataSourceEngineType?: DataSourceEngineType;
installedPlugins?: string[];
auth: {
type: AuthType | string;
credentials: UsernamePasswordTypedContent | SigV4Content | undefined | AuthTypeContent;
};
lastUpdatedTime?: string;
}
export interface AuthTypeContent {
[key: string]: string;
}
/**
* Multiple datasource supports authenticating as IAM user, it doesn't support IAM role.
* Because IAM role session requires temporary security credentials through assuming role,
* which makes no sense to store the credentials.
*/
export interface SigV4Content extends SavedObjectAttributes {
accessKey: string;
secretKey: string;
region: string;
service?: SigV4ServiceName;
sessionToken?: string;
}
export interface UsernamePasswordTypedContent extends SavedObjectAttributes {
username: string;
password: string;
}
export declare enum AuthType {
NoAuth = "no_auth",
UsernamePasswordType = "username_password",
SigV4 = "sigv4"
}
export declare enum SigV4ServiceName {
OpenSearch = "es",
OpenSearchServerless = "aoss"
}
export declare enum DataSourceEngineType {
OpenSearch = "OpenSearch",
OpenSearchServerless = "OpenSearch Serverless",
Elasticsearch = "Elasticsearch",
NA = "No Engine Type Available",
OpenSearchCrossCluster = "OpenSearch(Cross-cluster search)"
}