#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoTlsIdentity {
#[prost(message, optional, tag = "1")]
pub cert: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "2")]
pub key: ::core::option::Option<::mz_repr::catalog_item_id::ProtoCatalogItemId>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoKafkaConnectionTlsConfig {
#[prost(message, optional, tag = "1")]
pub root_cert: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "2")]
pub identity: ::core::option::Option<ProtoTlsIdentity>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoKafkaConnectionSaslConfig {
#[prost(string, tag = "1")]
pub mechanism: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub username: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "3")]
pub password: ::core::option::Option<::mz_repr::catalog_item_id::ProtoCatalogItemId>,
#[prost(message, optional, tag = "5")]
pub aws: ::core::option::Option<aws::ProtoAwsConnectionReference>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoKafkaBroker {
#[prost(string, tag = "1")]
pub address: ::prost::alloc::string::String,
#[prost(message, optional, tag = "12")]
pub tunnel: ::core::option::Option<ProtoTunnel>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoKafkaTopicOptions {
#[prost(int32, optional, tag = "1")]
pub replication_factor: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub partition_count: ::core::option::Option<i32>,
#[prost(btree_map = "string, string", tag = "3")]
pub topic_config: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoKafkaConnection {
#[prost(message, repeated, tag = "3")]
pub brokers: ::prost::alloc::vec::Vec<ProtoKafkaBroker>,
#[prost(message, optional, tag = "7")]
pub default_tunnel: ::core::option::Option<ProtoTunnel>,
#[prost(string, optional, tag = "5")]
pub progress_topic: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "10")]
pub progress_topic_options: ::core::option::Option<ProtoKafkaTopicOptions>,
#[prost(btree_map = "string, message", tag = "6")]
pub options: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
string_or_secret::ProtoStringOrSecret,
>,
#[prost(message, optional, tag = "8")]
pub tls: ::core::option::Option<ProtoKafkaConnectionTlsConfig>,
#[prost(message, optional, tag = "9")]
pub sasl: ::core::option::Option<ProtoKafkaConnectionSaslConfig>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoCsrConnection {
#[prost(message, optional, tag = "1")]
pub url: ::core::option::Option<::mz_repr::url::ProtoUrl>,
#[prost(message, optional, tag = "2")]
pub tls_root_cert: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "3")]
pub tls_identity: ::core::option::Option<ProtoTlsIdentity>,
#[prost(message, optional, tag = "4")]
pub http_auth: ::core::option::Option<ProtoCsrConnectionHttpAuth>,
#[prost(message, optional, tag = "6")]
pub tunnel: ::core::option::Option<ProtoTunnel>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoCsrConnectionHttpAuth {
#[prost(message, optional, tag = "1")]
pub username: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "2")]
pub password: ::core::option::Option<::mz_repr::catalog_item_id::ProtoCatalogItemId>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoPostgresConnection {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(string, tag = "3")]
pub database: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub user: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "5")]
pub password: ::core::option::Option<::mz_repr::catalog_item_id::ProtoCatalogItemId>,
#[prost(message, optional, tag = "6")]
pub tls_mode: ::core::option::Option<::mz_proto::tokio_postgres::ProtoSslMode>,
#[prost(message, optional, tag = "7")]
pub tls_root_cert: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "8")]
pub tls_identity: ::core::option::Option<ProtoTlsIdentity>,
#[prost(message, optional, tag = "12")]
pub tunnel: ::core::option::Option<ProtoTunnel>,
#[prost(message, optional, tag = "13")]
pub flavor: ::core::option::Option<::mz_postgres_util::tunnel::ProtoPostgresFlavor>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoTunnel {
#[prost(oneof = "proto_tunnel::Tunnel", tags = "9, 10, 11")]
pub tunnel: ::core::option::Option<proto_tunnel::Tunnel>,
}
pub mod proto_tunnel {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Tunnel {
#[prost(message, tag = "9")]
Direct(()),
#[prost(message, tag = "10")]
Ssh(super::ProtoSshTunnel),
#[prost(message, tag = "11")]
AwsPrivatelink(super::ProtoAwsPrivatelink),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoSshTunnel {
#[prost(message, optional, tag = "1")]
pub connection_id: ::core::option::Option<
::mz_repr::catalog_item_id::ProtoCatalogItemId,
>,
#[prost(message, optional, tag = "10")]
pub connection: ::core::option::Option<ProtoSshConnection>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoSshConnection {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(string, tag = "3")]
pub user: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoAwsPrivatelink {
#[prost(message, optional, tag = "1")]
pub connection_id: ::core::option::Option<
::mz_repr::catalog_item_id::ProtoCatalogItemId,
>,
#[prost(uint32, optional, tag = "2")]
pub port: ::core::option::Option<u32>,
#[prost(string, optional, tag = "3")]
pub availability_zone: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtoMySqlConnection {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(message, optional, tag = "3")]
pub user: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "4")]
pub password: ::core::option::Option<::mz_repr::catalog_item_id::ProtoCatalogItemId>,
#[prost(enumeration = "ProtoMySqlSslMode", tag = "5")]
pub tls_mode: i32,
#[prost(message, optional, tag = "6")]
pub tls_root_cert: ::core::option::Option<string_or_secret::ProtoStringOrSecret>,
#[prost(message, optional, tag = "7")]
pub tls_identity: ::core::option::Option<ProtoTlsIdentity>,
#[prost(message, optional, tag = "8")]
pub tunnel: ::core::option::Option<ProtoTunnel>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProtoMySqlSslMode {
Disabled = 0,
Required = 1,
VerifyCa = 2,
VerifyIdentity = 3,
}
impl ProtoMySqlSslMode {
pub fn as_str_name(&self) -> &'static str {
match self {
ProtoMySqlSslMode::Disabled => "DISABLED",
ProtoMySqlSslMode::Required => "REQUIRED",
ProtoMySqlSslMode::VerifyCa => "VERIFY_CA",
ProtoMySqlSslMode::VerifyIdentity => "VERIFY_IDENTITY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DISABLED" => Some(Self::Disabled),
"REQUIRED" => Some(Self::Required),
"VERIFY_CA" => Some(Self::VerifyCa),
"VERIFY_IDENTITY" => Some(Self::VerifyIdentity),
_ => None,
}
}
}