UNPKG

@azure/cosmos

Version:
50 lines 2.64 kB
import type { RetryOptions } from "../retry/retryOptions.js"; import { ConnectionMode } from "./ConnectionMode.js"; /** * Represents the Connection policy associated with a CosmosClient in the Azure Cosmos DB database service. */ export interface ConnectionPolicy { /** Determines which mode to connect to Cosmos with. (Currently only supports Gateway option) */ connectionMode?: ConnectionMode; /** Request timeout (time to wait for response from network peer). Represented in milliseconds. */ requestTimeout?: number; /** * Flag to enable/disable automatic redirecting of requests based on read/write operations. Default true. * Required to call client.dispose() when this is set to true after destroying the CosmosClient inside another process or in the browser. */ enableEndpointDiscovery?: boolean; /** List of azure regions to be used as preferred locations for read requests. */ preferredLocations?: string[]; /** RetryOptions object which defines several configurable properties used during retry. */ retryOptions?: RetryOptions; /** * The flag that enables writes on any locations (regions) for geo-replicated database accounts in the Azure Cosmos DB service. * Default is `true`. */ useMultipleWriteLocations?: boolean; /** Rate in milliseconds at which the client will refresh the endpoints list in the background */ endpointRefreshRateInMs?: number; /** Flag to enable/disable background refreshing of endpoints. Defaults to true. * Endpoint discovery using `enableEndpointsDiscovery` will still work for failed requests. */ enableBackgroundEndpointRefreshing?: boolean; /** * Flag to enable/disable Per Partition Level Failover (PPAF). Defaults to true. * Automatically failovers to other available partitions when a partition becomes unavailable. * When enabled, enablePartitionLevelCircuitBreaker will also be set to true. * Note: Dynamic enablement requires both `enableEndpointDiscovery` and * `enableBackgroundEndpointRefreshing` to be `true`. If endpoint discovery * is disabled, this setting has no effect. */ enablePartitionLevelFailover?: boolean; /** * Flag to enable/disable Per Partition Level Circuit Breaker (PPCB). Defaults to false. * Note: Requires `enableEndpointDiscovery` to be `true`. If endpoint discovery * is disabled, this setting has no effect. */ enablePartitionLevelCircuitBreaker?: boolean; } /** * @hidden */ export declare const defaultConnectionPolicy: ConnectionPolicy; //# sourceMappingURL=ConnectionPolicy.d.ts.map