@creditkarma/consul-client
Version:
A client for Hashicorp Consul written in TypeScript
19 lines (18 loc) • 1.14 kB
TypeScript
import { OptionsOfJSONResponseBody } from 'got';
import { Observer } from '../Observer';
import { INodeDescription, IRegisterEntityPayload, IServiceHealthDescription, IServiceMap } from './types';
export declare class Catalog {
private client;
private consulAddresses;
private baseOptions;
private watchMap;
private maxRetries;
constructor(consulAddresses?: Array<string>, baseOptions?: OptionsOfJSONResponseBody, maxRetries?: number);
registerEntity(service: IRegisterEntityPayload, requestOptions?: OptionsOfJSONResponseBody): Promise<boolean>;
listNodes(requestOptions?: OptionsOfJSONResponseBody): Promise<Array<INodeDescription>>;
listServices(requestOptions?: OptionsOfJSONResponseBody): Promise<IServiceMap>;
listNodesForService(serviceName: string, requestOptions?: OptionsOfJSONResponseBody): Promise<Array<IServiceHealthDescription>>;
resolveAddress(serviceName: string, requestOptions?: OptionsOfJSONResponseBody): Promise<string>;
ignoreAddress(serviceName: string): void;
watchAddress(serviceName: string, requestOptions?: OptionsOfJSONResponseBody): Observer<string>;
}