diff options
author | iddqd <iddqd@yandex-team.com> | 2024-06-11 10:12:13 +0300 |
---|---|---|
committer | iddqd <iddqd@yandex-team.com> | 2024-06-11 10:22:43 +0300 |
commit | 07f57e35443ab7f09471caf2dbf1afbcced4d9f7 (patch) | |
tree | a4a7b66ead62e83fa988a2ec2ce6576311c1f4b1 /contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint | |
parent | 6db3b8ca95e44179e48306a58656fb1f9317d9c3 (diff) | |
download | ydb-07f57e35443ab7f09471caf2dbf1afbcced4d9f7.tar.gz |
add contrib/python/yandexcloud to import
03b7d3cad2237366b55b393e18d4dc5eb222798c
Diffstat (limited to 'contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint')
11 files changed, 835 insertions, 0 deletions
diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/clickhouse.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/clickhouse.proto new file mode 100644 index 0000000000..ca61659646 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/clickhouse.proto @@ -0,0 +1,86 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "google/protobuf/empty.proto"; +import "yandex/cloud/datatransfer/v1/endpoint/common.proto"; + +enum ClickhouseCleanupPolicy { + CLICKHOUSE_CLEANUP_POLICY_UNSPECIFIED = 0; + CLICKHOUSE_CLEANUP_POLICY_DISABLED = 1; + CLICKHOUSE_CLEANUP_POLICY_DROP = 2; + CLICKHOUSE_CLEANUP_POLICY_TRUNCATE = 3; +} +message ClickhouseShard { + string name = 1; + repeated string hosts = 2; +} +message OnPremiseClickhouse { + reserved 2, 5 to 7; + repeated ClickhouseShard shards = 1; + int64 http_port = 3; + int64 native_port = 4; + TLSMode tls_mode = 8; +} +message ClickhouseConnectionOptions { + reserved 1, 3 to 4; + oneof address { + string mdb_cluster_id = 5; + OnPremiseClickhouse on_premise = 2; + } + string user = 6; + Secret password = 7; + // Database + string database = 8; +} +message ClickhouseConnection { + oneof connection { + ClickhouseConnectionOptions connection_options = 1; + } +} +message ClickhouseSharding { + message ColumnValueHash { + string column_name = 1; + } + message ColumnValueMapping { + message ValueToShard { + ColumnValue column_value = 1; + string shard_name = 2; + } + string column_name = 1; + repeated ValueToShard mapping = 2; + } + oneof sharding { + ColumnValueHash column_value_hash = 1; + ColumnValueMapping custom_mapping = 2; + google.protobuf.Empty transfer_id = 3; + google.protobuf.Empty round_robin = 4; + } +} +message ClickhouseSource { + reserved 2 to 6; + ClickhouseConnection connection = 1; + // While list of tables for replication. If none or empty list is presented - will + // replicate all tables. Can contain * patterns. + repeated string include_tables = 7; + // Exclude list of tables for replication. If none or empty list is presented - + // will replicate all tables. Can contain * patterns. + repeated string exclude_tables = 8; + string subnet_id = 9; + repeated string security_groups = 10; +} +message ClickhouseTarget { + reserved 1, 3 to 11, 13 to 16, 18 to 20, 23 to 49; + ClickhouseConnection connection = 2; + string subnet_id = 12; + // Alternative table names in target + repeated AltName alt_names = 17; + ClickhouseCleanupPolicy cleanup_policy = 21; + ClickhouseSharding sharding = 22; + string clickhouse_cluster_name = 50; + repeated string security_groups = 51; +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/common.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/common.proto new file mode 100644 index 0000000000..45a4012fc6 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/common.proto @@ -0,0 +1,112 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "google/protobuf/empty.proto"; + +enum ObjectTransferStage { + OBJECT_TRANSFER_STAGE_UNSPECIFIED = 0; + // Before data transfer + BEFORE_DATA = 1; + // After data transfer + AFTER_DATA = 2; + // Don't copy + NEVER = 3; +} +enum CleanupPolicy { + CLEANUP_POLICY_UNSPECIFIED = 0; + // Don't cleanup + DISABLED = 1; + // Drop + DROP = 2; + // Truncate + TRUNCATE = 3; +} +enum ColumnType { + COLUMN_TYPE_UNSPECIFIED = 0; + INT32 = 1; + INT16 = 2; + INT8 = 3; + UINT64 = 4; + UINT32 = 5; + UINT16 = 6; + UINT8 = 7; + DOUBLE = 8; + BOOLEAN = 9; + STRING = 10; + UTF8 = 11; + ANY = 12; + DATETIME = 13; + INT64 = 14; +} +message AltName { + // Source table name + string from_name = 1; + // Target table name + string to_name = 2; +} +message Secret { + oneof value { + // Raw secret value + string raw = 1; + } +} +message ColSchema { + string name = 1; + ColumnType type = 2; + bool key = 3; + bool required = 4; + string path = 5; +} +message TLSMode { + oneof tls_mode { + google.protobuf.Empty disabled = 1; + TLSConfig enabled = 2; + } +} +message TLSConfig { + // CA certificate + // + // X.509 certificate of the certificate authority which issued the server's + // certificate, in PEM format. When CA certificate is specified TLS is used to + // connect to the server. + string ca_certificate = 1; +} +message ColumnValue { + oneof value { + string string_value = 1; + } +} +message DataTransformationOptions { + reserved 6 to 7; + // Cloud function + string cloud_function = 1; + // Number of retries + int64 number_of_retries = 2; + // Buffer size for function + string buffer_size = 3; + // Flush interval + string buffer_flush_interval = 4; + // Invocation timeout + string invocation_timeout = 5; + // Service account + string service_account_id = 8; +} +message FieldList { + reserved 1; + // Column schema + repeated ColSchema fields = 2; +} +message DataSchema { + oneof schema { + FieldList fields = 2; + string json_fields = 1; + } +} +// No authentication +message NoAuth { +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/kafka.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/kafka.proto new file mode 100644 index 0000000000..dc223bd078 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/kafka.proto @@ -0,0 +1,100 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "yandex/cloud/datatransfer/v1/endpoint/common.proto"; +import "yandex/cloud/datatransfer/v1/endpoint/parsers.proto"; +import "yandex/cloud/datatransfer/v1/endpoint/serializers.proto"; + +enum KafkaMechanism { + KAFKA_MECHANISM_UNSPECIFIED = 0; + KAFKA_MECHANISM_SHA256 = 1; + KAFKA_MECHANISM_SHA512 = 2; +} +message KafkaConnectionOptions { + oneof connection { + // Managed Service for Kafka cluster ID + string cluster_id = 1; + // Connection options for on-premise Kafka + OnPremiseKafka on_premise = 2; + } +} +message OnPremiseKafka { + reserved 2 to 3; + // Kafka broker URLs + repeated string broker_urls = 1; + // Network interface for endpoint. If none will assume public ipv4 + string subnet_id = 4; + // TLS settings for broker connection. Disabled by default. + TLSMode tls_mode = 5; +} +message KafkaAuth { + oneof security { + // Authentication with SASL + KafkaSaslSecurity sasl = 1; + // No authentication + NoAuth no_auth = 2; + } +} +message KafkaSaslSecurity { + reserved 2; + // User name + string user = 1; + // SASL mechanism for authentication + KafkaMechanism mechanism = 3; + // Password for user + Secret password = 4; +} +message KafkaSource { + reserved 6; + // Connection settings + KafkaConnectionOptions connection = 1; + // Authentication settings + KafkaAuth auth = 2; + // Security groups + repeated string security_groups = 3; + // Full source topic name + // Deprecated in favor of topic names + string topic_name = 4 [deprecated = true]; + // Data transformation rules + DataTransformationOptions transformer = 5; + // Data parsing rules + Parser parser = 7; + // List of topic names to read + repeated string topic_names = 8; +} +message KafkaTarget { + reserved 4 to 6; + // Connection settings + KafkaConnectionOptions connection = 1; + // Authentication settings + KafkaAuth auth = 2; + // Security groups + repeated string security_groups = 3; + // Target topic settings + KafkaTargetTopicSettings topic_settings = 7; + // Data serialization format settings + Serializer serializer = 8; +} +message KafkaTargetTopicSettings { + oneof topic_settings { + // Full topic name + KafkaTargetTopic topic = 1; + // Topic prefix + // + // Analogue of the Debezium setting database.server.name. + // Messages will be sent to topic with name <topic_prefix>.<schema>.<table_name>. + string topic_prefix = 2; + } +} +message KafkaTargetTopic { + // Topic name + string topic_name = 1; + // Save transactions order + // Not to split events queue into separate per-table queues. + bool save_tx_order = 2; +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/metrika.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/metrika.proto new file mode 100644 index 0000000000..1974ca6cbd --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/metrika.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "yandex/cloud/datatransfer/v1/endpoint/common.proto"; + +enum MetrikaStreamType { + METRIKA_STREAM_TYPE_UNSPECIFIED = 0; + METRIKA_STREAM_TYPE_HITS = 1; + METRIKA_STREAM_TYPE_VISITS = 2; + METRIKA_STREAM_TYPE_HITS_V2 = 3; +} +message MetrikaStream { + MetrikaStreamType type = 1; + repeated string columns = 2; +} +message MetrikaSource { + repeated int64 counter_ids = 1; + Secret token = 2; + repeated MetrikaStream streams = 3; +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/mongo.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/mongo.proto new file mode 100644 index 0000000000..6e58a0f1f6 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/mongo.proto @@ -0,0 +1,64 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "yandex/cloud/datatransfer/v1/endpoint/common.proto"; + +message OnPremiseMongo { + reserved 3 to 4; + repeated string hosts = 1; + int64 port = 2; + string replica_set = 5; + TLSMode tls_mode = 6; +} +message MongoConnectionOptions { + oneof address { + string mdb_cluster_id = 1; + OnPremiseMongo on_premise = 2; + } + // User name + string user = 3; + // Password for user + Secret password = 4; + // Database name associated with the credentials + string auth_source = 5; +} +message MongoConnection { + reserved 1 to 2; + oneof connection { + MongoConnectionOptions connection_options = 3; + } +} +message MongoCollection { + string database_name = 1; + string collection_name = 2; +} +message MongoSource { + reserved 3 to 5, 9 to 10; + MongoConnection connection = 1; + string subnet_id = 2; + // List of collections for replication. Empty list implies replication of all + // tables on the deployment. Allowed to use * as collection name. + repeated MongoCollection collections = 6; + // List of forbidden collections for replication. Allowed to use * as collection + // name for forbid all collections of concrete schema. + repeated MongoCollection excluded_collections = 7; + // Read mode for mongo client + bool secondary_preferred_mode = 8; + // Security groups + repeated string security_groups = 11; +} +message MongoTarget { + reserved 3 to 5; + MongoConnection connection = 1; + // Database name + string database = 2; + CleanupPolicy cleanup_policy = 6; + string subnet_id = 7; + // Security groups + repeated string security_groups = 8; +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/mysql.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/mysql.proto new file mode 100644 index 0000000000..86627d4357 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/mysql.proto @@ -0,0 +1,114 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "yandex/cloud/datatransfer/v1/endpoint/common.proto"; + +message OnPremiseMysql { + reserved 1, 3; + // Database port + int64 port = 2; + // Network interface for endpoint. If none will assume public ipv4 + string subnet_id = 4; + repeated string hosts = 5; + // TLS settings for server connection. Disabled by default. + TLSMode tls_mode = 6; +} +message MysqlConnection { + oneof connection { + // Managed Service for MySQL cluster ID + string mdb_cluster_id = 1; + // Connection options for on-premise MySQL + OnPremiseMysql on_premise = 2; + } +} +message MysqlObjectTransferSettings { + // Views + // + // CREATE VIEW ... + ObjectTransferStage view = 1; + // Routines + // + // CREATE PROCEDURE ... ; CREATE FUNCTION ... ; + ObjectTransferStage routine = 2; + // Triggers + // + // CREATE TRIGGER ... + ObjectTransferStage trigger = 3; + ObjectTransferStage tables = 4; +} +message MysqlSource { + reserved 5 to 7, 9 to 10; + // Database connection settings + MysqlConnection connection = 1; + // 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. + string database = 2; + // User for database access. + string user = 3; + // Password for database access. + Secret password = 4; + // Database timezone + // + // Is used for parsing timestamps for saving source timezones. Accepts values from + // IANA timezone database. Default: local timezone. + string timezone = 8; + // Schema migration + // + // Select database objects to be transferred during activation or deactivation. + MysqlObjectTransferSettings object_transfer_settings = 11; + repeated string include_tables_regex = 12; + repeated string exclude_tables_regex = 13; + // Security groups + repeated string security_groups = 14; + // Database for service tables + // + // Default: data source database. Here created technical tables (__tm_keeper, + // __tm_gtid_keeper). + string service_database = 15; +} +message MysqlTarget { + reserved 9 to 14; + // Database connection settings + MysqlConnection connection = 1; + // 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. + string database = 2; + // User for database access. + string user = 3; + // Password for database access. + Secret password = 4; + // Default: NO_AUTO_VALUE_ON_ZERO,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION. + string sql_mode = 5; + // 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. + bool skip_constraint_checks = 6; + // Database timezone + // + // Is used for parsing timestamps for saving source timezones. Accepts values from + // IANA timezone database. Default: local timezone. + string timezone = 7; + // Cleanup policy + // + // Cleanup policy for activate, reactivate and reupload processes. Default is + // DISABLED. + CleanupPolicy cleanup_policy = 8; + // Database schema for service table + // + // Default: db name. Here created technical tables (__tm_keeper, __tm_gtid_keeper). + string service_database = 15; + // Security groups + repeated string security_groups = 16; +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/parsers.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/parsers.proto new file mode 100644 index 0000000000..14fc9460b0 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/parsers.proto @@ -0,0 +1,33 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "yandex/cloud/datatransfer/v1/endpoint/common.proto"; + +message Parser { + reserved 3, 5; + oneof parser { + GenericParserCommon json_parser = 1; + AuditTrailsV1Parser audit_trails_v1_parser = 2; + CloudLoggingParser cloud_logging_parser = 4; + GenericParserCommon tskv_parser = 6; + } +} +message GenericParserCommon { + reserved 4 to 6; + DataSchema data_schema = 1; + // Allow null keys, if no - null keys will be putted to unparsed data + bool null_keys_allowed = 2; + // Will add _rest column for all unknown fields + bool add_rest_column = 3; + // Unescape string values + bool unescape_string_values = 7; +} +message AuditTrailsV1Parser { +} +message CloudLoggingParser { +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/postgres.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/postgres.proto new file mode 100644 index 0000000000..1acbce869b --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/postgres.proto @@ -0,0 +1,147 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "yandex/cloud/datatransfer/v1/endpoint/common.proto"; + +message PostgresObjectTransferSettings { + // Sequences + // + // CREATE SEQUENCE ... + ObjectTransferStage sequence = 1; + // Owned sequences + // + // CREATE SEQUENCE ... OWNED BY ... + ObjectTransferStage sequence_owned_by = 2; + // Tables + // + // CREATE TABLE ... + ObjectTransferStage table = 3; + // Primary keys + // + // ALTER TABLE ... ADD PRIMARY KEY ... + ObjectTransferStage primary_key = 4; + // Foreign keys + // + // ALTER TABLE ... ADD FOREIGN KEY ... + ObjectTransferStage fk_constraint = 5; + // Default values + // + // ALTER TABLE ... ALTER COLUMN ... SET DEFAULT ... + ObjectTransferStage default_values = 6; + // Constraints + // + // ALTER TABLE ... ADD CONSTRAINT ... + ObjectTransferStage constraint = 7; + // Indexes + // + // CREATE INDEX ... + ObjectTransferStage index = 8; + // Views + // + // CREATE VIEW ... + ObjectTransferStage view = 9; + // Functions + // + // CREATE FUNCTION ... + ObjectTransferStage function = 10; + // Triggers + // + // CREATE TRIGGER ... + ObjectTransferStage trigger = 11; + // Types + // + // CREATE TYPE ... + ObjectTransferStage type = 12; + // Rules + // + // CREATE RULE ... + ObjectTransferStage rule = 13; + // Collations + // + // CREATE COLLATION ... + ObjectTransferStage collation = 14; + // Policies + // + // CREATE POLICY ... + ObjectTransferStage policy = 15; + // Casts + // + // CREATE CAST ... + ObjectTransferStage cast = 16; + // Materialized views + // + // CREATE MATERIALIZED VIEW ... + ObjectTransferStage materialized_view = 17; + // + ObjectTransferStage sequence_set = 18; +} +message OnPremisePostgres { + reserved 1, 3; + // Will be used if the cluster ID is not specified. + int64 port = 2; + // Network interface for endpoint. If none will assume public ipv4 + string subnet_id = 4; + repeated string hosts = 5; + // TLS settings for server connection. Disabled by default. + TLSMode tls_mode = 6; +} +message PostgresConnection { + oneof connection { + // Managed Service for PostgreSQL cluster ID + string mdb_cluster_id = 1; + // Connection options for on-premise PostgreSQL + OnPremisePostgres on_premise = 2; + } +} +message PostgresSource { + reserved 7, 10 to 12; + // Database connection settings + PostgresConnection connection = 1; + // Database name + string database = 2; + // User for database access. + string user = 3; + // Password for database access. + Secret password = 4; + // Included tables + // + // If none or empty list is presented, all tables are replicated. Full table name + // with schema. Can contain schema_name.* patterns. + repeated string include_tables = 5; + // Excluded tables + // + // If none or empty list is presented, all tables are replicated. Full table name + // with schema. Can contain schema_name.* patterns. + repeated string exclude_tables = 6; + // Maximum lag of replication slot (in bytes); after exceeding this limit + // replication will be aborted. + int64 slot_byte_lag_limit = 8; + // Database schema for service tables (__consumer_keeper, + // __data_transfer_mole_finder). Default is public + string service_schema = 9; + // Select database objects to be transferred during activation or deactivation. + PostgresObjectTransferSettings object_transfer_settings = 13; + // Security groups + repeated string security_groups = 14; +} +message PostgresTarget { + reserved 6; + // Database connection settings + PostgresConnection connection = 1; + // Database name + string database = 2; + // User for database access. + string user = 3; + // Password for database access. + Secret password = 4; + // Cleanup policy for activate, reactivate and reupload processes. Default is + // truncate. + CleanupPolicy cleanup_policy = 5; + // Security groups + repeated string security_groups = 7; +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/serializers.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/serializers.proto new file mode 100644 index 0000000000..83c21ad15f --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/serializers.proto @@ -0,0 +1,33 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +message SerializerAuto { +} +message SerializerJSON { +} +message DebeziumSerializerParameter { + // Name of the serializer parameter + string key = 1; + // Value of the serializer parameter + string value = 2; +} +message SerializerDebezium { + // Settings of sterilization parameters as key-value pairs + repeated DebeziumSerializerParameter serializer_parameters = 1; +} +// Data serialization format +message Serializer { + oneof serializer { + // Select the serialization format automatically + SerializerAuto serializer_auto = 1; + // Serialize data in json format + SerializerJSON serializer_json = 2; + // Serialize data in debezium format + SerializerDebezium serializer_debezium = 3; + } +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/ydb.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/ydb.proto new file mode 100644 index 0000000000..f6d25f4ea1 --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/ydb.proto @@ -0,0 +1,58 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +enum YdbCleanupPolicy { + YDB_CLEANUP_POLICY_UNSPECIFIED = 0; + YDB_CLEANUP_POLICY_DISABLED = 1; + YDB_CLEANUP_POLICY_DROP = 2; +} +enum YdbDefaultCompression { + YDB_DEFAULT_COMPRESSION_UNSPECIFIED = 0; + YDB_DEFAULT_COMPRESSION_DISABLED = 1; + YDB_DEFAULT_COMPRESSION_LZ4 = 2; +} +message YdbSource { + reserved 3 to 4, 7 to 29, 31 to 32; + // Path in YDB where to store tables + string database = 1; + // Instance of YDB. example: ydb-ru-prestable.yandex.net:2135 + string instance = 2; + repeated string paths = 5; + string service_account_id = 6; + // Network interface for endpoint. If none will assume public ipv4 + string subnet_id = 30; + // Authorization Key + string sa_key_content = 33; + // Security groups + repeated string security_groups = 34; + // Pre-created change feed + string changefeed_custom_name = 35; +} +message YdbTarget { + reserved 3 to 9, 12 to 20, 22 to 29, 31; + // Path in YDB where to store tables + string database = 1; + // Instance of YDB. example: ydb-ru-prestable.yandex.net:2135 + string instance = 2; + // Path extension for database, each table will be layouted into this path + string path = 10; + string service_account_id = 11; + // Cleanup policy + YdbCleanupPolicy cleanup_policy = 21; + // Network interface for endpoint. If none will assume public ipv4 + string subnet_id = 30; + // SA content + string sa_key_content = 32; + // Security groups + repeated string security_groups = 33; + // Should create column-oriented table (OLAP). By default it creates row-oriented + // (OLTP) + bool is_table_column_oriented = 34; + // Compression that will be used for default columns family on YDB table creation + YdbDefaultCompression default_compression = 35; +} diff --git a/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/yds.proto b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/yds.proto new file mode 100644 index 0000000000..66c23c1f4c --- /dev/null +++ b/contrib/libs/yandex-cloud-api-protos/yandex/cloud/datatransfer/v1/endpoint/yds.proto @@ -0,0 +1,63 @@ +syntax = "proto3"; + +package yandex.cloud.datatransfer.v1.endpoint; + +option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint"; +option java_package = "yandex.cloud.api.datatransfer.v1.endpoint"; +option csharp_namespace = "Yandex.Cloud.Datatransfer.V1.EndPoint"; // there is a clash with class Endpoint in namespace Yandex.Cloud.Datatransfer.V1 + +import "yandex/cloud/datatransfer/v1/endpoint/parsers.proto"; +import "yandex/cloud/datatransfer/v1/endpoint/serializers.proto"; + +enum YdsCompressionCodec { + YDS_COMPRESSION_CODEC_UNSPECIFIED = 0; + YDS_COMPRESSION_CODEC_RAW = 1; + YDS_COMPRESSION_CODEC_GZIP = 2; + YDS_COMPRESSION_CODEC_ZSTD = 4; +} +message YDSSource { + reserved 3 to 7, 12 to 19, 21 to 29, 31 to 33; + // Database + string database = 1; + // Stream + string stream = 2; + // SA which has read access to the stream. + string service_account_id = 8; + // Compression codec + repeated YdsCompressionCodec supported_codecs = 9; + // Data parsing rules + Parser parser = 10; + // Should continue working, if consumer read lag exceed TTL of topic + // False: stop the transfer in error state, if detected lost data. True: continue + // working with losing part of data + bool allow_ttl_rewind = 11; + // for dedicated db + string endpoint = 20; + // Network interface for endpoint. If none will assume public ipv4 + string subnet_id = 30; + // Security groups + repeated string security_groups = 34; + // for important streams + string consumer = 35; +} +message YDSTarget { + reserved 5 to 7, 9 to 19, 21 to 29, 31 to 33; + // Database + string database = 1; + // Stream + string stream = 2; + // SA which has read access to the stream. + string service_account_id = 3; + // Save transaction order + // Not to split events queue into separate per-table queues. + // Incompatible with setting Topic prefix, only with Topic full name. + bool save_tx_order = 4; + // Data serialization format + Serializer serializer = 8; + // for dedicated db + string endpoint = 20; + // Network interface for endpoint. If none will assume public ipv4 + string subnet_id = 30; + // Security groups + repeated string security_groups = 34; +} |