yahoo-swiv
Version:
A web-based exploratory visualization UI for Druid.io
84 lines (83 loc) • 2.89 kB
TypeScript
import { BaseImmutable, Property } from 'immutable-class';
import { External } from 'swiv-plywood';
export declare type SupportedType = 'druid' | 'mysql' | 'postgres';
export declare type SourceListScan = 'disable' | 'auto';
export interface ClusterValue {
name: string;
type: SupportedType;
title?: string;
host?: string;
version?: string;
timeout?: number;
sourceListScan?: SourceListScan;
sourceListRefreshOnLoad?: boolean;
sourceListRefreshInterval?: number;
sourceReintrospectOnLoad?: boolean;
sourceReintrospectInterval?: number;
introspectionStrategy?: string;
requestDecorator?: string;
decoratorOptions?: any;
database?: string;
user?: string;
password?: string;
}
export interface ClusterJS {
name: string;
type: SupportedType;
title?: string;
host?: string;
version?: string;
timeout?: number;
sourceListScan?: SourceListScan;
sourceListRefreshOnLoad?: boolean;
sourceListRefreshInterval?: number;
sourceReintrospectOnLoad?: boolean;
sourceReintrospectInterval?: number;
introspectionStrategy?: string;
requestDecorator?: string;
decoratorOptions?: any;
database?: string;
user?: string;
password?: string;
}
export declare class Cluster extends BaseImmutable<ClusterValue, ClusterJS> {
static TYPE_VALUES: SupportedType[];
static DEFAULT_TIMEOUT: number;
static DEFAULT_SOURCE_LIST_SCAN: SourceListScan;
static SOURCE_LIST_SCAN_VALUES: SourceListScan[];
static DEFAULT_SOURCE_LIST_REFRESH_INTERVAL: number;
static DEFAULT_SOURCE_REINTROSPECT_INTERVAL: number;
static DEFAULT_INTROSPECTION_STRATEGY: string;
static isCluster(candidate: any): candidate is Cluster;
static fromJS(parameters: ClusterJS): Cluster;
static PROPERTIES: Property[];
name: string;
type: SupportedType;
host: string;
title: string;
version: string;
timeout: number;
sourceListScan: SourceListScan;
sourceListRefreshOnLoad: boolean;
sourceListRefreshInterval: number;
sourceReintrospectOnLoad: boolean;
sourceReintrospectInterval: number;
introspectionStrategy: string;
requestDecorator: string;
decoratorOptions: any;
database: string;
user: string;
password: string;
constructor(parameters: ClusterValue);
getTimeout: () => number;
getSourceListScan: () => SourceListScan;
getSourceListRefreshInterval: () => number;
getSourceReintrospectInterval: () => number;
getIntrospectionStrategy: () => string;
changeHost: (newHost: string) => Cluster;
changeTimeout: (newTimeout: string) => Cluster;
changeSourceListRefreshInterval: (newSourceListRefreshInterval: string) => Cluster;
toClientCluster(): Cluster;
makeExternalFromSourceName(source: string, version?: string): External;
shouldScanSources(): boolean;
}