import _m0 from 'protobufjs/minimal'; import { MaintenanceWindow, MaintenanceOperation } from '../../../../../yandex/cloud/mdb/spqr/v1/maintenance'; import { SPQRConfig } from '../../../../../yandex/cloud/mdb/spqr/v1/config'; import { TimeOfDay } from '../../../../../google/type/timeofday'; export declare const protobufPackage = "yandex.cloud.mdb.spqr.v1"; /** A managed SPQR cluster. For more information, see the [documentation](/docs/managed-spqr/concepts). */ export interface Cluster { /** * ID of the SPQR cluster. * This ID is assigned by MDB at creation time. */ id: string; /** ID of the folder that the SPQR cluster belongs to. */ folderId: string; /** Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ createdAt?: Date; /** * Name of the SPQR cluster. * The name is unique within the folder. 1-63 characters long. */ name: string; /** Description of the SPQR cluster. 0-256 characters long. */ description: string; /** Custom labels for the SPQR cluster as `` key:value `` pairs. Maximum 64 per resource. */ labels: { [key: string]: string; }; /** Deployment environment of the SPQR cluster. */ environment: Cluster_Environment; /** Description of monitoring systems relevant to the SPQR cluster. */ monitoring: Monitoring[]; /** Configuration of the SPQR cluster. */ config?: ClusterConfig; /** ID of the network that the cluster belongs to. */ networkId: string; /** Aggregated cluster health. */ health: Cluster_Health; /** Current state of the cluster. */ status: Cluster_Status; /** Maintenance window for the cluster. */ maintenanceWindow?: MaintenanceWindow; /** Planned maintenance operation to be started for the cluster within the nearest [maintenance_window]. */ plannedOperation?: MaintenanceOperation; /** User security groups */ securityGroupIds: string[]; /** Deletion Protection inhibits deletion of the cluster */ deletionProtection: boolean; } /** Deployment environment. */ export declare enum Cluster_Environment { ENVIRONMENT_UNSPECIFIED = 0, /** * PRODUCTION - Stable environment with a conservative update policy: only hotfixes * are applied during regular maintenance. */ PRODUCTION = 1, /** * PRESTABLE - Environment with more aggressive update policy: new versions * are rolled out irrespective of backward compatibility. */ PRESTABLE = 2, UNRECOGNIZED = -1 } export declare function cluster_EnvironmentFromJSON(object: any): Cluster_Environment; export declare function cluster_EnvironmentToJSON(object: Cluster_Environment): string; export declare enum Cluster_Health { /** HEALTH_UNKNOWN - State of the cluster is unknown ([Host.health] for every host in the cluster is UNKNOWN). */ HEALTH_UNKNOWN = 0, /** ALIVE - Cluster is alive and well ([Host.health] for every host in the cluster is ALIVE). */ ALIVE = 1, /** DEAD - Cluster is inoperable ([Host.health] for every host in the cluster is DEAD). */ DEAD = 2, /** DEGRADED - Cluster is working below capacity ([Host.health] for at least one host in the cluster is not ALIVE). */ DEGRADED = 3, UNRECOGNIZED = -1 } export declare function cluster_HealthFromJSON(object: any): Cluster_Health; export declare function cluster_HealthToJSON(object: Cluster_Health): string; export declare enum Cluster_Status { /** STATUS_UNKNOWN - Cluster state is unknown. */ STATUS_UNKNOWN = 0, /** CREATING - Cluster is being created. */ CREATING = 1, /** RUNNING - Cluster is running normally. */ RUNNING = 2, /** ERROR - Cluster encountered a problem and cannot operate. */ ERROR = 3, /** UPDATING - Cluster is being updated. */ UPDATING = 4, /** STOPPING - Cluster is stopping. */ STOPPING = 5, /** STOPPED - Cluster stopped. */ STOPPED = 6, /** STARTING - Cluster is starting. */ STARTING = 7, UNRECOGNIZED = -1 } export declare function cluster_StatusFromJSON(object: any): Cluster_Status; export declare function cluster_StatusToJSON(object: Cluster_Status): string; export interface Cluster_LabelsEntry { key: string; value: string; } /** Monitoring system. */ export interface Monitoring { /** Name of the monitoring system. */ name: string; /** Description of the monitoring system. */ description: string; /** Link to the monitoring system charts for the SPQR cluster. */ link: string; } export interface ClusterConfig { /** Configuration for SPQR servers in the cluster. */ spqrConfig?: SPQRConfig; /** Time to start the daily backup, in the UTC timezone. */ backupWindowStart?: TimeOfDay; /** Retain period of automatically created backup in days */ backupRetainPeriodDays?: number; /** Access policy to DB */ access?: Access; soxAudit?: boolean; } export interface Access { /** Allow access for DataLens. */ dataLens: boolean; /** Allow access for Web SQL. */ webSql: boolean; /** Allow access for DataTransfer. */ dataTransfer: boolean; /** * Allow access for Serverless. * NOTE: Do not propagate to public API until Serverless integration is required. */ serverless: boolean; } export declare const Cluster: { encode(message: Cluster, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Cluster; fromJSON(object: any): Cluster; toJSON(message: Cluster): unknown; fromPartial, never>) | undefined; environment?: Cluster_Environment | undefined; monitoring?: ({ name?: string | undefined; description?: string | undefined; link?: string | undefined; }[] & ({ name?: string | undefined; description?: string | undefined; link?: string | undefined; } & { name?: string | undefined; description?: string | undefined; link?: string | undefined; } & Record, never>)[] & Record, never>) | undefined; config?: ({ spqrConfig?: { router?: { config?: { showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } | undefined; coordinator?: { config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } | undefined; postgresql?: { config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } | undefined; infra?: { resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; router?: { showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } | undefined; coordinator?: {} | undefined; } | undefined; logLevel?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").LogLevel | undefined; balancer?: { cpuThreshold?: number | undefined; spaceThreshold?: number | undefined; statIntervalSec?: number | undefined; maxMoveCount?: number | undefined; keysPerMove?: number | undefined; timeout?: number | undefined; } | undefined; } | undefined; backupWindowStart?: { hours?: number | undefined; minutes?: number | undefined; seconds?: number | undefined; nanos?: number | undefined; } | undefined; backupRetainPeriodDays?: number | undefined; access?: { dataLens?: boolean | undefined; webSql?: boolean | undefined; dataTransfer?: boolean | undefined; serverless?: boolean | undefined; } | undefined; soxAudit?: boolean | undefined; } & { spqrConfig?: ({ router?: { config?: { showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } | undefined; coordinator?: { config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } | undefined; postgresql?: { config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } | undefined; infra?: { resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; router?: { showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } | undefined; coordinator?: {} | undefined; } | undefined; logLevel?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").LogLevel | undefined; balancer?: { cpuThreshold?: number | undefined; spaceThreshold?: number | undefined; statIntervalSec?: number | undefined; maxMoveCount?: number | undefined; keysPerMove?: number | undefined; timeout?: number | undefined; } | undefined; } & { router?: ({ config?: { showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } & { config?: ({ showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } & { showNoticeMessages?: boolean | undefined; timeQuantiles?: (number[] & number[] & Record, never>) | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } & Record, never>) | undefined; resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; coordinator?: ({ config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } & { config?: ({} & {} & Record, never>) | undefined; resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; postgresql?: ({ config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } & { config?: ({} & {} & Record, never>) | undefined; resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; infra?: ({ resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; router?: { showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } | undefined; coordinator?: {} | undefined; } & { resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; router?: ({ showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } & { showNoticeMessages?: boolean | undefined; timeQuantiles?: (number[] & number[] & Record, never>) | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } & Record, never>) | undefined; coordinator?: ({} & {} & Record, never>) | undefined; } & Record, never>) | undefined; logLevel?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").LogLevel | undefined; balancer?: ({ cpuThreshold?: number | undefined; spaceThreshold?: number | undefined; statIntervalSec?: number | undefined; maxMoveCount?: number | undefined; keysPerMove?: number | undefined; timeout?: number | undefined; } & { cpuThreshold?: number | undefined; spaceThreshold?: number | undefined; statIntervalSec?: number | undefined; maxMoveCount?: number | undefined; keysPerMove?: number | undefined; timeout?: number | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; backupWindowStart?: ({ hours?: number | undefined; minutes?: number | undefined; seconds?: number | undefined; nanos?: number | undefined; } & { hours?: number | undefined; minutes?: number | undefined; seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; backupRetainPeriodDays?: number | undefined; access?: ({ dataLens?: boolean | undefined; webSql?: boolean | undefined; dataTransfer?: boolean | undefined; serverless?: boolean | undefined; } & { dataLens?: boolean | undefined; webSql?: boolean | undefined; dataTransfer?: boolean | undefined; serverless?: boolean | undefined; } & Record, never>) | undefined; soxAudit?: boolean | undefined; } & Record, never>) | undefined; networkId?: string | undefined; health?: Cluster_Health | undefined; status?: Cluster_Status | undefined; maintenanceWindow?: ({ anytime?: {} | undefined; weeklyMaintenanceWindow?: { day?: import("../../../../../yandex/cloud/mdb/spqr/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined; hour?: number | undefined; } | undefined; } & { anytime?: ({} & {} & Record, never>) | undefined; weeklyMaintenanceWindow?: ({ day?: import("../../../../../yandex/cloud/mdb/spqr/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined; hour?: number | undefined; } & { day?: import("../../../../../yandex/cloud/mdb/spqr/v1/maintenance").WeeklyMaintenanceWindow_WeekDay | undefined; hour?: number | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; plannedOperation?: ({ info?: string | undefined; delayedUntil?: Date | undefined; latestMaintenanceTime?: Date | undefined; nextMaintenanceWindowTime?: Date | undefined; } & { info?: string | undefined; delayedUntil?: Date | undefined; latestMaintenanceTime?: Date | undefined; nextMaintenanceWindowTime?: Date | undefined; } & Record, never>) | undefined; securityGroupIds?: (string[] & string[] & Record, never>) | undefined; deletionProtection?: boolean | undefined; } & Record, never>>(object: I): Cluster; }; export declare const Cluster_LabelsEntry: { encode(message: Cluster_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Cluster_LabelsEntry; fromJSON(object: any): Cluster_LabelsEntry; toJSON(message: Cluster_LabelsEntry): unknown; fromPartial, never>>(object: I): Cluster_LabelsEntry; }; export declare const Monitoring: { encode(message: Monitoring, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Monitoring; fromJSON(object: any): Monitoring; toJSON(message: Monitoring): unknown; fromPartial, never>>(object: I): Monitoring; }; export declare const ClusterConfig: { encode(message: ClusterConfig, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ClusterConfig; fromJSON(object: any): ClusterConfig; toJSON(message: ClusterConfig): unknown; fromPartial, never>) | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } & Record, never>) | undefined; resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; coordinator?: ({ config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } & { config?: ({} & {} & Record, never>) | undefined; resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; postgresql?: ({ config?: {} | undefined; resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; } & { config?: ({} & {} & Record, never>) | undefined; resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; infra?: ({ resources?: { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } | undefined; router?: { showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } | undefined; coordinator?: {} | undefined; } & { resources?: ({ resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & { resourcePresetId?: string | undefined; diskSize?: number | undefined; diskTypeId?: string | undefined; } & Record, never>) | undefined; router?: ({ showNoticeMessages?: boolean | undefined; timeQuantiles?: number[] | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } & { showNoticeMessages?: boolean | undefined; timeQuantiles?: (number[] & number[] & Record, never>) | undefined; defaultRouteBehavior?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").RouterSettings_DefaultRouteBehavior | undefined; preferSameAvailabilityZone?: boolean | undefined; } & Record, never>) | undefined; coordinator?: ({} & {} & Record, never>) | undefined; } & Record, never>) | undefined; logLevel?: import("../../../../../yandex/cloud/mdb/spqr/v1/config").LogLevel | undefined; balancer?: ({ cpuThreshold?: number | undefined; spaceThreshold?: number | undefined; statIntervalSec?: number | undefined; maxMoveCount?: number | undefined; keysPerMove?: number | undefined; timeout?: number | undefined; } & { cpuThreshold?: number | undefined; spaceThreshold?: number | undefined; statIntervalSec?: number | undefined; maxMoveCount?: number | undefined; keysPerMove?: number | undefined; timeout?: number | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; backupWindowStart?: ({ hours?: number | undefined; minutes?: number | undefined; seconds?: number | undefined; nanos?: number | undefined; } & { hours?: number | undefined; minutes?: number | undefined; seconds?: number | undefined; nanos?: number | undefined; } & Record, never>) | undefined; backupRetainPeriodDays?: number | undefined; access?: ({ dataLens?: boolean | undefined; webSql?: boolean | undefined; dataTransfer?: boolean | undefined; serverless?: boolean | undefined; } & { dataLens?: boolean | undefined; webSql?: boolean | undefined; dataTransfer?: boolean | undefined; serverless?: boolean | undefined; } & Record, never>) | undefined; soxAudit?: boolean | undefined; } & Record, never>>(object: I): ClusterConfig; }; export declare const Access: { encode(message: Access, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Access; fromJSON(object: any): Access; toJSON(message: Access): unknown; fromPartial, never>>(object: I): Access; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};