import _m0 from 'protobufjs/minimal'; import { TLSMode, ObjectTransferStage, Secret, CleanupPolicy, ConnectionManagerConnection } from '../../../../../yandex/cloud/datatransfer/v1/endpoint/common'; export declare const protobufPackage = "yandex.cloud.datatransfer.v1.endpoint"; export interface OnPremiseMysql { /** Database port */ port: number; /** Network interface for endpoint. If none will assume public ipv4 */ subnetId: string; hosts: string[]; /** TLS settings for server connection. Disabled by default. */ tlsMode?: TLSMode; } export interface MysqlConnection { /** Managed Service for MySQL cluster ID */ mdbClusterId: string | undefined; /** Connection options for on-premise MySQL */ onPremise?: OnPremiseMysql | undefined; connectionManagerConnection?: ConnectionManagerConnection | undefined; } export interface MysqlObjectTransferSettings { /** * Views * * CREATE VIEW ... */ view: ObjectTransferStage; /** * Routines * * CREATE PROCEDURE ... ; CREATE FUNCTION ... ; */ routine: ObjectTransferStage; /** * Triggers * * CREATE TRIGGER ... */ trigger: ObjectTransferStage; tables: ObjectTransferStage; } export interface MysqlSource { /** Database connection settings */ connection?: MysqlConnection; /** * Database name * * You can leave it empty, then it will be possible to transfer tables from several * databases at the same time from this source. */ database: string; /** User for database access. not required as may be in connection */ user: string; /** Password for database access. */ password?: Secret; /** * Database timezone * * Is used for parsing timestamps for saving source timezones. Accepts values from * IANA timezone database. Default: local timezone. */ timezone: string; /** * Schema migration * * Select database objects to be transferred during activation or deactivation. */ objectTransferSettings?: MysqlObjectTransferSettings; includeTablesRegex: string[]; excludeTablesRegex: string[]; /** Security groups */ securityGroups: string[]; /** * Database for service tables * * Default: data source database. Here created technical tables (__tm_keeper, * __tm_gtid_keeper). */ serviceDatabase: string; } export interface MysqlTarget { /** Database connection settings */ connection?: MysqlConnection; /** * Database name * * Allowed to leave it empty, then the tables will be created in databases with the * same names as on the source. If this field is empty, then you must fill below db * schema for service table. */ database: string; /** User for database access. not required as may be in connection */ user: string; /** Password for database access. */ password?: Secret; /** Default: NO_AUTO_VALUE_ON_ZERO,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION. */ sqlMode: string; /** * Disable constraints checks * * Recommend to disable for increase replication speed, but if schema contain * cascading operations we don't recommend to disable. This option set * FOREIGN_KEY_CHECKS=0 and UNIQUE_CHECKS=0. */ skipConstraintChecks: boolean; /** * Database timezone * * Is used for parsing timestamps for saving source timezones. Accepts values from * IANA timezone database. Default: local timezone. */ timezone: string; /** * Cleanup policy * * Cleanup policy for activate, reactivate and reupload processes. Default is * DISABLED. */ cleanupPolicy: CleanupPolicy; /** * Database schema for service table * * Default: db name. Here created technical tables (__tm_keeper, __tm_gtid_keeper). */ serviceDatabase: string; /** Security groups */ securityGroups: string[]; } export declare const OnPremiseMysql: { encode(message: OnPremiseMysql, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): OnPremiseMysql; fromJSON(object: any): OnPremiseMysql; toJSON(message: OnPremiseMysql): unknown; fromPartial, never>) | undefined; tlsMode?: ({ disabled?: {} | undefined; enabled?: { caCertificate?: string | undefined; } | undefined; } & { disabled?: ({} & {} & Record, never>) | undefined; enabled?: ({ caCertificate?: string | undefined; } & { caCertificate?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): OnPremiseMysql; }; export declare const MysqlConnection: { encode(message: MysqlConnection, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MysqlConnection; fromJSON(object: any): MysqlConnection; toJSON(message: MysqlConnection): unknown; fromPartial, never>) | undefined; tlsMode?: ({ disabled?: {} | undefined; enabled?: { caCertificate?: string | undefined; } | undefined; } & { disabled?: ({} & {} & Record, never>) | undefined; enabled?: ({ caCertificate?: string | undefined; } & { caCertificate?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; connectionManagerConnection?: ({ connectionId?: string | undefined; subnetId?: string | undefined; } & { connectionId?: string | undefined; subnetId?: string | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): MysqlConnection; }; export declare const MysqlObjectTransferSettings: { encode(message: MysqlObjectTransferSettings, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MysqlObjectTransferSettings; fromJSON(object: any): MysqlObjectTransferSettings; toJSON(message: MysqlObjectTransferSettings): unknown; fromPartial, never>>(object: I): MysqlObjectTransferSettings; }; export declare const MysqlSource: { encode(message: MysqlSource, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MysqlSource; fromJSON(object: any): MysqlSource; toJSON(message: MysqlSource): unknown; fromPartial, never>) | undefined; tlsMode?: ({ disabled?: {} | undefined; enabled?: { caCertificate?: string | undefined; } | undefined; } & { disabled?: ({} & {} & Record, never>) | undefined; enabled?: ({ caCertificate?: string | undefined; } & { caCertificate?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; connectionManagerConnection?: ({ connectionId?: string | undefined; subnetId?: string | undefined; } & { connectionId?: string | undefined; subnetId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; database?: string | undefined; user?: string | undefined; password?: ({ raw?: string | undefined; } & { raw?: string | undefined; } & Record, never>) | undefined; timezone?: string | undefined; objectTransferSettings?: ({ view?: ObjectTransferStage | undefined; routine?: ObjectTransferStage | undefined; trigger?: ObjectTransferStage | undefined; tables?: ObjectTransferStage | undefined; } & { view?: ObjectTransferStage | undefined; routine?: ObjectTransferStage | undefined; trigger?: ObjectTransferStage | undefined; tables?: ObjectTransferStage | undefined; } & Record, never>) | undefined; includeTablesRegex?: (string[] & string[] & Record, never>) | undefined; excludeTablesRegex?: (string[] & string[] & Record, never>) | undefined; securityGroups?: (string[] & string[] & Record, never>) | undefined; serviceDatabase?: string | undefined; } & Record, never>>(object: I): MysqlSource; }; export declare const MysqlTarget: { encode(message: MysqlTarget, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): MysqlTarget; fromJSON(object: any): MysqlTarget; toJSON(message: MysqlTarget): unknown; fromPartial, never>) | undefined; tlsMode?: ({ disabled?: {} | undefined; enabled?: { caCertificate?: string | undefined; } | undefined; } & { disabled?: ({} & {} & Record, never>) | undefined; enabled?: ({ caCertificate?: string | undefined; } & { caCertificate?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; connectionManagerConnection?: ({ connectionId?: string | undefined; subnetId?: string | undefined; } & { connectionId?: string | undefined; subnetId?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; database?: string | undefined; user?: string | undefined; password?: ({ raw?: string | undefined; } & { raw?: string | undefined; } & Record, never>) | undefined; sqlMode?: string | undefined; skipConstraintChecks?: boolean | undefined; timezone?: string | undefined; cleanupPolicy?: CleanupPolicy | undefined; serviceDatabase?: string | undefined; securityGroups?: (string[] & string[] & Record, never>) | undefined; } & Record, never>>(object: I): MysqlTarget; }; 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 {};