UNPKG

@yandex-cloud/nodejs-sdk

Version:
1,098 lines 2.5 MB
/// <reference types="node" /> import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, handleServerStreamingCall, Client, ClientUnaryCall, Metadata, CallOptions, ClientReadableStream, ServiceError } from "@grpc/grpc-js"; import _m0 from "protobufjs/minimal"; import { Cluster_Environment, Resources, Host_Type, Access, CloudStorage, Cluster, Host, Shard, ShardGroup } from "../../../../../yandex/cloud/mdb/clickhouse/v1/cluster"; import { MaintenanceWindow } from "../../../../../yandex/cloud/mdb/clickhouse/v1/maintenance"; import { FieldMask } from "../../../../../google/protobuf/field_mask"; import { ClickhouseConfig_ExternalDictionary, ClickhouseConfig } from "../../../../../yandex/cloud/mdb/clickhouse/v1/config/clickhouse"; import { TimeOfDay } from "../../../../../google/type/timeofday"; import { DatabaseSpec } from "../../../../../yandex/cloud/mdb/clickhouse/v1/database"; import { UserSpec } from "../../../../../yandex/cloud/mdb/clickhouse/v1/user"; import { Operation } from "../../../../../yandex/cloud/operation/operation"; import { Backup } from "../../../../../yandex/cloud/mdb/clickhouse/v1/backup"; export declare const protobufPackage = "yandex.cloud.mdb.clickhouse.v1"; export interface GetClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.GetClusterRequest"; /** * ID of the ClickHouse Cluster resource to return. * To get the cluster ID, use a [ClusterService.List] request. */ clusterId: string; } export interface ListClustersRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClustersRequest"; /** * ID of the folder to list ClickHouse clusters in. * To get the folder ID, use a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListClustersResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the [ListClustersResponse.next_page_token] * returned by the previous list request. */ pageToken: string; /** * A filter expression that filters resources listed in the response. * The expression must specify: * 1. The field name. Currently you can only use filtering with the [Cluster.name] field. * 2. An `=` operator. * 3. The value in double quotes (`"`). Must be 1-63 characters long and match the regular expression `[a-zA-Z0-9_-]+`. */ filter: string; } export interface ListClustersResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClustersResponse"; /** List of ClickHouse Cluster resources. */ clusters: Cluster[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListClustersRequest.page_size], use the [next_page_token] as the value * for the [ListClustersRequest.page_token] parameter in the next list request. Each subsequent * list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface CreateClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.CreateClusterRequest"; /** ID of the folder to create the ClickHouse cluster in. */ folderId: string; /** Name of the ClickHouse cluster. The name must be unique within the folder. */ name: string; /** Description of the ClickHouse cluster. */ description: string; /** * Custom labels for the ClickHouse cluster as `key:value` pairs. Maximum 64 per resource. * For example, "project": "mvp" or "source": "dictionary". */ labels: { [key: string]: string; }; /** Deployment environment of the ClickHouse cluster. */ environment: Cluster_Environment; /** Configuration and resources for hosts that should be created for the ClickHouse cluster. */ configSpec?: ConfigSpec; /** Descriptions of databases to be created in the ClickHouse cluster. */ databaseSpecs: DatabaseSpec[]; /** Descriptions of database users to be created in the ClickHouse cluster. */ userSpecs: UserSpec[]; /** Individual configurations for hosts that should be created for the ClickHouse cluster. */ hostSpecs: HostSpec[]; /** ID of the network to create the cluster in. */ networkId: string; /** Name of the first shard in cluster. If not set, defaults to the value 'shard1'. */ shardName: string; /** ID of the service account used for access to Object Storage. */ serviceAccountId: string; /** User security groups */ securityGroupIds: string[]; /** Deletion Protection inhibits deletion of the cluster */ deletionProtection: boolean; /** Window of maintenance operations. */ maintenanceWindow?: MaintenanceWindow; } export interface CreateClusterRequest_LabelsEntry { $type: "yandex.cloud.mdb.clickhouse.v1.CreateClusterRequest.LabelsEntry"; key: string; value: string; } export interface CreateClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.CreateClusterMetadata"; /** ID of the ClickHouse cluster that is being created. */ clusterId: string; } export interface UpdateClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterRequest"; /** * ID of the ClickHouse Cluster resource to update. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** Field mask that specifies which fields of the ClickHouse Cluster resource should be updated. */ updateMask?: FieldMask; /** New description of the ClickHouse cluster. */ description: string; /** * Custom labels for the ClickHouse cluster as `key:value` pairs. Maximum 64 per resource. * For example, "project": "mvp" or "source": "dictionary". * * The new set of labels will completely replace the old ones. To add a label, request the current * set with the [ClusterService.Get] method, then send an [ClusterService.Update] request with the new label added to the set. */ labels: { [key: string]: string; }; /** New configuration and resources for hosts in the cluster. */ configSpec?: ConfigSpec; /** New name for the cluster. */ name: string; /** ID of the service account used for access to Object Storage. */ serviceAccountId: string; /** New maintenance window settings for the cluster. */ maintenanceWindow?: MaintenanceWindow; /** User security groups */ securityGroupIds: string[]; /** Deletion Protection inhibits deletion of the cluster */ deletionProtection: boolean; } export interface UpdateClusterRequest_LabelsEntry { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterRequest.LabelsEntry"; key: string; value: string; } export interface UpdateClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterMetadata"; /** ID of the ClickHouse Cluster resource that is being updated. */ clusterId: string; } export interface DeleteClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterRequest"; /** * ID of the ClickHouse cluster to delete. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; } export interface DeleteClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterMetadata"; /** ID of the ClickHouse cluster that is being deleted. */ clusterId: string; } export interface StartClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.StartClusterRequest"; /** ID of the ClickHouse cluster to start. */ clusterId: string; } export interface StartClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.StartClusterMetadata"; /** ID of the ClickHouse cluster being started. */ clusterId: string; } export interface StopClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.StopClusterRequest"; /** ID of the ClickHouse cluster to stop. */ clusterId: string; } export interface StopClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.StopClusterMetadata"; /** ID of the ClickHouse cluster being stopped. */ clusterId: string; } export interface MoveClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.MoveClusterRequest"; /** ID of the ClickHouse cluster to move. */ clusterId: string; /** ID of the destination folder. */ destinationFolderId: string; } export interface MoveClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.MoveClusterMetadata"; /** ID of the ClickHouse cluster being moved. */ clusterId: string; /** ID of the source folder. */ sourceFolderId: string; /** ID of the destination folder. */ destinationFolderId: string; } export interface AddClusterZookeeperRequest { $type: "yandex.cloud.mdb.clickhouse.v1.AddClusterZookeeperRequest"; /** ID of the ClickHouse cluster to modify. */ clusterId: string; /** Resources allocated to Zookeeper hosts. */ resources?: Resources; /** Configuration of ZooKeeper hosts. */ hostSpecs: HostSpec[]; } export interface AddClusterZookeeperMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.AddClusterZookeeperMetadata"; /** ID of the ClickHouse cluster. */ clusterId: string; } export interface BackupClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.BackupClusterRequest"; /** * ID of the ClickHouse cluster to back up. * To get the ClickHouse cluster ID use a [ClusterService.List] request. */ clusterId: string; } export interface BackupClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.BackupClusterMetadata"; /** ID of the ClickHouse cluster that is being backed up. */ clusterId: string; } export interface RestoreClusterRequest { $type: "yandex.cloud.mdb.clickhouse.v1.RestoreClusterRequest"; /** * ID of the backup to restore from. This backup will be used to create one cluster shard. * To get the backup ID, use a [ClusterService.ListBackups] request. */ backupId: string; /** * Additional IDs of the backups to restore from. * Each additional backup is responsible for restoring separate shard. * Restored cluster will have len(additional_backup_ids)+1 shards in total. * To get the backup ID, use a [ClusterService.ListBackups] request. */ additionalBackupIds: string[]; /** Name of the new ClickHouse cluster. The name must be unique within the folder. */ name: string; /** Description of the new ClickHouse cluster. */ description: string; /** * Custom labels for the ClickHouse cluster as `key:value` pairs. Maximum 64 per resource. * For example, "project": "mvp" or "source": "dictionary". */ labels: { [key: string]: string; }; /** Deployment environment of the new ClickHouse cluster. */ environment: Cluster_Environment; /** Configuration for the ClickHouse cluster to be created. */ configSpec?: ConfigSpec; /** * Configurations for ClickHouse hosts that should be created for * the cluster that is being created from the backup. */ hostSpecs: HostSpec[]; /** ID of the network to create the ClickHouse cluster in. */ networkId: string; /** ID of the folder to create the ClickHouse cluster in. */ folderId: string; /** ID of the service account used for access to Object Storage. */ serviceAccountId: string; /** User security groups */ securityGroupIds: string[]; } export interface RestoreClusterRequest_LabelsEntry { $type: "yandex.cloud.mdb.clickhouse.v1.RestoreClusterRequest.LabelsEntry"; key: string; value: string; } export interface RestoreClusterMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.RestoreClusterMetadata"; /** ID of the new ClickHouse cluster that is being created from a backup. */ clusterId: string; /** ID of the backup that is being used for creating a cluster. */ backupId: string; } export interface RescheduleMaintenanceRequest { $type: "yandex.cloud.mdb.clickhouse.v1.RescheduleMaintenanceRequest"; /** ID of the ClickHouse cluster to reschedule the maintenance operation for. */ clusterId: string; /** The type of reschedule request. */ rescheduleType: RescheduleMaintenanceRequest_RescheduleType; /** The time until which this maintenance operation should be delayed. The value should be ahead of the first time when the maintenance operation has been scheduled for no more than two weeks. The value can also point to the past moment of time if [reschedule_type.IMMEDIATE] reschedule type is chosen. */ delayedUntil?: Date; } export declare enum RescheduleMaintenanceRequest_RescheduleType { RESCHEDULE_TYPE_UNSPECIFIED = 0, /** IMMEDIATE - Start the maintenance operation immediately. */ IMMEDIATE = 1, /** NEXT_AVAILABLE_WINDOW - Start the maintenance operation within the next available maintenance window. */ NEXT_AVAILABLE_WINDOW = 2, /** SPECIFIC_TIME - Start the maintenance operation at the specific time. */ SPECIFIC_TIME = 3, UNRECOGNIZED = -1 } export declare function rescheduleMaintenanceRequest_RescheduleTypeFromJSON(object: any): RescheduleMaintenanceRequest_RescheduleType; export declare function rescheduleMaintenanceRequest_RescheduleTypeToJSON(object: RescheduleMaintenanceRequest_RescheduleType): string; /** Rescheduled maintenance operation metadata. */ export interface RescheduleMaintenanceMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.RescheduleMaintenanceMetadata"; /** Required. ID of the ClickHouse cluster. */ clusterId: string; /** Required. The time until which this maintenance operation is to be delayed. */ delayedUntil?: Date; } export interface LogRecord { $type: "yandex.cloud.mdb.clickhouse.v1.LogRecord"; /** Log record timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ timestamp?: Date; /** Contents of the log record. */ message: { [key: string]: string; }; } export interface LogRecord_MessageEntry { $type: "yandex.cloud.mdb.clickhouse.v1.LogRecord.MessageEntry"; key: string; value: string; } export interface ListClusterLogsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterLogsRequest"; /** * ID of the ClickHouse cluster to request logs for. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** * Columns from logs table to request. * If no columns are specified, entire log records are returned. */ columnFilter: string[]; /** Type of the service to request logs about. */ serviceType: ListClusterLogsRequest_ServiceType; /** Start timestamp for the logs request, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ fromTime?: Date; /** End timestamp for the logs request, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ toTime?: Date; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListClusterLogsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the [ListClusterLogsResponse.next_page_token] * returned by the previous list request. */ pageToken: string; } export declare enum ListClusterLogsRequest_ServiceType { SERVICE_TYPE_UNSPECIFIED = 0, /** CLICKHOUSE - Logs of ClickHouse activity. */ CLICKHOUSE = 1, UNRECOGNIZED = -1 } export declare function listClusterLogsRequest_ServiceTypeFromJSON(object: any): ListClusterLogsRequest_ServiceType; export declare function listClusterLogsRequest_ServiceTypeToJSON(object: ListClusterLogsRequest_ServiceType): string; export interface ListClusterLogsResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterLogsResponse"; /** Requested log records. */ logs: LogRecord[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListClusterLogsRequest.page_size], use the [next_page_token] as the value * for the [ListClusterLogsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. * This value is interchangeable with the [StreamLogRecord.next_record_token] from StreamLogs method. */ nextPageToken: string; } export interface StreamLogRecord { $type: "yandex.cloud.mdb.clickhouse.v1.StreamLogRecord"; /** One of the requested log records. */ record?: LogRecord; /** * This token allows you to continue streaming logs starting from the exact * same record. To continue streaming, specify value of [next_record_token[ * as value for the [StreamClusterLogsRequest.record_token] parameter in the next StreamLogs request. * This value is interchangeable with the [ListClusterLogsResponse.next_page_token] from ListLogs method. */ nextRecordToken: string; } export interface StreamClusterLogsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.StreamClusterLogsRequest"; /** Required. ID of the ClickHouse cluster. */ clusterId: string; /** Columns from logs table to get in the response. */ columnFilter: string[]; serviceType: StreamClusterLogsRequest_ServiceType; /** Start timestamp for the logs request. */ fromTime?: Date; /** * End timestamp for the logs request. * If this field is not set, all existing logs will be sent and then the new ones as * they appear. In essence it has `tail -f` semantics. */ toTime?: Date; /** * Record token. Set [record_token] to the [StreamLogRecord.next_record_token] returned by a previous StreamLogs * request to start streaming from next log record. */ recordToken: string; /** * A filter expression that filters resources listed in the response. * The expression must specify: * 1. The field name. Currently filtering can be applied to the [LogRecord.logs.message.hostname], [LogRecord.logs.message.severity] fields. * 2. An `=` operator. * 3. The value in double quotes (`"`). Must be 1-63 characters long and match the regular expression `[a-z0-9.-]{1,61}`. * Examples of a filter: * - `message.hostname='node1.db.cloud.yandex.net'` * - `message.severity IN ('Error', 'Fatal') AND message.hostname != 'node2.db.cloud.yandex.net'`. */ filter: string; } export declare enum StreamClusterLogsRequest_ServiceType { SERVICE_TYPE_UNSPECIFIED = 0, /** CLICKHOUSE - Logs of ClickHouse activity. */ CLICKHOUSE = 1, UNRECOGNIZED = -1 } export declare function streamClusterLogsRequest_ServiceTypeFromJSON(object: any): StreamClusterLogsRequest_ServiceType; export declare function streamClusterLogsRequest_ServiceTypeToJSON(object: StreamClusterLogsRequest_ServiceType): string; export interface ListClusterOperationsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterOperationsRequest"; /** ID of the ClickHouse Cluster resource to list operations for. */ clusterId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListClusterOperationsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the [ListClusterOperationsResponse.next_page_token] * returned by the previous list request. */ pageToken: string; } export interface ListClusterOperationsResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterOperationsResponse"; /** List of Operation resources for the specified ClickHouse cluster. */ operations: Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListClusterOperationsRequest.page_size], use the [next_page_token] as the value * for the [ListClusterOperationsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface ListClusterBackupsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterBackupsRequest"; /** * ID of the ClickHouse cluster. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListClusterBackupsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the * [ListClusterBackupsResponse.next_page_token] returned by the previous list request. */ pageToken: string; } export interface ListClusterBackupsResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterBackupsResponse"; /** List of ClickHouse Backup resources. */ backups: Backup[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListClusterBackupsRequest.page_size], use the [next_page_token] as the value * for the [ListClusterBackupsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface ListClusterHostsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterHostsRequest"; /** * ID of the ClickHouse cluster. * To get the ClickHouse cluster ID use a [ClusterService.List] request. */ clusterId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListClusterHostsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the [ListClusterHostsResponse.next_page_token] * returned by the previous list request. */ pageToken: string; } export interface ListClusterHostsResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterHostsResponse"; /** Requested list of hosts for the cluster. */ hosts: Host[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListClusterHostsRequest.page_size], use the [next_page_token] as the value * for the [ListClusterHostsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface AddClusterHostsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.AddClusterHostsRequest"; /** * ID of the ClickHouse cluster to add hosts to. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** Configurations for ClickHouse hosts that should be added to the cluster. */ hostSpecs: HostSpec[]; /** Whether to copy schema to new ClickHouse hosts from replicas. */ copySchema?: boolean; } export interface AddClusterHostsMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.AddClusterHostsMetadata"; /** ID of the ClickHouse cluster to which the hosts are being added. */ clusterId: string; /** Names of hosts that are being added to the cluster. */ hostNames: string[]; } export interface UpdateHostSpec { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateHostSpec"; /** * Name of the host to update. * To get the ClickHouse host name, use a [ClusterService.ListHosts] request. */ hostName: string; /** Field mask that specifies which fields of the ClickHouse host should be updated. */ updateMask?: FieldMask; /** Whether the host should get a public IP address on creation. */ assignPublicIp?: boolean; } export interface UpdateClusterHostsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterHostsRequest"; /** * ID of the ClickHouse cluster to update hosts in. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** New configurations to apply to hosts. */ updateHostSpecs: UpdateHostSpec[]; } export interface UpdateClusterHostsMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterHostsMetadata"; /** ID of the ClickHouse cluster to modify hosts in. */ clusterId: string; /** Names of hosts that are being modified. */ hostNames: string[]; } export interface DeleteClusterHostsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterHostsRequest"; /** * ID of the ClickHouse cluster to remove hosts from. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** Names of hosts to delete. */ hostNames: string[]; } export interface DeleteClusterHostsMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterHostsMetadata"; /** ID of the ClickHouse cluster to remove hosts from. */ clusterId: string; /** Names of hosts that are being deleted. */ hostNames: string[]; } export interface GetClusterShardRequest { $type: "yandex.cloud.mdb.clickhouse.v1.GetClusterShardRequest"; /** * ID of the cluster that the shard belongs to. * To get the cluster ID, use a [ClusterService.List] request. * To get the name of the database, use a [ClusterService.List] request. */ clusterId: string; /** * Name of the shard to request information about. * To get the name of a shard, use a [ClusterService.ListShards] request. */ shardName: string; } export interface ListClusterShardsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterShardsRequest"; /** * ID of the ClickHouse cluster to list shards in. * To get the cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListClusterShardsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. to get the next page of results, set [page_token] to the [ListClusterShardsResponse.next_page_token] * returned by the previous list request. */ pageToken: string; } export interface ListClusterShardsResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterShardsResponse"; /** List of ClickHouse shards. */ shards: Shard[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListClusterShardsRequest.page_size], use the [next_page_token] as the value * for the [ListClusterShardsRequest.page_token] parameter in the next list request. Each subsequent * list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface AddClusterShardRequest { $type: "yandex.cloud.mdb.clickhouse.v1.AddClusterShardRequest"; /** * ID of the ClickHouse cluster to add a shard to. * To get the ClickHouse cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** Name for the new shard. */ shardName: string; /** Configuration of the new shard. */ configSpec?: ShardConfigSpec; /** Configurations for ClickHouse hosts that should be created with the shard. */ hostSpecs: HostSpec[]; /** Whether to copy schema to hosts of the shard to be created. The schema is copied from hosts of an existing shard. */ copySchema?: boolean; } export interface AddClusterShardMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.AddClusterShardMetadata"; /** ID of the cluster that a shard is being added to. */ clusterId: string; /** Name of the shard being created. */ shardName: string; } export interface UpdateClusterShardRequest { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterShardRequest"; /** * ID of the ClickHouse cluster the shard belongs to. * To get the cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** * Name of the shard to be updated. * To get the name of a shard, use a [ClusterService.ListShards] request. */ shardName: string; /** Field mask that specifies which attributes of the ClickHouse shard should be updated. */ updateMask?: FieldMask; /** New configuration for the specified shard. */ configSpec?: ShardConfigSpec; } export interface UpdateClusterShardMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterShardMetadata"; /** ID of the cluster that contains the shard being updated. */ clusterId: string; /** Name of the shard being updated. */ shardName: string; } export interface DeleteClusterShardRequest { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterShardRequest"; /** * ID of the ClickHouse cluster the shard belongs to. * To get the cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** * Name of the shard to be deleted. * To get the name of a shard, use a [ClusterService.ListShards] request. */ shardName: string; } export interface DeleteClusterShardMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterShardMetadata"; /** ID of the cluster that contains the shard being deleted. */ clusterId: string; /** Name of the shard being deleted. */ shardName: string; } export interface GetClusterShardGroupRequest { $type: "yandex.cloud.mdb.clickhouse.v1.GetClusterShardGroupRequest"; /** * ID of the cluster that the shard group belongs to. * * To get the cluster ID, make a [ClusterService.List] request. */ clusterId: string; /** * Name of the shard group to request information about. * * To get the name of a shard group, make a [ClusterService.ListShardGroups] request. */ shardGroupName: string; } export interface ListClusterShardGroupsRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterShardGroupsRequest"; /** * ID of the cluster that the shard group belongs to. * * To get the cluster ID, make a [ClusterService.List] request. */ clusterId: string; /** * The maximum number of results per page to return. * * If the number of available results is larger than [page_size], the service returns a [ListClusterShardGroupsResponse.next_page_token] that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. * * To get the next page of results, set [page_token] to the [ListClusterShardGroupsResponse.next_page_token] returned by the previous list request. */ pageToken: string; } export interface ListClusterShardGroupsResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterShardGroupsResponse"; /** List of ClickHouse cluster's shard groups. */ shardGroups: ShardGroup[]; /** * This token allows you to get the next page of results for list requests. * * If the number of results is larger than [ListClusterShardGroupsRequest.page_size], use the [next_page_token] as the value for the [ListClusterShardGroupsRequest.page_token] parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface CreateClusterShardGroupRequest { $type: "yandex.cloud.mdb.clickhouse.v1.CreateClusterShardGroupRequest"; /** * ID of the ClickHouse cluster to add a shard group to. * * To get the cluster ID, make a [ClusterService.List] request. */ clusterId: string; /** Name for the new shard group. */ shardGroupName: string; /** Description of the new shard group. 0-256 characters long. */ description: string; /** * List of shard names that should be put into the new group. * * To get the list, make a [ClusterService.ListShardGroups] request. */ shardNames: string[]; } export interface CreateClusterShardGroupMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.CreateClusterShardGroupMetadata"; /** ID of the cluster to add a shard group to. */ clusterId: string; /** Name of the shard group that is being added. */ shardGroupName: string; } export interface UpdateClusterShardGroupRequest { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterShardGroupRequest"; /** * ID of the ClickHouse cluster that contains the shard group to update. * * To get the cluster ID, make a [ClusterService.List] request. */ clusterId: string; /** * Name of the shard group that should be updated. * * To get the name, make a [ClusterService.ListShardGroups] request. */ shardGroupName: string; updateMask?: FieldMask; /** Updated description of the shard group. 0-256 characters long. */ description: string; /** Updated list of shard names that belongs to the shard group. */ shardNames: string[]; } export interface UpdateClusterShardGroupMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterShardGroupMetadata"; /** ID of the cluster that contains the shard group being updated. */ clusterId: string; /** Name of the shard group that is being updated. */ shardGroupName: string; } export interface DeleteClusterShardGroupRequest { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterShardGroupRequest"; /** * ID of the ClickHouse cluster that contains the shard group to delete. * * To get the cluster ID, make a [ClusterService.List] request. */ clusterId: string; /** * Name of the shard group that should be deleted. * * To get the name, make a [ClusterService.ListShardGroups] request. */ shardGroupName: string; } export interface DeleteClusterShardGroupMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterShardGroupMetadata"; /** ID of the cluster that contains the shard group being deleted. */ clusterId: string; /** Name of the shard group that is being deleted. */ shardGroupName: string; } export interface ListClusterExternalDictionariesRequest { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterExternalDictionariesRequest"; /** ID of the cluster that the external dictionaries belong to. */ clusterId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], the service returns a [ListClusterExternalDictionaryResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] to the [ListClusterExternalDictionaryResponse.next_page_token] * returned by a previous list request. */ pageToken: string; } export interface ListClusterExternalDictionariesResponse { $type: "yandex.cloud.mdb.clickhouse.v1.ListClusterExternalDictionariesResponse"; /** List of ClickHouse Cluster external dictionaries. */ externalDictionaries: ClickhouseConfig_ExternalDictionary[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListClusterExternalDictionaryRequest.page_size], use the [next_page_token] as the value * for the [ListClusterExternalDictionaryRequest.page_token] parameter in the next list request. Each subsequent * list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface CreateClusterExternalDictionaryRequest { $type: "yandex.cloud.mdb.clickhouse.v1.CreateClusterExternalDictionaryRequest"; /** * ID of the ClickHouse cluster to create the external dictionary for. * To get the cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** Configuration of the external dictionary. */ externalDictionary?: ClickhouseConfig_ExternalDictionary; } export interface CreateClusterExternalDictionaryMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.CreateClusterExternalDictionaryMetadata"; /** ID of the cluster for which an external dictionary is being created. */ clusterId: string; } export interface UpdateClusterExternalDictionaryRequest { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterExternalDictionaryRequest"; /** * ID of the ClickHouse cluster to update the external dictionary for. * To get the cluster ID, use a [List] request. */ clusterId: string; /** Configuration of the external dictionary. */ externalDictionary?: ClickhouseConfig_ExternalDictionary; /** Field mask that specifies which fields of the External Dictionary should be updated. */ updateMask?: FieldMask; } export interface UpdateClusterExternalDictionaryMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.UpdateClusterExternalDictionaryMetadata"; /** ID of the cluster for which an external dictionary is being updated. */ clusterId: string; /** Name of the external dictionary. */ externalDictionaryName: string; } export interface DeleteClusterExternalDictionaryRequest { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterExternalDictionaryRequest"; /** * ID of the ClickHouse cluster to delete the external dictionary from. * To get the cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** Name of the external dictionary to delete. */ externalDictionaryName: string; } export interface DeleteClusterExternalDictionaryMetadata { $type: "yandex.cloud.mdb.clickhouse.v1.DeleteClusterExternalDictionaryMetadata"; /** ID of the cluster where an external dictionary is being deleted. */ clusterId: string; } export interface HostSpec { $type: "yandex.cloud.mdb.clickhouse.v1.HostSpec"; /** * ID of the availability zone where the host resides. * To get a list of available zones, use the [yandex.cloud.compute.v1.ZoneService.List] request. */ zoneId: string; /** Type of the host to be deployed. */ type: Host_Type; /** * ID of the subnet that the host should belong to. This subnet should be a part * of the network that the cluster belongs to. * The ID of the network is set in the [Cluster.network_id] field. */ subnetId: string; /** * Whether the host should get a public IP address on creation. * * After a host has been created, this setting cannot be changed. To remove an assigned public IP, or to assign * a public IP to a host without one, recreate the host with [assign_public_ip] set as needed. * * Possible values: * * false - don't assign a public IP to the host. * * true - the host should have a public IP address. */ assignPublicIp: boolean; /** Name of the shard that the host is assigned to. */ shardName: string; } export interface ConfigSpec { $type: "yandex.cloud.mdb.clickhouse.v1.ConfigSpec"; /** Version of the ClickHouse server software. */ version: string; /** Configuration and resources for a ClickHouse server. */ clickhouse?: ConfigSpec_Clickhouse; /** Configuration and resources for a ZooKeeper server. */ zookeeper?: ConfigSpec_Zookeeper; /** Time to start the daily backup, in the UTC timezone. */ backupWindowStart?: TimeOfDay; /** * Access policy for external services. * * If you want a specific service to access the ClickHouse cluster, then set the necessary values in this policy. */ access?: Access; cloudStorage?: CloudStorage; /** Whether database management through SQL commands is enabled. */ sqlDatabaseManagement?: boolean; /** Whether user management through SQL commands is enabled. */ sqlUserManagement?: boolean; /** Password for user 'admin' that has SQL user management access. */ adminPassword: string; /** Whether cluster should use embedded Keeper instead of Zookeeper */ embeddedKeeper?: boolean; } export interface ConfigSpec_Clickhouse { $type: "yandex.cloud.mdb.clickhouse.v1.ConfigSpec.Clickhouse"; /** Configuration for a ClickHouse server. */ config?: ClickhouseConfig; /** Resources allocated to ClickHouse hosts. */ resources?: Resources; } export interface ConfigSpec_Zookeeper { $type: "yandex.cloud.mdb.clickhouse.v1.ConfigSpec.Zookeeper"; /** * Resources allocated to ZooKeeper hosts. If not set, minimal available resources will be used. * All available resource presets can be retrieved with a [ResourcePresetService.List] request. */ resources?: Resources; } export interface ShardConfigSpec { $type: "yandex.cloud.mdb.clickhouse.v1.ShardConfigSpec"; /** ClickHouse configuration for a shard. */ clickhouse?: ShardConfigSpec_Clickhouse; } export interface ShardConfigSpec_Clickhouse { $type: "yandex.cloud.mdb.clickhouse.v1.ShardConfigSpec.Clickhouse"; /** ClickHouse settings for the shard. */ config?: ClickhouseConfig; /** Computational resources for the shard. */ resources?: Resources; /** * Relative weight of the shard considered when writing data to the cluster. * For details, see [ClickHouse documentation](https://clickhouse.com/docs/en/operations/table_engines/distributed/). */ weight?: number; } export declare const GetClusterRequest: { $type: "yandex.cloud.mdb.clickhouse.v1.GetClusterRequest"; encode(message: GetClusterRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): GetClusterRequest; fromJSON(object: any): GetClusterRequest; toJSON(message: GetClusterRequest): unknown; fromPartial<I extends { clusterId?: string | undefined; } & { clusterId?: string | undefined; } & Record<Exclude<keyof I, "$type" | "clusterId">, never>>(object: I): GetClusterRequest; }; export declare const ListClustersRequest: { $type: "yandex.cloud.mdb.clickhouse.v1.ListClustersRequest"; encode(message: ListClustersRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListClustersRequest; fromJSON(object: any): ListClustersRequest; toJSON(message: ListClustersRequest): unknown; fromPartial<I extends { pageSize?: number | undefined; pageToken?: string | undefined; filter?: string | undefined; folderId?: string | undefined; } & { pageSize?: number | undefined; pageToken?: string | undefined; filter?: string | undefined; folderId?: string | undefined; } & Record<Exclude<keyof I, "$type" | "pageSize" | "pageToken" | "filter" | "folderId">, never>>(object: I): ListClustersRequest; }; export declare const ListClustersResponse: { $type: "yandex.cloud.mdb.clickhouse.v1.ListClustersResponse"; encode(message: ListClustersResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListClustersResponse; fromJSON(object: any): ListClustersResponse; toJSON(message: ListClustersResponse): unknown; fromPartial<I extends { nextPageToken?: string | undefined; clusters?: { description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../../yandex/cloud/mdb/clickhouse/v1/cluster").Cluster_Status | undefined; config?: { version?: string | undefined; zookeeper?: { resources?: { diskTypeId?: string | undefined; diskSize?: number | undefined; resourcePresetId?: string | undefined; } | undefined; } | undefined; clickhouse?: { config?: { effectiveConfig?: { compression?: { level?: number | undefined; method?: import("../../../../../yandex/cloud/mdb/clickhouse/v1/config/clickhouse").ClickhouseConfig_Compression_Method | undefined; minPartSize?: number | undefined; minPartSizeRatio?: number | undefined; }[] | undefined; timezone?: string | undefined; logLevel?: import("../../../../../yandex/cloud/mdb/clickhouse/v1/config/clickhouse").ClickhouseConfig_LogLevel | undefined; geobaseUri?: string | undefined; textLogLevel?: import("../../../../../yandex/cloud/mdb/clickhouse/v1/config/clickhouse").ClickhouseConfig_LogLevel | undefined; mergeTree?: { replicatedDeduplicationWindow?: number | undefined; replicatedDeduplicationWindowSeconds?: number | undefined; partsToDelayInsert?: number | undefined; partsToThrowInsert?: number | undefined; inactivePartsToDelayInsert?: number | undefined; inactivePartsToThrowInsert?: number | undefined; maxReplicatedMergesInQueue?: number | undefined; numberOfFreeEntriesInPoolToLowerMaxSizeOfMerge?: number | undefined; maxBytesToMergeAtMinSpaceInPool?: number | undefined; maxBytesToMergeAtMaxSpaceInPool?: number | undefined; minBytesForWidePart?: number | undefined; minRowsForWidePart?: number | undefined; ttlOnlyDropParts?: boolean | undefined; allowRemoteFsZeroCopyReplication?: boolean | undefined; mergeWithTtlTimeout?: number | undefined; mergeWithRecompressionTtlTimeout?: number | undefined; maxPartsInTotal?: number | undefined; maxNumberOfMergesWithTtlInPool?: number | undefined; cleanupDelayPeriod?: number | undefined; numberOfFreeEntriesInPoolToExecuteMutation?: number | undefined; maxAvgPartSizeForTooManyParts?: number | undefined; minAgeToForceMergeSeconds?: number | undefined; minAgeToForceMergeOnPartitionOnly?: boolean | undefined; mergeSelectingSleepMs?: number | undefined; } | undefined; dictionaries?: { name?: string | undefined; mysqlSource?: { port?: number | undefined; user?: string | undefined; password?: string | undefined; table?: string | undefined; db?: string | undefined; replicas?: { port?: number | undefined; host?: string | undefined; user?: string | undefined; password?: string | undefined; priority?: number | undefined; }[] | undefined; where?: string | undefined; invalidateQuery?: string | undefined; } | undefined; clickhouseSource?: { port?: number | undefined; host?: string | undefined; user?: string | undefined; password