acm-client
Version:
aliyun acm client
135 lines (134 loc) • 4.88 kB
TypeScript
import { BaseClient, DataClientOptions, DiamondEnvOptions, IDiamondEnv, IServerListManager, ISnapshot, ServerListMgrOptions } from './interface';
declare const Base: any;
export declare class DataClient extends Base implements BaseClient {
private clients;
protected snapshot: ISnapshot;
protected serverMgr: IServerListManager;
constructor(options: DataClientOptions);
/**
* HTTP 请求客户端
* @property {Urllib} DiamondClient#urllib
*/
readonly httpclient: any;
readonly appName: any;
readonly appKey: any;
/**
* 获取当前机器所在机房
* @return {String} currentUnit
*/
getCurrentUnit(): Promise<string>;
/**
* 获取所有单元信息
* @return {Array} units
*/
getAllUnits(): Promise<string[]>;
/**
* 订阅
* @param {Object} info
* - {String} dataId - id of the data you want to subscribe
* - {String} [group] - group name of the data
* - {String} [unit] - which unit you want to connect, default is current unit
* @param {Function} listener - listener
* @return {DiamondClient} self
*/
subscribe(info: any, listener: any): this;
/**
* 退订
* @param {Object} info
* - {String} dataId - id of the data you want to subscribe
* - {String} [group] - group name of the data
* - {String} [unit] - which unit you want to connect, default is current unit
* @param {Function} listener - listener
* @return {DiamondClient} self
*/
unSubscribe(info: any, listener: any): this;
/**
* 获取配置
* @param {String} dataId - id of the data
* @param {String} group - group name of the data
* @param {Object} options
* - {Stirng} unit - which unit you want to connect, default is current unit
* @return {String} value
*/
getConfig(dataId: any, group: any, options: any): Promise<string>;
/**
* 查询租户下的所有的配置
* @return {Array} config
*/
getConfigs(): Promise<string[]>;
/**
* 发布配置
* @param {String} dataId - id of the data
* @param {String} group - group name of the data
* @param {String} content - config value
* @param {Object} options
* - {Stirng} unit - which unit you want to connect, default is current unit
* @return {Boolean} success
*/
publishSingle(dataId: any, group: any, content: any, options: any): Promise<boolean>;
/**
* 删除配置
* @param {String} dataId - id of the data
* @param {String} group - group name of the data
* @param {Object} options
* - {Stirng} unit - which unit you want to connect, default is current unit
* @return {Boolean} success
*/
remove(dataId: any, group: any, options: any): Promise<boolean>;
/**
* 批量获取配置
* @param {Array} dataIds - data id array
* @param {String} group - group name of the data
* @param {Object} options
* - {Stirng} unit - which unit you want to connect, default is current unit
* @return {Array} result
*/
batchGetConfig(dataIds: any, group: any, options: any): Promise<object>;
/**
* 批量查询
* @param {Array} dataIds - data id array
* @param {String} group - group name of the data
* @param {Object} options
* - {Stirng} unit - which unit you want to connect, default is current unit
* @return {Object} result
*/
batchQuery(dataIds: any, group: any, options: any): Promise<object>;
/**
* 将配置发布到所有单元
* @param {String} dataId - id of the data
* @param {String} group - group name of the data
* @param {String} content - config value
* @return {Boolean} success
*/
publishToAllUnit(dataId: any, group: any, content: any): Promise<boolean>;
/**
* 将配置从所有单元中删除
* @param {String} dataId - id of the data
* @param {String} group - group name of the data
* @return {Boolean} success
*/
removeToAllUnit(dataId: any, group: any): Promise<boolean>;
publishAggr(dataId: any, group: any, datumId: any, content: any, options: any): Promise<boolean>;
removeAggr(dataId: any, group: any, datumId: any, options: any): Promise<boolean>;
close(): void;
protected getClient(options?: {
unit?: string;
group?: any;
dataId?: any;
}): IDiamondEnv;
/**
* 默认异常处理
* @param {Error} err - 异常
* @return {void}
* @private
*/
private throwError;
/**
* 供其他包覆盖
* @param options
*/
protected getDiamondEnv(options: DiamondEnvOptions): IDiamondEnv;
protected getServerListManager(options: ServerListMgrOptions): IServerListManager;
protected getSnapshot(options: any): ISnapshot;
}
export {};