#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OracleProfile {
#[prost(string, tag = "1")]
pub hostname: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub port: i32,
#[prost(string, tag = "3")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub database_service: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "6")]
pub connection_attributes: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MysqlProfile {
#[prost(string, tag = "1")]
pub hostname: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub port: i32,
#[prost(string, tag = "3")]
pub username: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub ssl_config: ::core::option::Option<MysqlSslConfig>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostgresqlProfile {
#[prost(string, tag = "1")]
pub hostname: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub port: i32,
#[prost(string, tag = "3")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub database: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GcsProfile {
#[prost(string, tag = "1")]
pub bucket: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub root_path: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BigQueryProfile {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StaticServiceIpConnectivity {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ForwardSshTunnelConnectivity {
#[prost(string, tag = "1")]
pub hostname: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub username: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub port: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VpcPeeringConfig {
#[prost(string, tag = "1")]
pub vpc: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub subnet: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateConnection {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "4")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "5")]
pub display_name: ::prost::alloc::string::String,
#[prost(enumeration = "private_connection::State", tag = "6")]
pub state: i32,
#[prost(message, optional, tag = "7")]
pub error: ::core::option::Option<Error>,
#[prost(message, optional, tag = "100")]
pub vpc_peering_config: ::core::option::Option<VpcPeeringConfig>,
}
pub mod private_connection {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
Creating = 1,
Created = 2,
Failed = 3,
Deleting = 4,
FailedToDelete = 5,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Creating => "CREATING",
Self::Created => "CREATED",
Self::Failed => "FAILED",
Self::Deleting => "DELETING",
Self::FailedToDelete => "FAILED_TO_DELETE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"CREATING" => Some(Self::Creating),
"CREATED" => Some(Self::Created),
"FAILED" => Some(Self::Failed),
"DELETING" => Some(Self::Deleting),
"FAILED_TO_DELETE" => Some(Self::FailedToDelete),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateConnectivity {
#[prost(string, tag = "1")]
pub private_connection: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Route {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "4")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "5")]
pub display_name: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub destination_address: ::prost::alloc::string::String,
#[prost(int32, tag = "7")]
pub destination_port: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MysqlSslConfig {
#[prost(bool, tag = "2")]
pub client_key_set: bool,
#[prost(bool, tag = "4")]
pub client_certificate_set: bool,
#[prost(bool, tag = "6")]
pub ca_certificate_set: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionProfile {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "4")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "5")]
pub display_name: ::prost::alloc::string::String,
#[prost(oneof = "connection_profile::Profile", tags = "100, 101, 102, 103, 104")]
pub profile: ::core::option::Option<connection_profile::Profile>,
#[prost(oneof = "connection_profile::Connectivity", tags = "200, 201, 202")]
pub connectivity: ::core::option::Option<connection_profile::Connectivity>,
}
pub mod connection_profile {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Profile {
#[prost(message, tag = "100")]
OracleProfile(super::OracleProfile),
#[prost(message, tag = "101")]
GcsProfile(super::GcsProfile),
#[prost(message, tag = "102")]
MysqlProfile(super::MysqlProfile),
#[prost(message, tag = "103")]
BigqueryProfile(super::BigQueryProfile),
#[prost(message, tag = "104")]
PostgresqlProfile(super::PostgresqlProfile),
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Connectivity {
#[prost(message, tag = "200")]
StaticServiceIpConnectivity(super::StaticServiceIpConnectivity),
#[prost(message, tag = "201")]
ForwardSshConnectivity(super::ForwardSshTunnelConnectivity),
#[prost(message, tag = "202")]
PrivateConnectivity(super::PrivateConnectivity),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OracleColumn {
#[prost(string, tag = "1")]
pub column: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub data_type: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub length: i32,
#[prost(int32, tag = "4")]
pub precision: i32,
#[prost(int32, tag = "5")]
pub scale: i32,
#[prost(string, tag = "6")]
pub encoding: ::prost::alloc::string::String,
#[prost(bool, tag = "7")]
pub primary_key: bool,
#[prost(bool, tag = "8")]
pub nullable: bool,
#[prost(int32, tag = "9")]
pub ordinal_position: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OracleTable {
#[prost(string, tag = "1")]
pub table: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub oracle_columns: ::prost::alloc::vec::Vec<OracleColumn>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OracleSchema {
#[prost(string, tag = "1")]
pub schema: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub oracle_tables: ::prost::alloc::vec::Vec<OracleTable>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OracleRdbms {
#[prost(message, repeated, tag = "1")]
pub oracle_schemas: ::prost::alloc::vec::Vec<OracleSchema>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OracleSourceConfig {
#[prost(message, optional, tag = "1")]
pub include_objects: ::core::option::Option<OracleRdbms>,
#[prost(message, optional, tag = "2")]
pub exclude_objects: ::core::option::Option<OracleRdbms>,
#[prost(int32, tag = "3")]
pub max_concurrent_cdc_tasks: i32,
#[prost(oneof = "oracle_source_config::LargeObjectsHandling", tags = "100, 102")]
pub large_objects_handling: ::core::option::Option<
oracle_source_config::LargeObjectsHandling,
>,
}
pub mod oracle_source_config {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DropLargeObjects {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StreamLargeObjects {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum LargeObjectsHandling {
#[prost(message, tag = "100")]
DropLargeObjects(DropLargeObjects),
#[prost(message, tag = "102")]
StreamLargeObjects(StreamLargeObjects),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostgresqlColumn {
#[prost(string, tag = "1")]
pub column: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub data_type: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub length: i32,
#[prost(int32, tag = "4")]
pub precision: i32,
#[prost(int32, tag = "5")]
pub scale: i32,
#[prost(bool, tag = "7")]
pub primary_key: bool,
#[prost(bool, tag = "8")]
pub nullable: bool,
#[prost(int32, tag = "9")]
pub ordinal_position: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostgresqlTable {
#[prost(string, tag = "1")]
pub table: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub postgresql_columns: ::prost::alloc::vec::Vec<PostgresqlColumn>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostgresqlSchema {
#[prost(string, tag = "1")]
pub schema: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub postgresql_tables: ::prost::alloc::vec::Vec<PostgresqlTable>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostgresqlRdbms {
#[prost(message, repeated, tag = "1")]
pub postgresql_schemas: ::prost::alloc::vec::Vec<PostgresqlSchema>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostgresqlSourceConfig {
#[prost(message, optional, tag = "1")]
pub include_objects: ::core::option::Option<PostgresqlRdbms>,
#[prost(message, optional, tag = "2")]
pub exclude_objects: ::core::option::Option<PostgresqlRdbms>,
#[prost(string, tag = "3")]
pub replication_slot: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub publication: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MysqlColumn {
#[prost(string, tag = "1")]
pub column: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub data_type: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub length: i32,
#[prost(string, tag = "4")]
pub collation: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub primary_key: bool,
#[prost(bool, tag = "6")]
pub nullable: bool,
#[prost(int32, tag = "7")]
pub ordinal_position: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MysqlTable {
#[prost(string, tag = "1")]
pub table: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub mysql_columns: ::prost::alloc::vec::Vec<MysqlColumn>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MysqlDatabase {
#[prost(string, tag = "1")]
pub database: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub mysql_tables: ::prost::alloc::vec::Vec<MysqlTable>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MysqlRdbms {
#[prost(message, repeated, tag = "1")]
pub mysql_databases: ::prost::alloc::vec::Vec<MysqlDatabase>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MysqlSourceConfig {
#[prost(message, optional, tag = "1")]
pub include_objects: ::core::option::Option<MysqlRdbms>,
#[prost(message, optional, tag = "2")]
pub exclude_objects: ::core::option::Option<MysqlRdbms>,
#[prost(int32, tag = "3")]
pub max_concurrent_cdc_tasks: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceConfig {
#[prost(string, tag = "1")]
pub source_connection_profile: ::prost::alloc::string::String,
#[prost(oneof = "source_config::SourceStreamConfig", tags = "100, 101, 102")]
pub source_stream_config: ::core::option::Option<source_config::SourceStreamConfig>,
}
pub mod source_config {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum SourceStreamConfig {
#[prost(message, tag = "100")]
OracleSourceConfig(super::OracleSourceConfig),
#[prost(message, tag = "101")]
MysqlSourceConfig(super::MysqlSourceConfig),
#[prost(message, tag = "102")]
PostgresqlSourceConfig(super::PostgresqlSourceConfig),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvroFileFormat {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JsonFileFormat {
#[prost(enumeration = "json_file_format::SchemaFileFormat", tag = "1")]
pub schema_file_format: i32,
#[prost(enumeration = "json_file_format::JsonCompression", tag = "2")]
pub compression: i32,
}
pub mod json_file_format {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum SchemaFileFormat {
Unspecified = 0,
NoSchemaFile = 1,
AvroSchemaFile = 2,
}
impl SchemaFileFormat {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SCHEMA_FILE_FORMAT_UNSPECIFIED",
Self::NoSchemaFile => "NO_SCHEMA_FILE",
Self::AvroSchemaFile => "AVRO_SCHEMA_FILE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SCHEMA_FILE_FORMAT_UNSPECIFIED" => Some(Self::Unspecified),
"NO_SCHEMA_FILE" => Some(Self::NoSchemaFile),
"AVRO_SCHEMA_FILE" => Some(Self::AvroSchemaFile),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum JsonCompression {
Unspecified = 0,
NoCompression = 1,
Gzip = 2,
}
impl JsonCompression {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "JSON_COMPRESSION_UNSPECIFIED",
Self::NoCompression => "NO_COMPRESSION",
Self::Gzip => "GZIP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JSON_COMPRESSION_UNSPECIFIED" => Some(Self::Unspecified),
"NO_COMPRESSION" => Some(Self::NoCompression),
"GZIP" => Some(Self::Gzip),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GcsDestinationConfig {
#[prost(string, tag = "1")]
pub path: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub file_rotation_mb: i32,
#[prost(message, optional, tag = "3")]
pub file_rotation_interval: ::core::option::Option<::pbjson_types::Duration>,
#[prost(oneof = "gcs_destination_config::FileFormat", tags = "100, 101")]
pub file_format: ::core::option::Option<gcs_destination_config::FileFormat>,
}
pub mod gcs_destination_config {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum FileFormat {
#[prost(message, tag = "100")]
AvroFileFormat(super::AvroFileFormat),
#[prost(message, tag = "101")]
JsonFileFormat(super::JsonFileFormat),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigQueryDestinationConfig {
#[prost(message, optional, tag = "300")]
pub data_freshness: ::core::option::Option<::pbjson_types::Duration>,
#[prost(oneof = "big_query_destination_config::DatasetConfig", tags = "201, 202")]
pub dataset_config: ::core::option::Option<
big_query_destination_config::DatasetConfig,
>,
}
pub mod big_query_destination_config {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SingleTargetDataset {
#[prost(string, tag = "1")]
pub dataset_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceHierarchyDatasets {
#[prost(message, optional, tag = "2")]
pub dataset_template: ::core::option::Option<
source_hierarchy_datasets::DatasetTemplate,
>,
}
pub mod source_hierarchy_datasets {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetTemplate {
#[prost(string, tag = "1")]
pub location: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub dataset_id_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub kms_key_name: ::prost::alloc::string::String,
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum DatasetConfig {
#[prost(message, tag = "201")]
SingleTargetDataset(SingleTargetDataset),
#[prost(message, tag = "202")]
SourceHierarchyDatasets(SourceHierarchyDatasets),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DestinationConfig {
#[prost(string, tag = "1")]
pub destination_connection_profile: ::prost::alloc::string::String,
#[prost(oneof = "destination_config::DestinationStreamConfig", tags = "100, 101")]
pub destination_stream_config: ::core::option::Option<
destination_config::DestinationStreamConfig,
>,
}
pub mod destination_config {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum DestinationStreamConfig {
#[prost(message, tag = "100")]
GcsDestinationConfig(super::GcsDestinationConfig),
#[prost(message, tag = "101")]
BigqueryDestinationConfig(super::BigQueryDestinationConfig),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Stream {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub update_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "4")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "5")]
pub display_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub source_config: ::core::option::Option<SourceConfig>,
#[prost(message, optional, tag = "7")]
pub destination_config: ::core::option::Option<DestinationConfig>,
#[prost(enumeration = "stream::State", tag = "8")]
pub state: i32,
#[prost(message, repeated, tag = "9")]
pub errors: ::prost::alloc::vec::Vec<Error>,
#[prost(string, optional, tag = "10")]
pub customer_managed_encryption_key: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(oneof = "stream::BackfillStrategy", tags = "101, 102")]
pub backfill_strategy: ::core::option::Option<stream::BackfillStrategy>,
}
pub mod stream {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BackfillAllStrategy {
#[prost(oneof = "backfill_all_strategy::ExcludedObjects", tags = "1, 2, 3")]
pub excluded_objects: ::core::option::Option<
backfill_all_strategy::ExcludedObjects,
>,
}
pub mod backfill_all_strategy {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ExcludedObjects {
#[prost(message, tag = "1")]
OracleExcludedObjects(super::super::OracleRdbms),
#[prost(message, tag = "2")]
MysqlExcludedObjects(super::super::MysqlRdbms),
#[prost(message, tag = "3")]
PostgresqlExcludedObjects(super::super::PostgresqlRdbms),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BackfillNoneStrategy {}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
NotStarted = 1,
Running = 2,
Paused = 3,
Maintenance = 4,
Failed = 5,
FailedPermanently = 6,
Starting = 7,
Draining = 8,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::NotStarted => "NOT_STARTED",
Self::Running => "RUNNING",
Self::Paused => "PAUSED",
Self::Maintenance => "MAINTENANCE",
Self::Failed => "FAILED",
Self::FailedPermanently => "FAILED_PERMANENTLY",
Self::Starting => "STARTING",
Self::Draining => "DRAINING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"NOT_STARTED" => Some(Self::NotStarted),
"RUNNING" => Some(Self::Running),
"PAUSED" => Some(Self::Paused),
"MAINTENANCE" => Some(Self::Maintenance),
"FAILED" => Some(Self::Failed),
"FAILED_PERMANENTLY" => Some(Self::FailedPermanently),
"STARTING" => Some(Self::Starting),
"DRAINING" => Some(Self::Draining),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum BackfillStrategy {
#[prost(message, tag = "101")]
BackfillAll(BackfillAllStrategy),
#[prost(message, tag = "102")]
BackfillNone(BackfillNoneStrategy),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Error {
#[prost(string, tag = "1")]
pub reason: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub error_uuid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub message: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub error_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "5")]
pub details: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionProfileEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<ConnectionProfile>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateConnectionEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<PrivateConnection>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Stream>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RouteEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Route>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionProfileCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<ConnectionProfileEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionProfileUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<ConnectionProfileEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionProfileDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<ConnectionProfileEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<StreamEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamUpdatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<StreamEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<StreamEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateConnectionCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<PrivateConnectionEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateConnectionDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<PrivateConnectionEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RouteCreatedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<RouteEventData>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RouteDeletedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<RouteEventData>,
}