@creditkarma/consul-client
Version:
A client for Hashicorp Consul written in TypeScript
42 lines (41 loc) • 1.05 kB
TypeScript
export declare const enum RequestType {
GetRequest = "GetRequest",
UpdateRequest = "UpdateRequest",
DeleteRequest = "DeleteRequest"
}
export interface IKey {
path: string;
dc?: string;
}
export interface IKVRequest {
type: RequestType;
apiVersion: 'v1';
key: IKey;
token?: string;
index?: number;
subsection?: string;
section?: string;
}
export interface IConsulGetRequest extends IKVRequest {
type: RequestType.GetRequest;
section: 'kv';
}
export interface IConsulUpdateRequest<T = any> extends IKVRequest {
type: RequestType.UpdateRequest;
section: 'kv';
value: T;
}
export interface IConsulDeleteRequest extends IKVRequest {
type: RequestType.DeleteRequest;
section: 'kv';
}
export declare type KVRequest<T = any> = IConsulGetRequest | IConsulUpdateRequest<T> | IConsulDeleteRequest;
export interface IConsulMetadata {
CreateIndex: number;
ModifyIndex: number;
LockIndex: number;
Key: string;
Flags: number;
Value: string;
Session: string;
}