couchbase
Version:
The official Couchbase Node.js Client Library.
319 lines (318 loc) • 6.88 kB
TypeScript
import { ServiceType } from './generaltypes';
/**
* Represents the status of an an endpoint in a diagnostics report.
*
* @category Diagnostics
*/
export declare enum EndpointState {
/**
* Indicates the endpoint is disconnected.
*/
Disconnected = 0,
/**
* Indicates the endpoint is still connecting.
*/
Connecting = 1,
/**
* Indicates the endpoint is connected.
*/
Connected = 2,
/**
* Indicates the endpoint is disconnecting.
*/
Disconnecting = 3
}
/**
* Represents the status of an an endpoint in a ping report.
*/
export declare enum PingState {
/**
* Indicates the endpoint was pinged successfully.
*/
Ok = 0,
/**
* Indicates the endpoint timed out during the ping.
*/
Timeout = 1,
/**
* Indicates an error occured trying to ping the endpoint.
*/
Error = 2
}
/**
* The JSON-formated output report from a ping operation.
*
* @see {PingResult}
* @category Diagnostics
*/
export interface JsonPingReport {
version: number;
id: string;
sdk: string;
services: {
[serviceType: string]: {
latency_us: number;
remote: string;
local: string;
id: string;
state: string;
namespace?: string;
error?: string;
}[];
};
}
/**
* The JSON-formated output report from a diagnostics operation.
*
* @see {DiagnosticsResult}
* @category Diagnostics
*/
export interface JsonDiagnosticsReport {
version: number;
id: string;
sdk: string;
services: {
[serviceType: string]: {
last_activity_us?: number;
remote: string;
local: string;
id: string;
state: string;
namespace?: string;
details?: string;
}[];
};
}
/**
* PingEndpoint represents a single endpoint in a ping result.
*
* @category Diagnostics
*/
export declare class PingEndpoint {
/**
* @internal
*/
constructor(data: PingEndpoint);
/**
* The type of service this endpoint refers to.
*/
type: ServiceType;
/**
* The unique identifier for this endpoint.
*/
id: string;
/**
* The remote address of this endpoint.
*/
remote: string;
/**
* The local address of this endpoint.
*/
local: string;
/**
* The latency of the ping to the endpoint.
*/
latency: number;
/**
* The current state of this endpoint.
*/
state: PingState;
/**
* The bucket this endpoint is connected to.
*/
bucket?: string;
/**
* Information about errors that occured during pinging.
*/
error?: any;
}
/**
* PingResult represents the output of a ping operation.
*
* @category Diagnostics
*/
export declare class PingResult {
/**
* @internal
*/
constructor(data: {
version: number;
id: string;
sdk: string;
services: {
[serviceType: string]: PingEndpoint[];
};
});
/**
* The version number of this report.
*/
version: number;
/**
* The unique identifier for this report.
*/
id: string;
/**
* The name of the SDK which generated this report.
*/
sdk: string;
/**
* A list of service endpoints and their ping results.
*/
services: {
[serviceType: string]: PingEndpoint[];
};
/**
* Returns a JSON formatted ping report.
*/
toJSON(): JsonPingReport;
}
/**
* @category Diagnostics
*/
export interface PingOptions {
/**
* A unique identifier for the report generated by this operation.
*/
reportId?: string;
/**
* The services which should be pinged.
*/
serviceTypes?: ServiceType[];
/**
* The name of the bucket to ping.
*/
bucket?: string;
/**
* The timeout for this operation, represented in milliseconds.
*/
timeout?: number;
}
/**
* DiagnosticsEndpoint represents a single endpoint in a diagnostics
* result.
*
* @category Diagnostics
*/
export declare class DiagnosticsEndpoint {
/**
* @internal
*/
constructor(data: DiagnosticsEndpoint);
/**
* The type of service this entry represents.
*/
type: ServiceType;
/**
* The unique identifier for this endpoint.
*/
id: string;
/**
* The local address of this endpoint.
*/
local: string;
/**
* The remote address of this endpoint.
*/
remote: string;
/**
* The time in milliseconds since the last activity.
*/
lastActivity: number;
/**
* The current state of this endpoint.
*/
state: EndpointState;
/**
* The name of the bucket this endpoint is connected to.
*/
bucket?: string;
/**
* Various additional details about the endpoint.
*/
details?: any;
}
/**
* DiagnosticsResult represents the output of a operation result.
*
* @category Diagnostics
*/
export declare class DiagnosticsResult {
/**
* @internal
*/
constructor(data: {
version: number;
id: string;
sdk: string;
services: {
[serviceType: string]: DiagnosticsEndpoint[];
};
});
/**
* The version number of this report.
*/
version: number;
/**
* The unique identifier for this report.
*/
id: string;
/**
* The name of the SDK which generated this report.
*/
sdk: string;
/**
* A list of service endpoints and their diagnostic status.
*/
services: {
[serviceType: string]: DiagnosticsEndpoint[];
};
/**
* Returns a JSON formatted diagnostics report.
*/
toJSON(): JsonDiagnosticsReport;
}
/**
* @category Diagnostics
*/
export interface DiagnosticsOptions {
/**
* A unique identifier for the report generated by this operation.
*/
reportId?: string;
}
/**
* Represents the desired state of a cluster.
*
* @category Diagnostics
*/
export declare enum ClusterState {
/**
* Indicates that all nodes and their sockets are reachable.
*/
Online = "online",
/**
* Indicates that at least one socket per service is reachable.
*/
Degraded = "degraded",
/**
* Indicates that not even one socket per service is reachable.
* Invalid as a desired state for waitUntilReady.
*/
Offline = "offline"
}
/**
* Options for the waitUntilReady operation on a Cluster or Bucket.
*
* @category Diagnostics
*/
export interface WaitUntilReadyOptions {
/**
* The desired cluster state to wait for.
* Defaults to ClusterState.Online.
*/
desiredState?: ClusterState;
/**
* The set of services to wait on.
*/
serviceTypes?: ServiceType[];
}