///
import { EventEmitter } from 'events';
import { SecureContextOptions } from 'tls';
import Transport, {
ApiResponse,
EventMeta,
SniffMeta,
TransportRequestParams,
TransportRequestOptions
} from './lib/Transport';
import Connection, { AgentOptions } from './lib/Connection';
import ConnectionPool, { nodeSelectorFn, nodeFilterFn, ResurrectMeta } from './lib/ConnectionPool';
import Serializer from './lib/Serializer';
import * as RequestParams from './api/requestParams';
import * as errors from './lib/errors';
declare type anyObject = {
[key: string]: any;
};
declare type callbackFn = (err: Error | null, result: ApiResponse) => void;
interface ApiMethod {
(callback?: callbackFn): any;
(params: T, callback?: callbackFn): any;
(params: T, options: TransportRequestOptions, callback?: callbackFn): any;
}
// Extend API
interface ClientExtendsCallbackOptions {
ConfigurationError: errors.ConfigurationError,
makeRequest(params: TransportRequestParams, options?: TransportRequestOptions): Promise | void;
result: {
body: null,
statusCode: null,
headers: null,
warnings: null
}
}
declare type extendsCallback = (options: ClientExtendsCallbackOptions) => any;
interface ClientExtends {
(method: string, fn: extendsCallback): void;
(method: string, opts: { force: boolean }, fn: extendsCallback): void;
}
// /Extend API
interface ClientOptions {
node?: string | string[];
nodes?: string | string[];
Connection?: typeof Connection;
ConnectionPool?: typeof ConnectionPool;
Transport?: typeof Transport;
Serializer?: typeof Serializer;
maxRetries?: number;
requestTimeout?: number;
pingTimeout?: number;
sniffInterval?: number;
sniffOnStart?: boolean;
sniffEndpoint?: string;
sniffOnConnectionFault?: boolean;
resurrectStrategy?: 'ping' | 'optimistic' | 'none';
suggestCompression?: boolean;
compression?: 'gzip';
ssl?: SecureContextOptions;
agent?: AgentOptions;
nodeFilter?: nodeFilterFn;
nodeSelector?: nodeSelectorFn | string;
cloud?: {
id: string;
username: string;
password: string;
}
}
declare class Client extends EventEmitter {
constructor(opts?: ClientOptions);
connectionPool: ConnectionPool;
transport: Transport;
serializer: Serializer;
extend: ClientExtends;
close(callback?: Function): Promise | void;
bulk: ApiMethod
cat: {
aliases: ApiMethod
allocation: ApiMethod
count: ApiMethod
fielddata: ApiMethod
health: ApiMethod
help: ApiMethod
indices: ApiMethod
master: ApiMethod
nodeattrs: ApiMethod
nodes: ApiMethod
pending_tasks: ApiMethod
pendingTasks: ApiMethod
plugins: ApiMethod
recovery: ApiMethod
repositories: ApiMethod
segments: ApiMethod
shards: ApiMethod
snapshots: ApiMethod
tasks: ApiMethod
templates: ApiMethod
thread_pool: ApiMethod
threadPool: ApiMethod
}
ccr: {
delete_auto_follow_pattern: ApiMethod
deleteAutoFollowPattern: ApiMethod
follow: ApiMethod
follow_info: ApiMethod
followInfo: ApiMethod
follow_stats: ApiMethod
followStats: ApiMethod
get_auto_follow_pattern: ApiMethod
getAutoFollowPattern: ApiMethod
pause_follow: ApiMethod
pauseFollow: ApiMethod
put_auto_follow_pattern: ApiMethod
putAutoFollowPattern: ApiMethod
resume_follow: ApiMethod
resumeFollow: ApiMethod
stats: ApiMethod
unfollow: ApiMethod
}
clear_scroll: ApiMethod
clearScroll: ApiMethod
cluster: {
allocation_explain: ApiMethod
allocationExplain: ApiMethod
get_settings: ApiMethod
getSettings: ApiMethod
health: ApiMethod
pending_tasks: ApiMethod
pendingTasks: ApiMethod
put_settings: ApiMethod
putSettings: ApiMethod
remote_info: ApiMethod
remoteInfo: ApiMethod
reroute: ApiMethod
state: ApiMethod
stats: ApiMethod
}
count: ApiMethod
create: ApiMethod
delete: ApiMethod
delete_by_query: ApiMethod
deleteByQuery: ApiMethod
delete_by_query_rethrottle: ApiMethod
deleteByQueryRethrottle: ApiMethod
delete_script: ApiMethod
deleteScript: ApiMethod
exists: ApiMethod
exists_source: ApiMethod
existsSource: ApiMethod
explain: ApiMethod
field_caps: ApiMethod
fieldCaps: ApiMethod
get: ApiMethod
get_script: ApiMethod
getScript: ApiMethod
get_source: ApiMethod
getSource: ApiMethod
ilm: {
delete_lifecycle: ApiMethod
deleteLifecycle: ApiMethod
explain_lifecycle: ApiMethod
explainLifecycle: ApiMethod
get_lifecycle: ApiMethod
getLifecycle: ApiMethod
get_status: ApiMethod
getStatus: ApiMethod
move_to_step: ApiMethod
moveToStep: ApiMethod
put_lifecycle: ApiMethod
putLifecycle: ApiMethod
remove_policy: ApiMethod
removePolicy: ApiMethod
retry: ApiMethod
start: ApiMethod
stop: ApiMethod
}
index: ApiMethod
indices: {
analyze: ApiMethod
clear_cache: ApiMethod
clearCache: ApiMethod
close: ApiMethod
create: ApiMethod
delete: ApiMethod
delete_alias: ApiMethod
deleteAlias: ApiMethod
delete_template: ApiMethod
deleteTemplate: ApiMethod
exists: ApiMethod
exists_alias: ApiMethod
existsAlias: ApiMethod
exists_template: ApiMethod
existsTemplate: ApiMethod
exists_type: ApiMethod
existsType: ApiMethod
flush: ApiMethod
flush_synced: ApiMethod
flushSynced: ApiMethod
forcemerge: ApiMethod
freeze: ApiMethod
get: ApiMethod
get_alias: ApiMethod
getAlias: ApiMethod
get_field_mapping: ApiMethod
getFieldMapping: ApiMethod
get_mapping: ApiMethod
getMapping: ApiMethod
get_settings: ApiMethod
getSettings: ApiMethod
get_template: ApiMethod
getTemplate: ApiMethod
get_upgrade: ApiMethod
getUpgrade: ApiMethod
open: ApiMethod
put_alias: ApiMethod
putAlias: ApiMethod
put_mapping: ApiMethod
putMapping: ApiMethod
put_settings: ApiMethod
putSettings: ApiMethod
put_template: ApiMethod
putTemplate: ApiMethod
recovery: ApiMethod
refresh: ApiMethod
rollover: ApiMethod
segments: ApiMethod
shard_stores: ApiMethod
shardStores: ApiMethod
shrink: ApiMethod
split: ApiMethod
stats: ApiMethod
unfreeze: ApiMethod
update_aliases: ApiMethod
updateAliases: ApiMethod
upgrade: ApiMethod
validate_query: ApiMethod
validateQuery: ApiMethod
}
info: ApiMethod
ingest: {
delete_pipeline: ApiMethod
deletePipeline: ApiMethod
get_pipeline: ApiMethod
getPipeline: ApiMethod
processor_grok: ApiMethod
processorGrok: ApiMethod
put_pipeline: ApiMethod
putPipeline: ApiMethod
simulate: ApiMethod
}
mget: ApiMethod
ml: {
close_job: ApiMethod
closeJob: ApiMethod
delete_calendar: ApiMethod
deleteCalendar: ApiMethod
delete_calendar_event: ApiMethod
deleteCalendarEvent: ApiMethod
delete_calendar_job: ApiMethod
deleteCalendarJob: ApiMethod
delete_datafeed: ApiMethod
deleteDatafeed: ApiMethod
delete_expired_data: ApiMethod
deleteExpiredData: ApiMethod
delete_filter: ApiMethod
deleteFilter: ApiMethod
delete_forecast: ApiMethod
deleteForecast: ApiMethod
delete_job: ApiMethod
deleteJob: ApiMethod
delete_model_snapshot: ApiMethod
deleteModelSnapshot: ApiMethod
find_file_structure: ApiMethod
findFileStructure: ApiMethod
flush_job: ApiMethod
flushJob: ApiMethod
forecast: ApiMethod
get_buckets: ApiMethod
getBuckets: ApiMethod
get_calendar_events: ApiMethod
getCalendarEvents: ApiMethod
get_calendars: ApiMethod
getCalendars: ApiMethod
get_categories: ApiMethod
getCategories: ApiMethod
get_datafeed_stats: ApiMethod
getDatafeedStats: ApiMethod
get_datafeeds: ApiMethod
getDatafeeds: ApiMethod
get_filters: ApiMethod
getFilters: ApiMethod
get_influencers: ApiMethod
getInfluencers: ApiMethod
get_job_stats: ApiMethod
getJobStats: ApiMethod
get_jobs: ApiMethod
getJobs: ApiMethod
get_model_snapshots: ApiMethod
getModelSnapshots: ApiMethod
get_overall_buckets: ApiMethod
getOverallBuckets: ApiMethod
get_records: ApiMethod
getRecords: ApiMethod
info: ApiMethod
open_job: ApiMethod
openJob: ApiMethod
post_calendar_events: ApiMethod
postCalendarEvents: ApiMethod
post_data: ApiMethod
postData: ApiMethod
preview_datafeed: ApiMethod
previewDatafeed: ApiMethod
put_calendar: ApiMethod
putCalendar: ApiMethod
put_calendar_job: ApiMethod
putCalendarJob: ApiMethod
put_datafeed: ApiMethod
putDatafeed: ApiMethod
put_filter: ApiMethod
putFilter: ApiMethod
put_job: ApiMethod
putJob: ApiMethod
revert_model_snapshot: ApiMethod
revertModelSnapshot: ApiMethod
set_upgrade_mode: ApiMethod
setUpgradeMode: ApiMethod
start_datafeed: ApiMethod
startDatafeed: ApiMethod
stop_datafeed: ApiMethod
stopDatafeed: ApiMethod
update_datafeed: ApiMethod
updateDatafeed: ApiMethod
update_filter: ApiMethod
updateFilter: ApiMethod
update_job: ApiMethod
updateJob: ApiMethod
update_model_snapshot: ApiMethod
updateModelSnapshot: ApiMethod
validate: ApiMethod
validate_detector: ApiMethod