@yandex-cloud/nodejs-sdk
Version:
Yandex.Cloud NodeJS SDK
1,021 lines • 667 kB
TypeScript
/// <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, Access, PerformanceDiagnostics, Cluster, Host } from "../../../../../yandex/cloud/mdb/mysql/v1/cluster";
import { FieldMask } from "../../../../../google/protobuf/field_mask";
import { MaintenanceWindow } from "../../../../../yandex/cloud/mdb/mysql/v1/maintenance";
import { TimeOfDay } from "../../../../../google/type/timeofday";
import { DatabaseSpec } from "../../../../../yandex/cloud/mdb/mysql/v1/database";
import { UserSpec } from "../../../../../yandex/cloud/mdb/mysql/v1/user";
import { Operation } from "../../../../../yandex/cloud/operation/operation";
import { Backup } from "../../../../../yandex/cloud/mdb/mysql/v1/backup";
import { Mysqlconfig57 } from "../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7";
import { Mysqlconfig80 } from "../../../../../yandex/cloud/mdb/mysql/v1/config/mysql8_0";
export declare const protobufPackage = "yandex.cloud.mdb.mysql.v1";
export interface GetClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.GetClusterRequest";
/**
* ID of the cluster to return information about.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
}
export interface ListClustersRequest {
$type: "yandex.cloud.mdb.mysql.v1.ListClustersRequest";
/**
* ID of the folder to list clusters in.
*
* To get this ID, make 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 API returns a [ListClustersResponse.next_page_token] that can be used to get the next page of results in the subsequent [ClusterService.List] requests.
*/
pageSize: number;
/**
* Page token that can be used to iterate through multiple pages of results.
*
* To get the next page of results, set [page_token] to the [ListClustersResponse.next_page_token] returned by the previous [ClusterService.List] request.
*/
pageToken: string;
/**
* A filter expression that selects clusters 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.mysql.v1.ListClustersResponse";
/** List of clusters. */
clusters: Cluster[];
/**
* The token that can be used to get the next page of results.
*
* If the number of results is larger than [ListClustersRequest.page_size], use the [next_page_token] as the value for the [ListClustersRequest.page_token] in the subsequent [ClusterService.List] request to iterate through multiple pages of results.
*
* Each of the subsequent [ClusterService.List] requests should use the [next_page_token] value returned by the previous request to continue paging through the results.
*/
nextPageToken: string;
}
export interface CreateClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.CreateClusterRequest";
/**
* ID of the folder to create the cluster in.
*
* To get this ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
*/
folderId: string;
/** Name of the cluster. The name must be unique within the folder. */
name: string;
/** Description of the cluster. */
description: string;
/** Custom labels for the cluster as `key:value` pairs. */
labels: {
[key: string]: string;
};
/** Deployment environment of the cluster. */
environment: Cluster_Environment;
/** Configuration of the cluster. */
configSpec?: ConfigSpec;
/** Configuration of databases in the cluster. */
databaseSpecs: DatabaseSpec[];
/** Configuration of database users in the cluster. */
userSpecs: UserSpec[];
/** Configuration of hosts in the cluster. */
hostSpecs: HostSpec[];
/** ID of the network to create the cluster in. */
networkId: string;
/** List of security group IDs to apply to the cluster. */
securityGroupIds: string[];
/** This option prevents unintended deletion of the cluster. */
deletionProtection: boolean;
/** Host groups hosting VMs of the cluster. */
hostGroupIds: string[];
}
export interface CreateClusterRequest_LabelsEntry {
$type: "yandex.cloud.mdb.mysql.v1.CreateClusterRequest.LabelsEntry";
key: string;
value: string;
}
export interface CreateClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.CreateClusterMetadata";
/** ID of the cluster that is being created. */
clusterId: string;
}
export interface UpdateClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.UpdateClusterRequest";
/**
* ID of the cluster to update.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
/** Field mask that specifies which settings of the cluster should be updated. */
updateMask?: FieldMask;
/** New description of the cluster. */
description: string;
/**
* New set of custom labels for the cluster as `key:value` pairs.
*
* This set will completely replace the current one.
* To add a label, request the current label set with the [ClusterService.Get] request, then send an [ClusterService.Update] request with the new label added to the current set.
*/
labels: {
[key: string]: string;
};
/** New configuration of the cluster. */
configSpec?: ConfigSpec;
/** New name of the cluster. */
name: string;
/** Configuration of a maintenance window in an MySQL cluster. */
maintenanceWindow?: MaintenanceWindow;
/** New list of security group IDs to apply to the cluster. */
securityGroupIds: string[];
/** This option prevents unintended deletion of the cluster. */
deletionProtection: boolean;
}
export interface UpdateClusterRequest_LabelsEntry {
$type: "yandex.cloud.mdb.mysql.v1.UpdateClusterRequest.LabelsEntry";
key: string;
value: string;
}
export interface UpdateClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.UpdateClusterMetadata";
/** ID of the cluster that is being updated. */
clusterId: string;
}
export interface DeleteClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.DeleteClusterRequest";
/**
* ID of the cluster to delete.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
}
export interface DeleteClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.DeleteClusterMetadata";
/** ID of the cluster that is being deleted. */
clusterId: string;
}
export interface BackupClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.BackupClusterRequest";
/**
* ID of the cluster to back up.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
}
export interface BackupClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.BackupClusterMetadata";
/** ID of the cluster that is being backed up. */
clusterId: string;
/** ID of the MySQL backup that is created. */
backupId: string;
}
export interface RestoreClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.RestoreClusterRequest";
/**
* ID of the backup to restore from.
*
* To get this ID, make a [BackupService.List] request (lists all backups in a folder) or a [ClusterService.ListBackups] request (lists all backups for an existing cluster).
*/
backupId: string;
/** Timestamp of the moment to which the MySQL cluster should be restored. */
time?: Date;
/** Name of the new MySQL cluster the backup will be restored to. The name must be unique within the folder. */
name: string;
/** Description of the new cluster. */
description: string;
/** Custom labels for the new cluster as `key:value` pairs. */
labels: {
[key: string]: string;
};
/** Deployment environment for the new cluster. */
environment: Cluster_Environment;
/** Configuration of the new cluster. */
configSpec?: ConfigSpec;
/** Configuration of hosts in the new cluster. */
hostSpecs: HostSpec[];
/** ID of the network to create the new cluster in. */
networkId: string;
/** ID of the folder to create the new cluster in. */
folderId: string;
/** List of security group IDs to apply to the new cluster. */
securityGroupIds: string[];
/** Deletion Protection inhibits deletion of the cluster */
deletionProtection: boolean;
/** Host groups hosting VMs of the cluster. */
hostGroupIds: string[];
}
export interface RestoreClusterRequest_LabelsEntry {
$type: "yandex.cloud.mdb.mysql.v1.RestoreClusterRequest.LabelsEntry";
key: string;
value: string;
}
export interface RestoreClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.RestoreClusterMetadata";
/** ID of the new 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 StartClusterFailoverRequest {
$type: "yandex.cloud.mdb.mysql.v1.StartClusterFailoverRequest";
/**
* ID of the cluster to start failover for.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
/**
* Host name to switch master role to.
* If not provided, then the master role is switched to the most up-to-date replica host.
*
* To get this name, make a [ClusterService.ListHosts] request.
*/
hostName: string;
}
export interface StartClusterFailoverMetadata {
$type: "yandex.cloud.mdb.mysql.v1.StartClusterFailoverMetadata";
/** ID of the cluster that is being failovered. */
clusterId: string;
}
export interface RescheduleMaintenanceRequest {
$type: "yandex.cloud.mdb.mysql.v1.RescheduleMaintenanceRequest";
/**
* ID of the cluster to reschedule the maintenance operation for.
*
* To get this ID, make a [ClusterService.List] request.
*/
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 `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;
export interface RescheduleMaintenanceMetadata {
$type: "yandex.cloud.mdb.mysql.v1.RescheduleMaintenanceMetadata";
/** ID of the cluster the maintenance operation is being rescheduled for. */
clusterId: string;
/** The time until which this maintenance operation is to be delayed. */
delayedUntil?: Date;
}
/** A single log record. */
export interface LogRecord {
$type: "yandex.cloud.mdb.mysql.v1.LogRecord";
/** Timestamp of the log record. */
timestamp?: Date;
/** Contents of the log record. */
message: {
[key: string]: string;
};
}
export interface LogRecord_MessageEntry {
$type: "yandex.cloud.mdb.mysql.v1.LogRecord.MessageEntry";
key: string;
value: string;
}
export interface ListClusterLogsRequest {
$type: "yandex.cloud.mdb.mysql.v1.ListClusterLogsRequest";
/**
* ID of the cluster to request logs for.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
/**
* Columns from the logs table to request.
* If no columns are specified, complete log records are returned.
*/
columnFilter: string[];
/** The log type. */
serviceType: ListClusterLogsRequest_ServiceType;
/**
* Start timestamp for the logs request.
* The logs in the response will be within [from_time] to [to_time] range.
*/
fromTime?: Date;
/**
* End timestamp for the logs request.
* The logs in the response will be within [from_time] to [to_time] range.
*/
toTime?: Date;
/**
* The maximum number of results per page to return.
*
* If the number of available results is larger than [page_size], the API returns a [ListClusterLogsResponse.next_page_token] that can be used to get the next page of results in the subsequent [ClusterService.ListLogs] requests.
*/
pageSize: number;
/**
* Page token that can be used to iterate through multiple pages of results.
*
* To get the next page of results, set [page_token] to the [ListClusterLogsResponse.next_page_token] returned by the previous [ClusterService.ListLogs] request.
*/
pageToken: string;
/**
* Option that controls the behavior of result pagination.
* If it is set to `true`, then [ListClusterLogsResponse.next_page_token] will always be returned, even if the current page is empty.
*/
alwaysNextPageToken: boolean;
}
export declare enum ListClusterLogsRequest_ServiceType {
SERVICE_TYPE_UNSPECIFIED = 0,
/** MYSQL_ERROR - MySQL error log. */
MYSQL_ERROR = 1,
/** MYSQL_GENERAL - MySQL general query log. */
MYSQL_GENERAL = 2,
/** MYSQL_SLOW_QUERY - MySQL slow query log. */
MYSQL_SLOW_QUERY = 3,
/** MYSQL_AUDIT - MySQL audit log. */
MYSQL_AUDIT = 4,
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.mysql.v1.ListClusterLogsResponse";
/** Requested log records. */
logs: LogRecord[];
/**
* The token that can be used to get the next page of results.
*
* If the number of results is larger than [ListClusterLogsRequest.page_size], use the [next_page_token] as the value for the [ListClusterLogsRequest.page_token] in the subsequent [ClusterService.ListLogs] request to iterate through multiple pages of results.
*
* Each of the subsequent [ClusterService.ListLogs] requests should use the [next_page_token] value returned by the previous request to continue paging through the results.
*
* This value is interchangeable with [StreamLogRecord.next_record_token] from [ClusterService.StreamLogs] method.
*/
nextPageToken: string;
}
/** A single log record in the logs stream. */
export interface StreamLogRecord {
$type: "yandex.cloud.mdb.mysql.v1.StreamLogRecord";
/** One of the requested log records. */
record?: LogRecord;
/**
* The token that can be used to continue streaming logs starting from the exact same record.
* To continue streaming, specify value of [next_record_token] as the [StreamClusterLogsRequest.record_token] value in the next [ClusterService.StreamLogs] request.
*
* This value is interchangeable with [ListClusterLogsResponse.next_page_token] from [ClusterService.ListLogs] method.
*/
nextRecordToken: string;
}
export interface StreamClusterLogsRequest {
$type: "yandex.cloud.mdb.mysql.v1.StreamClusterLogsRequest";
/**
* ID of the cluster to stream logs for.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
/**
* Columns from the logs table to request.
* If no columns are specified, complete log records are returned.
*/
columnFilter: string[];
/** The log type. */
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 log records beginning from [from_time] will be returned first, and then the new records will be returned as they appear.
*
* In essence it has `tail -f` command semantics.
*/
toTime?: Date;
/**
* Record token that can be used to control logs streaming.
*
* Set [record_token] to the [StreamLogRecord.next_record_token], returned by the previous [ClusterService.StreamLogs] request to start streaming from the next log record.
*/
recordToken: string;
/**
* A filter expression that selects clusters logs listed in the response.
*
* The expression must specify:
* 1. The field name. Currently filtering can be applied to the [LogRecord.logs.hostname] field.
* 2. An `=` operator.
* 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
* Examples of a filter: `message.hostname='node1.db.cloud.yandex.net'`
*/
filter: string;
}
export declare enum StreamClusterLogsRequest_ServiceType {
SERVICE_TYPE_UNSPECIFIED = 0,
/** MYSQL_ERROR - MySQL error log. */
MYSQL_ERROR = 1,
/** MYSQL_GENERAL - MySQL general query log. */
MYSQL_GENERAL = 2,
/** MYSQL_SLOW_QUERY - MySQL slow query log. */
MYSQL_SLOW_QUERY = 3,
/** MYSQL_AUDIT - MySQL audit log. */
MYSQL_AUDIT = 4,
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.mysql.v1.ListClusterOperationsRequest";
/**
* ID of the cluster to list operations for.
*
* To get this 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 API returns a [ListClusterOperationsResponse.next_page_token] that can be used to get the next page of results in the subsequent [ClusterService.ListOperations] requests.
*/
pageSize: number;
/**
* Page token that can be used to iterate through multiple pages of results.
*
* To get the next page of results, set [page_token] to the [ListClusterOperationsResponse.next_page_token] returned by the previous [ClusterService.ListOperations] request.
*/
pageToken: string;
}
export interface ListClusterOperationsResponse {
$type: "yandex.cloud.mdb.mysql.v1.ListClusterOperationsResponse";
/** List of operations in the cluster. */
operations: Operation[];
/**
* The token that can be used to get the next page of results.
*
* If the number of results is larger than [ListClusterOperationsRequest.page_size], use the [next_page_token] as the value for the [ListClusterOperationsRequest.page_token] in the subsequent [ClusterService.ListOperations] request to iterate through multiple pages of results.
*
* Each of the subsequent [ClusterService.ListOperations] requests should use the [next_page_token] value returned by the previous request to continue paging through the results.
*/
nextPageToken: string;
}
export interface ListClusterBackupsRequest {
$type: "yandex.cloud.mdb.mysql.v1.ListClusterBackupsRequest";
/**
* ID of the cluster to list backups for.
*
* To get this 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 API returns a [ListClusterBackupsResponse.next_page_token] that can be used to get the next page of results in the subsequent [ClusterService.ListBackups] requests.
*/
pageSize: number;
/**
* Page token that can be used to iterate through multiple pages of results.
*
* To get the next page of results, set [page_token] to the [ListClusterBackupsResponse.next_page_token] returned by the previous [ClusterService.ListBackups] request.
*/
pageToken: string;
}
export interface ListClusterBackupsResponse {
$type: "yandex.cloud.mdb.mysql.v1.ListClusterBackupsResponse";
/** List of the cluster backups. */
backups: Backup[];
/**
* The token that can be used to get the next page of results.
*
* If the number of results is larger than [ListClusterBackupsRequest.page_size], use the [next_page_token] as the value for the [ListClusterBackupsRequest.page_token] in the subsequent [ClusterService.ListBackups] request to iterate through multiple pages of results.
*
* Each of the subsequent [ClusterService.ListBackups] requests should use the [next_page_token] value returned by the previous request to continue paging through the results.
*/
nextPageToken: string;
}
export interface ListClusterHostsRequest {
$type: "yandex.cloud.mdb.mysql.v1.ListClusterHostsRequest";
/**
* ID of the cluster to list hosts for.
*
* To get this 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 API returns a [ListClusterHostsResponse.next_page_token] that can be used to get the next page of results in the subsequent [ClusterService.ListHosts] requests.
*/
pageSize: number;
/**
* Page token that can be used to iterate through multiple pages of results.
*
* To get the next page of results, set [page_token] to the [ListClusterHostsResponse.next_page_token] returned by the previous [ClusterService.ListHosts] request.
*/
pageToken: string;
}
export interface ListClusterHostsResponse {
$type: "yandex.cloud.mdb.mysql.v1.ListClusterHostsResponse";
/** List of hosts in the cluster. */
hosts: Host[];
/**
* The token that can be used to get the next page of results.
*
* If the number of results is larger than [ListClusterHostsRequest.page_size], use the [next_page_token] as the value for the [ListClusterHostsRequest.page_token] in the subsequent [ClusterService.ListHosts] request to iterate through multiple pages of results.
*
* Each of the subsequent [ClusterService.ListHosts] requests should use the [next_page_token] value returned by the previous request to continue paging through the results.
*/
nextPageToken: string;
}
export interface AddClusterHostsRequest {
$type: "yandex.cloud.mdb.mysql.v1.AddClusterHostsRequest";
/**
* ID of the cluster to add hosts to.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
/** Configuration of the newly added hosts. */
hostSpecs: HostSpec[];
}
export interface AddClusterHostsMetadata {
$type: "yandex.cloud.mdb.mysql.v1.AddClusterHostsMetadata";
/** ID of the cluster to which the hosts are being added. */
clusterId: string;
/** Names of hosts that are being added. */
hostNames: string[];
}
export interface DeleteClusterHostsRequest {
$type: "yandex.cloud.mdb.mysql.v1.DeleteClusterHostsRequest";
/**
* ID of the cluster to delete hosts from.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
/**
* Names of hosts to delete.
*
* To get these names, make a [ClusterService.ListHosts] request.
*/
hostNames: string[];
}
export interface DeleteClusterHostsMetadata {
$type: "yandex.cloud.mdb.mysql.v1.DeleteClusterHostsMetadata";
/** ID of the cluster from which the hosts are being deleted. */
clusterId: string;
/** Names of hosts that are being deleted. */
hostNames: string[];
}
export interface StartClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.StartClusterRequest";
/**
* ID of the cluster to start.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
}
export interface StartClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.StartClusterMetadata";
/** ID of the cluster that is being started. */
clusterId: string;
}
export interface StopClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.StopClusterRequest";
/**
* ID of the cluster to stop.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
}
export interface StopClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.StopClusterMetadata";
/** ID of the cluster that is being stopped. */
clusterId: string;
}
export interface MoveClusterRequest {
$type: "yandex.cloud.mdb.mysql.v1.MoveClusterRequest";
/**
* ID of the cluster to move.
*
* To get this ID, make a [ClusterService.List] request.
*/
clusterId: string;
/**
* ID of the destination folder.
*
* To get this ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
*/
destinationFolderId: string;
}
export interface MoveClusterMetadata {
$type: "yandex.cloud.mdb.mysql.v1.MoveClusterMetadata";
/** ID of the cluster that is being moved. */
clusterId: string;
/** ID of the source folder. */
sourceFolderId: string;
/** ID of the destination folder. */
destinationFolderId: string;
}
export interface UpdateClusterHostsRequest {
$type: "yandex.cloud.mdb.mysql.v1.UpdateClusterHostsRequest";
/**
* ID of the MySQL cluster to update hosts in.
* To get the MySQL cluster ID, use a [ClusterService.List] request.
*/
clusterId: string;
/** New configurations to apply to hosts. */
updateHostSpecs: UpdateHostSpec[];
}
export interface UpdateClusterHostsMetadata {
$type: "yandex.cloud.mdb.mysql.v1.UpdateClusterHostsMetadata";
/** ID of the cluster in which the hosts are being updated. */
clusterId: string;
/** Names of hosts that are being updated. */
hostNames: string[];
}
export interface UpdateHostSpec {
$type: "yandex.cloud.mdb.mysql.v1.UpdateHostSpec";
/**
* Name of the host to update.
* To get a MySQL host name, use a [ClusterService.ListHosts] request.
*/
hostName: string;
/**
* [Host.name] of the host to be used as the replication source (for cascading replication).
* To get a MySQL host name, use a [ClusterService.ListHosts] request.
*/
replicationSource: string;
/** Field mask that specifies which settings of the MySQL host should be updated. */
updateMask?: FieldMask;
/** Host backup priority. */
backupPriority: number;
/** Whether the host should get a public IP address on creation. */
assignPublicIp: boolean;
/** Host master promotion priority. */
priority: number;
}
export interface HostSpec {
$type: "yandex.cloud.mdb.mysql.v1.HostSpec";
/**
* ID of the availability zone where the host resides.
*
* To get a list of available zones, make the [yandex.cloud.compute.v1.ZoneService.List] request.
*/
zoneId: string;
/**
* ID of the subnet to assign to the host.
*
* This subnet should be a part of the cluster network (the network ID is specified in the [ClusterService.CreateClusterRequest.network_id]).
*/
subnetId: string;
/**
* Option that enables public IP address for the host so that the host can be accessed from the internet.
*
* After a host has been created, this setting cannot be changed.
* To remove an assigned public IP address, or to assign a public IP address to a host without one, recreate the host with the appropriate [assign_public_ip] value set.
*
* Possible values:
* * `false` - don't assign a public IP address to the host.
* * `true` - assign a public IP address to the host.
*/
assignPublicIp: boolean;
/** [Host.name] of the host to be used as the replication source (for cascading replication). */
replicationSource: string;
/** Host backup priority */
backupPriority: number;
/** Host master promotion priority */
priority: number;
}
export interface ConfigSpec {
$type: "yandex.cloud.mdb.mysql.v1.ConfigSpec";
/**
* Version of MySQL used in the cluster.
*
* Possible values: `5.7`, `8.0`.
*/
version: string;
/** Configuration for a MySQL 5.7 cluster. */
mysqlConfig57?: Mysqlconfig57 | undefined;
/** Configuration for a MySQL 8.0 cluster. */
mysqlConfig80?: Mysqlconfig80 | undefined;
/** Resource preset for the cluster hosts. */
resources?: Resources;
/** Time to start the daily backup, in the UTC timezone. */
backupWindowStart?: TimeOfDay;
/**
* Access policy for external services.
*
* If the specific services need to access the cluster, then set the necessary values in this policy.
*/
access?: Access;
/** Configuration of the performance diagnostics service. */
performanceDiagnostics?: PerformanceDiagnostics;
/** Retention policy of automated backups. */
backupRetainPeriodDays?: number;
}
export declare const GetClusterRequest: {
$type: "yandex.cloud.mdb.mysql.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.mysql.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.mysql.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/mysql/v1/cluster").Cluster_Status | undefined;
config?: {
resources?: {
diskTypeId?: string | undefined;
diskSize?: number | undefined;
resourcePresetId?: string | undefined;
} | undefined;
version?: string | undefined;
backupWindowStart?: {
seconds?: number | undefined;
nanos?: number | undefined;
hours?: number | undefined;
minutes?: number | undefined;
} | undefined;
access?: {
dataLens?: boolean | undefined;
webSql?: boolean | undefined;
dataTransfer?: boolean | undefined;
} | undefined;
backupRetainPeriodDays?: number | undefined;
performanceDiagnostics?: {
enabled?: boolean | undefined;
sessionsSamplingInterval?: number | undefined;
statementsSamplingInterval?: number | undefined;
} | undefined;
mysqlConfig57?: {
effectiveConfig?: {
sqlMode?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_SQLMode[] | undefined;
maxConnections?: number | undefined;
auditLog?: boolean | undefined;
defaultAuthenticationPlugin?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_AuthPlugin | undefined;
transactionIsolation?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_TransactionIsolation | undefined;
defaultTimeZone?: string | undefined;
characterSetServer?: string | undefined;
collationServer?: string | undefined;
binlogRowImage?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_BinlogRowImage | undefined;
slaveParallelType?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_SlaveParallelType | undefined;
logSlowRateType?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_LogSlowRateType | undefined;
logSlowFilter?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_LogSlowFilterType[] | undefined;
binlogTransactionDependencyTracking?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_BinlogTransactionDependencyTracking | undefined;
optimizerSwitch?: string | undefined;
innodbBufferPoolSize?: number | undefined;
longQueryTime?: number | undefined;
generalLog?: boolean | undefined;
maxAllowedPacket?: number | undefined;
innodbFlushLogAtTrxCommit?: number | undefined;
innodbLockWaitTimeout?: number | undefined;
innodbPrintAllDeadlocks?: boolean | undefined;
netReadTimeout?: number | undefined;
netWriteTimeout?: number | undefined;
groupConcatMaxLen?: number | undefined;
tmpTableSize?: number | undefined;
maxHeapTableSize?: number | undefined;
innodbAdaptiveHashIndex?: boolean | undefined;
innodbNumaInterleave?: boolean | undefined;
innodbLogBufferSize?: number | undefined;
innodbLogFileSize?: number | undefined;
innodbIoCapacity?: number | undefined;
innodbIoCapacityMax?: number | undefined;
innodbReadIoThreads?: number | undefined;
innodbWriteIoThreads?: number | undefined;
innodbPurgeThreads?: number | undefined;
innodbThreadConcurrency?: number | undefined;
innodbTempDataFileMaxSize?: number | undefined;
threadCacheSize?: number | undefined;
threadStack?: number | undefined;
joinBufferSize?: number | undefined;
sortBufferSize?: number | undefined;
tableDefinitionCache?: number | undefined;
tableOpenCache?: number | undefined;
tableOpenCacheInstances?: number | undefined;
explicitDefaultsForTimestamp?: boolean | undefined;
autoIncrementIncrement?: number | undefined;
autoIncrementOffset?: number | undefined;
syncBinlog?: number | undefined;
binlogCacheSize?: number | undefined;
binlogGroupCommitSyncDelay?: number | undefined;
binlogRowsQueryLogEvents?: boolean | undefined;
rplSemiSyncMasterWaitForSlaveCount?: number | undefined;
slaveParallelWorkers?: number | undefined;
mdbPreserveBinlogBytes?: number | undefined;
interactiveTimeout?: number | undefined;
waitTimeout?: number | undefined;
mdbOfflineModeEnableLag?: number | undefined;
mdbOfflineModeDisableLag?: number | undefined;
rangeOptimizerMaxMemSize?: number | undefined;
slowQueryLog?: boolean | undefined;
slowQueryLogAlwaysWriteTime?: number | undefined;
logSlowRateLimit?: number | undefined;
logSlowSpStatements?: boolean | undefined;
mdbPriorityChoiceMaxLag?: number | undefined;
innodbPageSize?: number | undefined;
innodbOnlineAlterLogMaxSize?: number | undefined;
innodbFtMinTokenSize?: number | undefined;
innodbFtMaxTokenSize?: number | undefined;
lowerCaseTableNames?: number | undefined;
showCompatibility56?: boolean | undefined;
maxSpRecursionDepth?: number | undefined;
innodbCompressionLevel?: number | undefined;
autocommit?: boolean | undefined;
innodbStatusOutput?: boolean | undefined;
innodbStrictMode?: boolean | undefined;
innodbPrintLockWaitTimeoutInfo?: boolean | undefined;
logErrorVerbosity?: number | undefined;
maxDigestLength?: number | undefined;
queryCacheLimit?: number | undefined;
queryCacheSize?: number | undefined;
queryCacheType?: number | undefined;
lockWaitTimeout?: number | undefined;
maxPreparedStmtCount?: number | undefined;
optimizerSearchDepth?: number | undefined;
queryResponseTimeStats?: boolean | undefined;
} | undefined;
userConfig?: {
sqlMode?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_SQLMode[] | undefined;
maxConnections?: number | undefined;
auditLog?: boolean | undefined;
defaultAuthenticationPlugin?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_AuthPlugin | undefined;
transactionIsolation?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_TransactionIsolation | undefined;
defaultTimeZone?: string | undefined;
characterSetServer?: string | undefined;
collationServer?: string | undefined;
binlogRowImage?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_BinlogRowImage | undefined;
slaveParallelType?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_SlaveParallelType | undefined;
logSlowRateType?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_LogSlowRateType | undefined;
logSlowFilter?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_LogSlowFilterType[] | undefined;
binlogTransactionDependencyTracking?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_BinlogTransactionDependencyTracking | undefined;
optimizerSwitch?: string | undefined;
innodbBufferPoolSize?: number | undefined;
longQueryTime?: number | undefined;
generalLog?: boolean | undefined;
maxAllowedPacket?: number | undefined;
innodbFlushLogAtTrxCommit?: number | undefined;
innodbLockWaitTimeout?: number | undefined;
innodbPrintAllDeadlocks?: boolean | undefined;
netReadTimeout?: number | undefined;
netWriteTimeout?: number | undefined;
groupConcatMaxLen?: number | undefined;
tmpTableSize?: number | undefined;
maxHeapTableSize?: number | undefined;
innodbAdaptiveHashIndex?: boolean | undefined;
innodbNumaInterleave?: boolean | undefined;
innodbLogBufferSize?: number | undefined;
innodbLogFileSize?: number | undefined;
innodbIoCapacity?: number | undefined;
innodbIoCapacityMax?: number | undefined;
innodbReadIoThreads?: number | undefined;
innodbWriteIoThreads?: number | undefined;
innodbPurgeThreads?: number | undefined;
innodbThreadConcurrency?: number | undefined;
innodbTempDataFileMaxSize?: number | undefined;
threadCacheSize?: number | undefined;
threadStack?: number | undefined;
joinBufferSize?: number | undefined;
sortBufferSize?: number | undefined;
tableDefinitionCache?: number | undefined;
tableOpenCache?: number | undefined;
tableOpenCacheInstances?: number | undefined;
explicitDefaultsForTimestamp?: boolean | undefined;
autoIncrementIncrement?: number | undefined;
autoIncrementOffset?: number | undefined;
syncBinlog?: number | undefined;
binlogCacheSize?: number | undefined;
binlogGroupCommitSyncDelay?: number | undefined;
binlogRowsQueryLogEvents?: boolean | undefined;
rplSemiSyncMasterWaitForSlaveCount?: number | undefined;
slaveParallelWorkers?: number | undefined;
mdbPreserveBinlogBytes?: number | undefined;
interactiveTimeout?: number | undefined;
waitTimeout?: number | undefined;
mdbOfflineModeEnableLag?: number | undefined;
mdbOfflineModeDisableLag?: number | undefined;
rangeOptimizerMaxMemSize?: number | undefined;
slowQueryLog?: boolean | undefined;
slowQueryLogAlwaysWriteTime?: number | undefined;
logSlowRateLimit?: number | undefined;
logSlowSpStatements?: boolean | undefined;
mdbPriorityChoiceMaxLag?: number | undefined;
innodbPageSize?: number | undefined;
innodbOnlineAlterLogMaxSize?: number | undefined;
innodbFtMinTokenSize?: number | undefined;
innodbFtMaxTokenSize?: number | undefined;
lowerCaseTableNames?: number | undefined;
showCompatibility56?: boolean | undefined;
maxSpRecursionDepth?: number | undefined;
innodbCompressionLevel?: number | undefined;
autocommit?: boolean | undefined;
innodbStatusOutput?: boolean | undefined;
innodbStrictMode?: boolean | undefined;
innodbPrintLockWaitTimeoutInfo?: boolean | undefined;
logErrorVerbosity?: number | undefined;
maxDigestLength?: number | undefined;
queryCacheLimit?: number | undefined;
queryCacheSize?: number | undefined;
queryCacheType?: number | undefined;
lockWaitTimeout?: number | undefined;
maxPreparedStmtCount?: number | undefined;
optimizerSearchDepth?: number | undefined;
queryResponseTimeStats?: boolean | undefined;
} | undefined;
defaultConfig?: {
sqlMode?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_SQLMode[] | undefined;
maxConnections?: number | undefined;
auditLog?: boolean | undefined;
defaultAuthenticationPlugin?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_AuthPlugin | undefined;
transactionIsolation?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_TransactionIsolation | undefined;
defaultTimeZone?: string | undefined;
characterSetServer?: string | undefined;
collationServer?: string | undefined;
binlogRowImage?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_BinlogRowImage | undefined;
slaveParallelType?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_SlaveParallelType | undefined;
logSlowRateType?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_LogSlowRateType | undefined;
logSlowFilter?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_LogSlowFilterType[] | undefined;
binlogTransactionDependencyTracking?: import("../../../../../yandex/cloud/mdb/mysql/v1/config/mysql5_7").Mysqlconfig57_BinlogTransactionDependencyTracking | undefined;
optimizerSwitch?: string | undefined;
innodbBufferPoolSize?: number | undefined;
longQueryTime?: number | undefined;
generalLog?: boolean | undefined;
maxAllowedPacket?: number | undefined;
innodbFlushLogAtTrxCommit?: number | undefined;
innodbLockWaitTimeout?: number | undefined;
innodbPrintAllDeadlocks?: boolean | undefined;
netReadTimeout?: number | undefined;
netWriteTimeout?: number | undefined;
groupConcatMaxLen?: number | undefined;
tmpTableSize?: number | undefined;
maxHeapTableSize?: number | undefined;
innodbAdaptiveHashIndex?: boolean | undefined;
innodbNumaInterleave?: boolean | undefined;
innodbLogBufferSize?: number | undefined;
innodbLogFileSize?: number | undefined;
innodbIoCapacity?: number | undefined;
innodbIoCapacityMax?: number | undefined;
innodbReadIoThreads?: number | undefined;
innodbWriteIoThreads?: number | undefined;
innodbPurgeThreads?: number | undefined;
innodbThreadConcurrency?: number | undefined;
innodbTempDataFileMaxSize?: number | undefined;
threadCacheSize?: number | undefined;
threadStack?: number | undefined;
joinBufferSize?: number | undefined;
sortBufferSize?: number | undefined;
tableDefinitionCache?: number | undefined;
tableOpenCache?: number | undefined;
tableOpenCacheInstan