#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamSourceReference {
#[prost(enumeration = "StreamSourceType", tag = "1")]
pub r#type: i32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamSource {
#[prost(oneof = "stream_source::Source", tags = "1, 2, 3")]
pub source: ::core::option::Option<stream_source::Source>,
}
pub mod stream_source {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(message, tag = "1")]
Kafka(super::KafkaSource),
#[prost(message, tag = "2")]
Kinesis(super::KinesisSource),
#[prost(message, tag = "3")]
Pubsub(super::PubSubSource),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KinesisSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub stream_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub stream_arn: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub region_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub late_arrival_deadline: ::core::option::Option<::prost_types::Duration>,
#[prost(string, tag = "6")]
pub dead_letter_queue_stream_name: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub aws_access_key_id: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub aws_secret_access_key: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub aws_session_token: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub endpoint_url: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub consumer_role_arn: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub enhanced_fanout_consumer_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KafkaSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub bootstrap_servers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub topic: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub ssl_keystore_location: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub ssl_ca_file: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub client_id_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub group_id_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub security_protocol: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub sasl_mechanism: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub sasl_username: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub sasl_password: ::prost::alloc::string::String,
#[prost(message, optional, tag = "12")]
pub late_arrival_deadline: ::core::option::Option<::prost_types::Duration>,
#[prost(string, tag = "13")]
pub dead_letter_queue_topic: ::prost::alloc::string::String,
#[prost(bool, tag = "14")]
pub msk_iam_auth: bool,
#[prost(string, tag = "15")]
pub aws_region: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub aws_role_arn: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PubSubSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub subscription_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub late_arrival_deadline: ::core::option::Option<::prost_types::Duration>,
#[prost(string, tag = "5")]
pub dead_letter_queue_topic: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatabaseSourceReference {
#[prost(enumeration = "DatabaseSourceType", tag = "1")]
pub r#type: i32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatabaseSource {
#[prost(
oneof = "database_source::Source",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14"
)]
pub source: ::core::option::Option<database_source::Source>,
}
pub mod database_source {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(message, tag = "1")]
Bigquery(super::BigQuerySource),
#[prost(message, tag = "2")]
Cloudsql(super::CloudSqlSource),
#[prost(message, tag = "3")]
Databricks(super::DatabricksSource),
#[prost(message, tag = "4")]
Mysql(super::MySqlSource),
#[prost(message, tag = "5")]
Postgres(super::PostgresSource),
#[prost(message, tag = "6")]
Redshift(super::RedshiftSource),
#[prost(message, tag = "7")]
Snowflake(super::SnowflakeSource),
#[prost(message, tag = "8")]
Sqlite(super::SqLiteSource),
#[prost(message, tag = "9")]
Spanner(super::SpannerSource),
#[prost(message, tag = "10")]
Trino(super::TrinoSource),
#[prost(message, tag = "11")]
Dynamodb(super::DynamoDbSource),
#[prost(message, tag = "12")]
Athena(super::AthenaSource),
#[prost(message, tag = "13")]
Clickhouse(super::ClickhouseSource),
#[prost(message, tag = "14")]
Mssql(super::MssqlSource),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigQuerySource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub dataset: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub location: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub credentials_base64: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub credentials_path: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "7")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "8")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CloudSqlSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub password: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub instance_name: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "6")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "7")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatabricksSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub port: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub http_path: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub access_token: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "7")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "8")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DynamoDbSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub aws_client_id_override: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub aws_client_secret_override: ::core::option::Option<
::prost::alloc::string::String,
>,
#[prost(string, optional, tag = "4")]
pub aws_region_override: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub endpoint_override: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, message", tag = "6")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "7")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MySqlSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub port: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub password: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "7")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "8")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PostgresSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub port: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub password: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "7")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "8")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MssqlSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub port: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub password: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "7")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "8")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RedshiftSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub port: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub password: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub s3_client: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub s3_bucket: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "9")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "10")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(string, tag = "11")]
pub unload_iam_role: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnowflakeSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub schema: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub role: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub password: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub account_identifier: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub warehouse: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "9")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "10")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(string, tag = "11")]
pub private_key_b64: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SqLiteSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub file_name: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "3")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "4")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpannerSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub instance: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub credentials_base64: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "6")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "7")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrinoSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub port: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub catalog: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub schema: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub password: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "8")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "9")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AthenaSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub aws_region: ::prost::alloc::string::String,
#[prost(string, optional, tag = "3")]
pub aws_access_key_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub aws_access_key_secret: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub s3_staging_dir: ::prost::alloc::string::String,
#[prost(string, optional, tag = "6")]
pub catalog_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub schema_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub role_arn: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, message", tag = "9")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "10")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(string, optional, tag = "11")]
pub work_group: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClickhouseSource {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub port: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub db: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub password: ::prost::alloc::string::String,
#[prost(bool, tag = "7")]
pub use_tls: bool,
#[prost(map = "string, message", tag = "8")]
pub engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(map = "string, message", tag = "9")]
pub async_engine_args: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StreamSourceType {
Unspecified = 0,
Kafka = 1,
Kinesis = 2,
Pubsub = 3,
}
impl StreamSourceType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STREAM_SOURCE_TYPE_UNSPECIFIED",
Self::Kafka => "STREAM_SOURCE_TYPE_KAFKA",
Self::Kinesis => "STREAM_SOURCE_TYPE_KINESIS",
Self::Pubsub => "STREAM_SOURCE_TYPE_PUBSUB",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STREAM_SOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"STREAM_SOURCE_TYPE_KAFKA" => Some(Self::Kafka),
"STREAM_SOURCE_TYPE_KINESIS" => Some(Self::Kinesis),
"STREAM_SOURCE_TYPE_PUBSUB" => Some(Self::Pubsub),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DatabaseSourceType {
Unspecified = 0,
Bigquery = 1,
Cloudsql = 2,
Databricks = 3,
Mysql = 4,
Postgres = 5,
Redshift = 6,
Snowflake = 7,
Sqlite = 8,
Spanner = 9,
Trino = 10,
Dynamodb = 11,
Athena = 12,
Mssql = 13,
}
impl DatabaseSourceType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DATABASE_SOURCE_TYPE_UNSPECIFIED",
Self::Bigquery => "DATABASE_SOURCE_TYPE_BIGQUERY",
Self::Cloudsql => "DATABASE_SOURCE_TYPE_CLOUDSQL",
Self::Databricks => "DATABASE_SOURCE_TYPE_DATABRICKS",
Self::Mysql => "DATABASE_SOURCE_TYPE_MYSQL",
Self::Postgres => "DATABASE_SOURCE_TYPE_POSTGRES",
Self::Redshift => "DATABASE_SOURCE_TYPE_REDSHIFT",
Self::Snowflake => "DATABASE_SOURCE_TYPE_SNOWFLAKE",
Self::Sqlite => "DATABASE_SOURCE_TYPE_SQLITE",
Self::Spanner => "DATABASE_SOURCE_TYPE_SPANNER",
Self::Trino => "DATABASE_SOURCE_TYPE_TRINO",
Self::Dynamodb => "DATABASE_SOURCE_TYPE_DYNAMODB",
Self::Athena => "DATABASE_SOURCE_TYPE_ATHENA",
Self::Mssql => "DATABASE_SOURCE_TYPE_MSSQL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DATABASE_SOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"DATABASE_SOURCE_TYPE_BIGQUERY" => Some(Self::Bigquery),
"DATABASE_SOURCE_TYPE_CLOUDSQL" => Some(Self::Cloudsql),
"DATABASE_SOURCE_TYPE_DATABRICKS" => Some(Self::Databricks),
"DATABASE_SOURCE_TYPE_MYSQL" => Some(Self::Mysql),
"DATABASE_SOURCE_TYPE_POSTGRES" => Some(Self::Postgres),
"DATABASE_SOURCE_TYPE_REDSHIFT" => Some(Self::Redshift),
"DATABASE_SOURCE_TYPE_SNOWFLAKE" => Some(Self::Snowflake),
"DATABASE_SOURCE_TYPE_SQLITE" => Some(Self::Sqlite),
"DATABASE_SOURCE_TYPE_SPANNER" => Some(Self::Spanner),
"DATABASE_SOURCE_TYPE_TRINO" => Some(Self::Trino),
"DATABASE_SOURCE_TYPE_DYNAMODB" => Some(Self::Dynamodb),
"DATABASE_SOURCE_TYPE_ATHENA" => Some(Self::Athena),
"DATABASE_SOURCE_TYPE_MSSQL" => Some(Self::Mssql),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Graph {
#[prost(message, repeated, tag = "1")]
pub feature_sets: ::prost::alloc::vec::Vec<FeatureSet>,
#[prost(message, repeated, tag = "2")]
pub resolvers: ::prost::alloc::vec::Vec<Resolver>,
#[prost(message, repeated, tag = "3")]
pub stream_resolvers: ::prost::alloc::vec::Vec<StreamResolver>,
#[prost(message, repeated, tag = "4")]
pub sink_resolvers: ::prost::alloc::vec::Vec<SinkResolver>,
#[deprecated]
#[prost(message, repeated, tag = "5")]
pub database_sources: ::prost::alloc::vec::Vec<DatabaseSource>,
#[deprecated]
#[prost(message, repeated, tag = "6")]
pub stream_sources: ::prost::alloc::vec::Vec<StreamSource>,
#[prost(message, repeated, tag = "7")]
pub named_queries: ::prost::alloc::vec::Vec<NamedQuery>,
#[prost(message, repeated, tag = "8")]
pub database_sources_v2: ::prost::alloc::vec::Vec<super::v2::DatabaseSource>,
#[prost(message, repeated, tag = "10")]
pub database_source_groups: ::prost::alloc::vec::Vec<super::v2::DatabaseSourceGroup>,
#[prost(message, repeated, tag = "9")]
pub stream_sources_v2: ::prost::alloc::vec::Vec<super::v2::StreamSource>,
#[prost(message, repeated, tag = "11")]
pub model_references: ::prost::alloc::vec::Vec<ModelReference>,
#[prost(message, repeated, tag = "12")]
pub online_store_configs: ::prost::alloc::vec::Vec<OnlineStoreConfig>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OverlayGraph {
#[prost(message, repeated, tag = "1")]
pub feature_sets: ::prost::alloc::vec::Vec<FeatureSet>,
#[prost(message, repeated, tag = "2")]
pub feature_fields: ::prost::alloc::vec::Vec<FeatureType>,
#[prost(message, repeated, tag = "3")]
pub resolvers: ::prost::alloc::vec::Vec<Resolver>,
#[prost(message, repeated, tag = "4")]
pub generated_sql_resolvers: ::prost::alloc::vec::Vec<SqlResolverInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModelReference {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub source_file_reference: ::core::option::Option<SourceFileReference>,
#[prost(oneof = "model_reference::Identifier", tags = "2, 3, 4")]
pub identifier: ::core::option::Option<model_reference::Identifier>,
}
pub mod model_reference {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Identifier {
#[prost(uint64, tag = "2")]
Version(u64),
#[prost(string, tag = "3")]
Alias(::prost::alloc::string::String),
#[prost(message, tag = "4")]
AsOf(::prost_types::Timestamp),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NamedQuery {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub query_version: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub input: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "4")]
pub output: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "8")]
pub meta: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, message", tag = "9")]
pub staleness: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost_types::Duration,
>,
#[prost(map = "string, string", tag = "10")]
pub planner_options: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "11")]
pub file_name: ::prost::alloc::string::String,
#[prost(string, optional, tag = "12")]
pub deployment_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "13")]
pub source_file_reference: ::core::option::Option<SourceFileReference>,
#[prost(string, repeated, tag = "14")]
pub additional_logged_features: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
#[prost(bool, optional, tag = "15")]
pub valid_plan_not_required: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSet {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub features: ::prost::alloc::vec::Vec<FeatureType>,
#[prost(message, optional, tag = "3")]
pub max_staleness_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(bool, tag = "4")]
pub is_singleton: bool,
#[prost(string, repeated, tag = "5")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub doc: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag = "8")]
pub etl_offline_to_online: ::core::option::Option<bool>,
#[prost(string, optional, tag = "9")]
pub class_path: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "10")]
pub online_store_config: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureType {
#[prost(oneof = "feature_type::Type", tags = "1, 2, 3, 4, 5, 6")]
pub r#type: ::core::option::Option<feature_type::Type>,
}
pub mod feature_type {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Type {
#[prost(message, tag = "1")]
Scalar(super::ScalarFeatureType),
#[prost(message, tag = "2")]
HasOne(super::HasOneFeatureType),
#[prost(message, tag = "3")]
HasMany(super::HasManyFeatureType),
#[prost(message, tag = "4")]
FeatureTime(super::FeatureTimeFeatureType),
#[prost(message, tag = "5")]
Windowed(super::WindowedFeatureType),
#[prost(message, tag = "6")]
GroupBy(super::GroupByFeatureType),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureReference {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub namespace: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub path: ::prost::alloc::vec::Vec<FeatureReference>,
#[prost(message, optional, tag = "4")]
pub df: ::core::option::Option<DataFrameType>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataFrameType {
#[prost(string, tag = "1")]
pub root_namespace: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub required_columns: ::prost::alloc::vec::Vec<FeatureReference>,
#[prost(message, repeated, tag = "3")]
pub optional_columns: ::prost::alloc::vec::Vec<FeatureReference>,
#[prost(message, optional, tag = "4")]
pub filter: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
#[prost(uint64, optional, tag = "5")]
pub limit: ::core::option::Option<u64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupByFeatureType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub namespace: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub is_nullable: bool,
#[prost(uint64, optional, tag = "4")]
pub internal_version: ::core::option::Option<u64>,
#[prost(message, optional, tag = "5")]
pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
#[prost(message, optional, tag = "6")]
pub aggregation: ::core::option::Option<WindowAggregation>,
#[prost(message, repeated, tag = "7")]
pub window_durations: ::prost::alloc::vec::Vec<::prost_types::Duration>,
#[prost(message, optional, tag = "8")]
pub expression: ::core::option::Option<
super::super::expression::v1::LogicalExprNode,
>,
#[prost(message, optional, tag = "9")]
pub default_value: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
#[prost(string, repeated, tag = "10")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "11")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "13")]
pub validations: ::prost::alloc::vec::Vec<FeatureValidation>,
#[prost(string, tag = "14")]
pub attribute_name: ::prost::alloc::string::String,
#[prost(string, tag = "15")]
pub unversioned_attribute_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScalarFeatureType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub namespace: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub is_autogenerated: bool,
#[prost(bool, tag = "4")]
pub no_display: bool,
#[prost(bool, tag = "5")]
pub is_primary: bool,
#[prost(bool, tag = "6")]
pub is_nullable: bool,
#[prost(uint64, optional, tag = "7")]
pub internal_version: ::core::option::Option<u64>,
#[prost(message, optional, tag = "8")]
pub max_staleness_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "10")]
pub offline_ttl_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "11")]
pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
#[prost(message, optional, tag = "12")]
pub version: ::core::option::Option<VersionInfo>,
#[prost(message, optional, tag = "13")]
pub window_info: ::core::option::Option<WindowInfo>,
#[prost(message, optional, tag = "14")]
pub default_value: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
#[prost(string, repeated, tag = "15")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "16")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "17")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "18")]
pub expression: ::core::option::Option<
super::super::expression::v1::LogicalExprNode,
>,
#[prost(message, repeated, tag = "19")]
pub validations: ::prost::alloc::vec::Vec<FeatureValidation>,
#[prost(message, optional, tag = "20")]
pub last_for: ::core::option::Option<FeatureReference>,
#[prost(bool, optional, tag = "21")]
pub etl_offline_to_online: ::core::option::Option<bool>,
#[prost(bool, tag = "22")]
pub is_distance_pseudofeature: bool,
#[prost(string, tag = "23")]
pub attribute_name: ::prost::alloc::string::String,
#[prost(bool, tag = "24")]
pub is_deprecated: bool,
#[prost(enumeration = "CacheStrategy", tag = "25")]
pub cache_strategy: i32,
#[prost(bool, optional, tag = "26")]
pub store_online: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "27")]
pub store_offline: ::core::option::Option<bool>,
#[prost(string, tag = "28")]
pub unversioned_attribute_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "29")]
pub rich_type_info: ::core::option::Option<FeatureRichTypeInfo>,
#[prost(message, optional, tag = "30")]
pub expression_definition_location: ::core::option::Option<
super::super::lsp::v1::Location,
>,
#[prost(message, optional, tag = "31")]
pub offline_expression: ::core::option::Option<
super::super::expression::v1::LogicalExprNode,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HasOneFeatureType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub namespace: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub foreign_namespace: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub join: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
#[prost(bool, tag = "5")]
pub is_nullable: bool,
#[prost(bool, tag = "6")]
pub is_autogenerated: bool,
#[prost(string, repeated, tag = "7")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "10")]
pub attribute_name: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub unversioned_attribute_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HasManyFeatureType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub namespace: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub foreign_namespace: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub join: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
#[prost(bool, tag = "5")]
pub is_autogenerated: bool,
#[prost(message, optional, tag = "6")]
pub max_staleness_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(string, repeated, tag = "7")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "10")]
pub attribute_name: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub unversioned_attribute_name: ::prost::alloc::string::String,
#[prost(uint64, optional, tag = "12")]
pub online_store_max_items: ::core::option::Option<u64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureTimeFeatureType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub namespace: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub is_autogenerated: bool,
#[prost(string, repeated, tag = "4")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "7")]
pub attribute_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WindowedFeatureType {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub namespace: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub is_autogenerated: bool,
#[prost(message, repeated, tag = "4")]
pub window_durations: ::prost::alloc::vec::Vec<::prost_types::Duration>,
#[prost(string, tag = "5")]
pub attribute_name: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub unversioned_attribute_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WindowAggregation {
#[prost(string, tag = "1")]
pub namespace: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub group_by: ::prost::alloc::vec::Vec<FeatureReference>,
#[prost(message, optional, tag = "3")]
pub bucket_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(string, tag = "4")]
pub aggregation: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub aggregate_on: ::core::option::Option<FeatureReference>,
#[prost(message, optional, tag = "6")]
pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
#[prost(message, repeated, tag = "7")]
pub filters: ::prost::alloc::vec::Vec<super::super::expression::v1::LogicalExprNode>,
#[prost(string, optional, tag = "8")]
pub backfill_resolver: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "9")]
pub backfill_lookback_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "10")]
pub backfill_start_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, optional, tag = "11")]
pub continuous_resolver: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "12")]
pub continuous_buffer_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(string, optional, tag = "13")]
pub backfill_schedule: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "14")]
pub bucket_start: ::core::option::Option<::prost_types::Timestamp>,
#[prost(int64, optional, tag = "15")]
pub approx_top_k_arg_k: ::core::option::Option<i64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WindowInfo {
#[prost(message, optional, tag = "1")]
pub duration: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "2")]
pub aggregation: ::core::option::Option<WindowAggregation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureInput {
#[prost(message, optional, tag = "1")]
pub feature: ::core::option::Option<FeatureReference>,
#[prost(message, optional, tag = "2")]
pub default_value: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResolverInput {
#[prost(oneof = "resolver_input::Annotation", tags = "1, 2, 3")]
pub annotation: ::core::option::Option<resolver_input::Annotation>,
}
pub mod resolver_input {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Annotation {
#[prost(message, tag = "1")]
Feature(super::FeatureInput),
#[prost(message, tag = "2")]
Df(super::DataFrameType),
#[prost(message, tag = "3")]
State(super::ResolverState),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResolverOutput {
#[prost(oneof = "resolver_output::Annotation", tags = "1, 2")]
pub annotation: ::core::option::Option<resolver_output::Annotation>,
}
pub mod resolver_output {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Annotation {
#[prost(message, tag = "1")]
Feature(super::FeatureReference),
#[prost(message, tag = "2")]
Df(super::DataFrameType),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Resolver {
#[prost(string, tag = "1")]
pub fqn: ::prost::alloc::string::String,
#[prost(enumeration = "ResolverKind", tag = "2")]
pub kind: i32,
#[prost(message, repeated, tag = "3")]
pub inputs: ::prost::alloc::vec::Vec<ResolverInput>,
#[prost(message, repeated, tag = "4")]
pub outputs: ::prost::alloc::vec::Vec<ResolverOutput>,
#[prost(bool, tag = "5")]
pub is_generator: bool,
#[deprecated]
#[prost(message, repeated, tag = "6")]
pub data_sources: ::prost::alloc::vec::Vec<DatabaseSourceReference>,
#[prost(string, optional, tag = "7")]
pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "8")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "10")]
pub doc: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "11")]
pub environments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "12")]
pub timeout_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "13")]
pub schedule: ::core::option::Option<Schedule>,
#[prost(message, optional, tag = "14")]
pub when: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
#[prost(message, optional, tag = "15")]
pub cron_filter: ::core::option::Option<CronFilterWithFeatureArgs>,
#[prost(message, optional, tag = "16")]
pub function: ::core::option::Option<FunctionReference>,
#[prost(enumeration = "ResourceHint", tag = "17")]
pub resource_hint: i32,
#[prost(bool, tag = "18")]
pub is_static: bool,
#[prost(enumeration = "AcceleratePython", tag = "31")]
pub accelerate_python: i32,
#[prost(bool, optional, tag = "19")]
pub is_total: ::core::option::Option<bool>,
#[prost(string, repeated, tag = "20")]
pub unique_on: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "21")]
pub partitioned_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "22")]
pub data_sources_v2: ::prost::alloc::vec::Vec<super::v2::DatabaseSourceReference>,
#[prost(message, optional, tag = "23")]
pub static_operation: ::core::option::Option<
super::super::expression::v1::LogicalExprNode,
>,
#[prost(message, optional, tag = "30")]
pub static_operation_dataframe: ::core::option::Option<
super::super::dataframe::v1::DataFramePlan,
>,
#[prost(message, optional, tag = "24")]
pub sql_settings: ::core::option::Option<SqlResolverSettings>,
#[prost(string, optional, tag = "25")]
pub resource_group: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "26")]
pub output_row_order: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "27")]
pub venv: ::core::option::Option<::prost::alloc::string::String>,
#[prost(oneof = "resolver::Postprocessing", tags = "28, 29")]
pub postprocessing: ::core::option::Option<resolver::Postprocessing>,
}
pub mod resolver {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Postprocessing {
#[prost(message, tag = "28")]
UnderscoreExpr(super::super::super::expression::v1::LogicalExprNode),
#[prost(message, tag = "29")]
LazyframeExpr(super::super::super::expression::v1::LogicalExprNode),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SinkResolver {
#[prost(string, tag = "1")]
pub fqn: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub inputs: ::prost::alloc::vec::Vec<ResolverInput>,
#[prost(uint64, optional, tag = "3")]
pub buffer_size: ::core::option::Option<u64>,
#[prost(message, optional, tag = "4")]
pub debounce_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "5")]
pub max_delay_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(bool, tag = "6")]
pub upsert: bool,
#[prost(string, optional, tag = "9")]
pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "10")]
pub doc: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "11")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "12")]
pub environments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "13")]
pub timeout_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "14")]
pub function: ::core::option::Option<FunctionReference>,
#[prost(oneof = "sink_resolver::Integration", tags = "7, 8, 15, 16")]
pub integration: ::core::option::Option<sink_resolver::Integration>,
}
pub mod sink_resolver {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Integration {
#[prost(message, tag = "7")]
StreamSource(super::StreamSourceReference),
#[prost(message, tag = "8")]
DatabaseSource(super::DatabaseSourceReference),
#[prost(message, tag = "15")]
StreamSourceV2(super::super::v2::StreamSourceReference),
#[prost(message, tag = "16")]
DatabaseSourceV2(super::super::v2::DatabaseSourceReference),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParseInfo {
#[prost(message, optional, tag = "1")]
pub parse_function: ::core::option::Option<FunctionReference>,
#[prost(message, optional, tag = "2")]
pub parse_function_input_type: ::core::option::Option<
super::super::arrow::v1::ArrowType,
>,
#[prost(message, optional, tag = "3")]
pub parse_function_output_type: ::core::option::Option<
super::super::arrow::v1::ArrowType,
>,
#[prost(bool, tag = "4")]
pub is_parse_function_output_optional: bool,
#[prost(string, tag = "5")]
pub parse_function_input_type_name: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub parse_function_output_type_name: ::prost::alloc::string::String,
#[prost(oneof = "parse_info::ParseExpression", tags = "7")]
pub parse_expression: ::core::option::Option<parse_info::ParseExpression>,
}
pub mod parse_info {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum ParseExpression {
#[prost(message, tag = "7")]
UnderscoreExpr(super::super::super::expression::v1::LogicalExprNode),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureExpression {
#[prost(oneof = "feature_expression::Expr", tags = "1")]
pub expr: ::core::option::Option<feature_expression::Expr>,
}
pub mod feature_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Expr {
#[prost(message, tag = "1")]
UnderscoreExpr(super::super::super::expression::v1::LogicalExprNode),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamResolver {
#[prost(string, tag = "1")]
pub fqn: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub params: ::prost::alloc::vec::Vec<StreamResolverParam>,
#[prost(message, repeated, tag = "3")]
pub outputs: ::prost::alloc::vec::Vec<ResolverOutput>,
#[prost(message, optional, tag = "4")]
pub explicit_schema: ::core::option::Option<super::super::arrow::v1::ArrowType>,
#[prost(message, repeated, tag = "5")]
pub keys: ::prost::alloc::vec::Vec<StreamKey>,
#[deprecated]
#[prost(message, optional, tag = "6")]
pub source: ::core::option::Option<StreamSourceReference>,
#[prost(message, optional, tag = "7")]
pub parse_info: ::core::option::Option<ParseInfo>,
#[prost(enumeration = "WindowMode", tag = "8")]
pub mode: i32,
#[prost(string, repeated, tag = "9")]
pub environments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "10")]
pub timeout_duration: ::core::option::Option<::prost_types::Duration>,
#[prost(string, optional, tag = "11")]
pub timestamp_attribute_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "13")]
pub doc: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "14")]
pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "15")]
pub function: ::core::option::Option<FunctionReference>,
#[prost(message, optional, tag = "16")]
pub source_v2: ::core::option::Option<super::v2::StreamSourceReference>,
#[prost(bool, tag = "17")]
pub updates_materialized_aggregations: bool,
#[prost(map = "string, message", tag = "18")]
pub feature_expressions: ::std::collections::HashMap<
::prost::alloc::string::String,
FeatureExpression,
>,
#[prost(message, optional, tag = "19")]
pub message_producer: ::core::option::Option<StreamResolverMessageProducerParsed>,
#[prost(bool, tag = "20")]
pub skip_online: bool,
#[prost(bool, tag = "21")]
pub skip_offline: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamResolverMessageProducerParsed {
#[prost(message, optional, tag = "1")]
pub send_to: ::core::option::Option<super::v2::StreamSourceReference>,
#[prost(string, repeated, tag = "2")]
pub output_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, message", tag = "3")]
pub transformations: ::std::collections::HashMap<
::prost::alloc::string::String,
FeatureExpression,
>,
#[prost(string, tag = "4")]
pub format: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResolverState {
#[prost(message, optional, tag = "1")]
pub initial: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
#[prost(message, optional, tag = "2")]
pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamResolverParam {
#[prost(oneof = "stream_resolver_param::Type", tags = "1, 2, 3")]
pub r#type: ::core::option::Option<stream_resolver_param::Type>,
}
pub mod stream_resolver_param {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Type {
#[prost(message, tag = "1")]
Message(super::StreamResolverParamMessage),
#[prost(message, tag = "2")]
MessageWindow(super::StreamResolverParamMessageWindow),
#[prost(message, tag = "3")]
State(super::ResolverState),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamResolverParamMessageWindow {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamResolverParamMessage {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
#[prost(oneof = "stream_resolver_param_message::StructType", tags = "3, 4, 5")]
pub struct_type: ::core::option::Option<stream_resolver_param_message::StructType>,
}
pub mod stream_resolver_param_message {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum StructType {
#[prost(message, tag = "3")]
Empty(()),
#[prost(message, tag = "4")]
Struct(super::FunctionGlobalCapturedStruct),
#[prost(message, tag = "5")]
Proto(super::FunctionGlobalCapturedProto),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionReference {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub module: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub file_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub function_definition: ::prost::alloc::string::String,
#[prost(int32, optional, tag = "5")]
pub source_line: ::core::option::Option<i32>,
#[prost(message, repeated, tag = "6")]
pub captured_globals: ::prost::alloc::vec::Vec<FunctionReferenceCapturedGlobal>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionReferenceCapturedGlobal {
#[prost(string, tag = "3")]
pub global_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "9")]
pub source_reference: ::core::option::Option<SourceFileReference>,
#[prost(
oneof = "function_reference_captured_global::CapturedGlobal",
tags = "1, 2, 4, 5, 7, 6, 8, 10, 11"
)]
pub captured_global: ::core::option::Option<
function_reference_captured_global::CapturedGlobal,
>,
}
pub mod function_reference_captured_global {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum CapturedGlobal {
#[prost(message, tag = "1")]
Builtin(super::FunctionGlobalCapturedBuiltin),
#[prost(message, tag = "2")]
FeatureClass(super::FunctionGlobalCapturedFeatureClass),
#[prost(message, tag = "4")]
Enum(super::FunctionGlobalCapturedEnum),
#[prost(message, tag = "5")]
Module(super::FunctionGlobalCapturedModule),
#[prost(message, tag = "7")]
ModuleMember(super::FunctionGlobalCapturedModuleMember),
#[prost(message, tag = "6")]
Function(super::FunctionGlobalCapturedFunction),
#[prost(message, tag = "8")]
Struct(super::FunctionGlobalCapturedStruct),
#[prost(message, tag = "10")]
Variable(super::FunctionGlobalCapturedVariable),
#[prost(message, tag = "11")]
Proto(super::FunctionGlobalCapturedProto),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedBuiltin {
#[prost(string, tag = "1")]
pub builtin_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedVariable {
#[prost(string, tag = "1")]
pub module: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedStruct {
#[prost(string, tag = "1")]
pub module: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub pa_dtype: ::core::option::Option<super::super::arrow::v1::ArrowType>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedEnum {
#[prost(string, tag = "1")]
pub module: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "3")]
pub member_map: ::std::collections::HashMap<
::prost::alloc::string::String,
super::super::arrow::v1::ScalarValue,
>,
#[prost(message, repeated, tag = "4")]
pub bases: ::prost::alloc::vec::Vec<super::super::arrow::v1::ArrowType>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedFeatureClass {
#[prost(string, tag = "1")]
pub feature_class_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedModule {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedModuleMember {
#[prost(string, tag = "1")]
pub module_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub qualname: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedFunction {
#[prost(string, tag = "1")]
pub source: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub captured_globals: ::prost::alloc::vec::Vec<FunctionReferenceCapturedGlobal>,
#[prost(string, optional, tag = "3")]
pub module: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionGlobalCapturedProto {
#[prost(string, tag = "1")]
pub module: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[deprecated]
#[prost(bytes = "vec", tag = "3")]
pub fd: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "6")]
pub serialized_fd: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "4")]
pub pa_dtype: ::core::option::Option<super::super::arrow::v1::ArrowType>,
#[prost(string, tag = "5")]
pub full_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceFileReference {
#[prost(message, optional, tag = "1")]
pub range: ::core::option::Option<super::super::lsp::v1::Range>,
#[prost(string, optional, tag = "2")]
pub code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub file_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamKey {
#[prost(string, tag = "1")]
pub key: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub feature: ::core::option::Option<FeatureReference>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SqlResolverSettings {
#[prost(enumeration = "Finalizer", tag = "1")]
pub finalizer: i32,
#[prost(message, optional, tag = "2")]
pub incremental_settings: ::core::option::Option<IncrementalSettings>,
#[prost(map = "string, string", tag = "3")]
pub fields_root_fqn: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "4")]
pub escaped_param_name_to_fqn: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IncrementalSettings {
#[prost(enumeration = "IncrementalMode", tag = "1")]
pub mode: i32,
#[prost(message, optional, tag = "2")]
pub lookback_period: ::core::option::Option<::prost_types::Duration>,
#[prost(string, optional, tag = "3")]
pub incremental_column: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "IncrementalTimestampMode", tag = "4")]
pub timestamp_mode: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SqlResolverCommentDict {
#[prost(bool, optional, tag = "1")]
pub total: ::core::option::Option<bool>,
#[prost(string, optional, tag = "2")]
pub source: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub resolves: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub namespace: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub incremental: ::core::option::Option<IncrementalSettings>,
#[prost(string, repeated, tag = "6")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "7")]
pub environment: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "Finalizer", optional, tag = "8")]
pub count: ::core::option::Option<i32>,
#[prost(message, optional, tag = "9")]
pub cron: ::core::option::Option<Schedule>,
#[prost(string, optional, tag = "10")]
pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "11")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "12")]
pub r#type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "13")]
pub timeout: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "14")]
pub fields: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, repeated, tag = "15")]
pub unique_on: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "16")]
pub partitioned_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SqlResolverInfo {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub filepath: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub sql_string: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub override_comment_dict: ::core::option::Option<SqlResolverCommentDict>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CronFilterWithFeatureArgs {
#[prost(message, optional, tag = "1")]
pub filter: ::core::option::Option<FunctionReference>,
#[prost(message, repeated, tag = "2")]
pub args: ::prost::alloc::vec::Vec<FeatureReference>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Schedule {
#[prost(message, optional, tag = "3")]
pub filter: ::core::option::Option<FunctionReference>,
#[prost(message, optional, tag = "4")]
pub sample: ::core::option::Option<FunctionReference>,
#[prost(oneof = "schedule::Schedule", tags = "1, 2")]
pub schedule: ::core::option::Option<schedule::Schedule>,
}
pub mod schedule {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Schedule {
#[prost(string, tag = "1")]
Crontab(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Duration(::prost_types::Duration),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureValidation {
#[prost(bool, tag = "5")]
pub strict: bool,
#[prost(
oneof = "feature_validation::Validation",
tags = "1, 2, 3, 4, 6, 7, 8, 9, 10"
)]
pub validation: ::core::option::Option<feature_validation::Validation>,
}
pub mod feature_validation {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Validation {
#[prost(float, tag = "1")]
Min(f32),
#[prost(float, tag = "2")]
Max(f32),
#[prost(uint32, tag = "3")]
MinLength(u32),
#[prost(uint32, tag = "4")]
MaxLength(u32),
#[prost(message, tag = "6")]
MinArrow(super::super::super::arrow::v1::ScalarValue),
#[prost(message, tag = "7")]
MaxArrow(super::super::super::arrow::v1::ScalarValue),
#[prost(message, tag = "8")]
MinLengthArrow(super::super::super::arrow::v1::ScalarValue),
#[prost(message, tag = "9")]
MaxLengthArrow(super::super::super::arrow::v1::ScalarValue),
#[prost(message, tag = "10")]
Contains(super::super::super::arrow::v1::ScalarValue),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VersionInfo {
#[prost(uint32, tag = "1")]
pub default: u32,
#[prost(uint32, tag = "2")]
pub maximum: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StrictValidation {
#[prost(message, optional, tag = "1")]
pub feature: ::core::option::Option<FeatureReference>,
#[prost(message, repeated, tag = "2")]
pub validations: ::prost::alloc::vec::Vec<FeatureValidation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureEncoder {
#[prost(oneof = "feature_encoder::Encoder", tags = "1")]
pub encoder: ::core::option::Option<feature_encoder::Encoder>,
}
pub mod feature_encoder {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Encoder {
#[prost(message, tag = "1")]
GlobalFunctionReference(super::FunctionGlobalCapturedFunction),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureDecoder {
#[prost(oneof = "feature_decoder::Decoder", tags = "1")]
pub decoder: ::core::option::Option<feature_decoder::Decoder>,
}
pub mod feature_decoder {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Decoder {
#[prost(message, tag = "1")]
GlobalFunctionReference(super::FunctionGlobalCapturedFunction),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RichClassType {
#[prost(string, tag = "1")]
pub module_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub qualname: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub params: ::prost::alloc::vec::Vec<RichClassType>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRichType {
#[prost(oneof = "feature_rich_type::Type", tags = "1")]
pub r#type: ::core::option::Option<feature_rich_type::Type>,
}
pub mod feature_rich_type {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Type {
#[prost(message, tag = "1")]
ClassType(super::RichClassType),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureRichTypeInfo {
#[prost(bool, tag = "1")]
pub rich_type_is_same_as_primitive_type: bool,
#[prost(message, optional, tag = "2")]
pub encoder: ::core::option::Option<FeatureEncoder>,
#[prost(message, optional, tag = "3")]
pub decoder: ::core::option::Option<FeatureDecoder>,
#[prost(message, optional, tag = "4")]
pub rich_type: ::core::option::Option<FeatureRichType>,
#[prost(string, optional, tag = "5")]
pub rich_type_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LruCacheConfig {
#[prost(uint32, tag = "1")]
pub max_size: u32,
#[prost(message, optional, tag = "2")]
pub ttl: ::core::option::Option<::prost_types::Duration>,
#[prost(bool, tag = "3")]
pub store_cache_misses: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OnlineStoreConfig {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub lru_cache: ::core::option::Option<LruCacheConfig>,
#[prost(string, repeated, tag = "3")]
pub feature_namespaces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "4")]
pub source_file_reference: ::core::option::Option<SourceFileReference>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CacheStrategy {
Unspecified = 0,
All = 1,
NoNulls = 2,
EvictNulls = 3,
NoDefaults = 4,
EvictDefaults = 5,
NoNullsOrDefaults = 6,
EvictNullsAndDefaults = 7,
}
impl CacheStrategy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CACHE_STRATEGY_UNSPECIFIED",
Self::All => "CACHE_STRATEGY_ALL",
Self::NoNulls => "CACHE_STRATEGY_NO_NULLS",
Self::EvictNulls => "CACHE_STRATEGY_EVICT_NULLS",
Self::NoDefaults => "CACHE_STRATEGY_NO_DEFAULTS",
Self::EvictDefaults => "CACHE_STRATEGY_EVICT_DEFAULTS",
Self::NoNullsOrDefaults => "CACHE_STRATEGY_NO_NULLS_OR_DEFAULTS",
Self::EvictNullsAndDefaults => "CACHE_STRATEGY_EVICT_NULLS_AND_DEFAULTS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CACHE_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
"CACHE_STRATEGY_ALL" => Some(Self::All),
"CACHE_STRATEGY_NO_NULLS" => Some(Self::NoNulls),
"CACHE_STRATEGY_EVICT_NULLS" => Some(Self::EvictNulls),
"CACHE_STRATEGY_NO_DEFAULTS" => Some(Self::NoDefaults),
"CACHE_STRATEGY_EVICT_DEFAULTS" => Some(Self::EvictDefaults),
"CACHE_STRATEGY_NO_NULLS_OR_DEFAULTS" => Some(Self::NoNullsOrDefaults),
"CACHE_STRATEGY_EVICT_NULLS_AND_DEFAULTS" => {
Some(Self::EvictNullsAndDefaults)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AcceleratePython {
Unspecified = 0,
Require = 1,
Auto = 2,
Never = 3,
}
impl AcceleratePython {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ACCELERATE_PYTHON_UNSPECIFIED",
Self::Require => "ACCELERATE_PYTHON_REQUIRE",
Self::Auto => "ACCELERATE_PYTHON_AUTO",
Self::Never => "ACCELERATE_PYTHON_NEVER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ACCELERATE_PYTHON_UNSPECIFIED" => Some(Self::Unspecified),
"ACCELERATE_PYTHON_REQUIRE" => Some(Self::Require),
"ACCELERATE_PYTHON_AUTO" => Some(Self::Auto),
"ACCELERATE_PYTHON_NEVER" => Some(Self::Never),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ResolverKind {
Unspecified = 0,
Online = 1,
Offline = 2,
}
impl ResolverKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "RESOLVER_KIND_UNSPECIFIED",
Self::Online => "RESOLVER_KIND_ONLINE",
Self::Offline => "RESOLVER_KIND_OFFLINE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RESOLVER_KIND_UNSPECIFIED" => Some(Self::Unspecified),
"RESOLVER_KIND_ONLINE" => Some(Self::Online),
"RESOLVER_KIND_OFFLINE" => Some(Self::Offline),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ResourceHint {
Unspecified = 0,
Cpu = 1,
Io = 2,
Gpu = 3,
}
impl ResourceHint {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "RESOURCE_HINT_UNSPECIFIED",
Self::Cpu => "RESOURCE_HINT_CPU",
Self::Io => "RESOURCE_HINT_IO",
Self::Gpu => "RESOURCE_HINT_GPU",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RESOURCE_HINT_UNSPECIFIED" => Some(Self::Unspecified),
"RESOURCE_HINT_CPU" => Some(Self::Cpu),
"RESOURCE_HINT_IO" => Some(Self::Io),
"RESOURCE_HINT_GPU" => Some(Self::Gpu),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Finalizer {
Unspecified = 0,
OneOrNone = 1,
One = 2,
First = 3,
All = 4,
}
impl Finalizer {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FINALIZER_UNSPECIFIED",
Self::OneOrNone => "FINALIZER_ONE_OR_NONE",
Self::One => "FINALIZER_ONE",
Self::First => "FINALIZER_FIRST",
Self::All => "FINALIZER_ALL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FINALIZER_UNSPECIFIED" => Some(Self::Unspecified),
"FINALIZER_ONE_OR_NONE" => Some(Self::OneOrNone),
"FINALIZER_ONE" => Some(Self::One),
"FINALIZER_FIRST" => Some(Self::First),
"FINALIZER_ALL" => Some(Self::All),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IncrementalMode {
Unspecified = 0,
Row = 1,
Group = 2,
Parameter = 3,
}
impl IncrementalMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "INCREMENTAL_MODE_UNSPECIFIED",
Self::Row => "INCREMENTAL_MODE_ROW",
Self::Group => "INCREMENTAL_MODE_GROUP",
Self::Parameter => "INCREMENTAL_MODE_PARAMETER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INCREMENTAL_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"INCREMENTAL_MODE_ROW" => Some(Self::Row),
"INCREMENTAL_MODE_GROUP" => Some(Self::Group),
"INCREMENTAL_MODE_PARAMETER" => Some(Self::Parameter),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IncrementalTimestampMode {
Unspecified = 0,
FeatureTime = 1,
ResolverExecutionTime = 2,
}
impl IncrementalTimestampMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "INCREMENTAL_TIMESTAMP_MODE_UNSPECIFIED",
Self::FeatureTime => "INCREMENTAL_TIMESTAMP_MODE_FEATURE_TIME",
Self::ResolverExecutionTime => {
"INCREMENTAL_TIMESTAMP_MODE_RESOLVER_EXECUTION_TIME"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INCREMENTAL_TIMESTAMP_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"INCREMENTAL_TIMESTAMP_MODE_FEATURE_TIME" => Some(Self::FeatureTime),
"INCREMENTAL_TIMESTAMP_MODE_RESOLVER_EXECUTION_TIME" => {
Some(Self::ResolverExecutionTime)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WindowMode {
Unspecified = 0,
Continuous = 1,
Tumbling = 2,
Cdc = 3,
}
impl WindowMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "WINDOW_MODE_UNSPECIFIED",
Self::Continuous => "WINDOW_MODE_CONTINUOUS",
Self::Tumbling => "WINDOW_MODE_TUMBLING",
Self::Cdc => "WINDOW_MODE_CDC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WINDOW_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"WINDOW_MODE_CONTINUOUS" => Some(Self::Continuous),
"WINDOW_MODE_TUMBLING" => Some(Self::Tumbling),
"WINDOW_MODE_CDC" => Some(Self::Cdc),
_ => None,
}
}
}