1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct StreamSourceReference {
4 #[prost(enumeration = "StreamSourceType", tag = "1")]
5 pub r#type: i32,
6 #[prost(string, tag = "2")]
7 pub name: ::prost::alloc::string::String,
8}
9#[derive(Clone, PartialEq, ::prost::Message)]
10pub struct StreamSource {
11 #[prost(oneof = "stream_source::Source", tags = "1, 2, 3")]
12 pub source: ::core::option::Option<stream_source::Source>,
13}
14pub mod stream_source {
16 #[derive(Clone, PartialEq, ::prost::Oneof)]
17 pub enum Source {
18 #[prost(message, tag = "1")]
19 Kafka(super::KafkaSource),
20 #[prost(message, tag = "2")]
21 Kinesis(super::KinesisSource),
22 #[prost(message, tag = "3")]
23 Pubsub(super::PubSubSource),
24 }
25}
26#[derive(Clone, PartialEq, ::prost::Message)]
27pub struct KinesisSource {
28 #[prost(string, tag = "1")]
29 pub name: ::prost::alloc::string::String,
30 #[prost(string, tag = "2")]
31 pub stream_name: ::prost::alloc::string::String,
32 #[prost(string, tag = "3")]
33 pub stream_arn: ::prost::alloc::string::String,
34 #[prost(string, tag = "4")]
35 pub region_name: ::prost::alloc::string::String,
36 #[prost(message, optional, tag = "5")]
37 pub late_arrival_deadline: ::core::option::Option<::prost_types::Duration>,
38 #[prost(string, tag = "6")]
39 pub dead_letter_queue_stream_name: ::prost::alloc::string::String,
40 #[prost(string, tag = "7")]
41 pub aws_access_key_id: ::prost::alloc::string::String,
42 #[prost(string, tag = "8")]
43 pub aws_secret_access_key: ::prost::alloc::string::String,
44 #[prost(string, tag = "9")]
45 pub aws_session_token: ::prost::alloc::string::String,
46 #[prost(string, tag = "10")]
47 pub endpoint_url: ::prost::alloc::string::String,
48 #[prost(string, tag = "11")]
49 pub consumer_role_arn: ::prost::alloc::string::String,
50 #[prost(string, tag = "12")]
51 pub enhanced_fanout_consumer_name: ::prost::alloc::string::String,
52}
53#[derive(Clone, PartialEq, ::prost::Message)]
54pub struct KafkaSource {
55 #[prost(string, tag = "1")]
56 pub name: ::prost::alloc::string::String,
57 #[prost(string, repeated, tag = "2")]
58 pub bootstrap_servers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
59 #[prost(string, tag = "3")]
60 pub topic: ::prost::alloc::string::String,
61 #[prost(string, tag = "4")]
62 pub ssl_keystore_location: ::prost::alloc::string::String,
63 #[prost(string, tag = "5")]
64 pub ssl_ca_file: ::prost::alloc::string::String,
65 #[prost(string, tag = "6")]
66 pub client_id_prefix: ::prost::alloc::string::String,
67 #[prost(string, tag = "7")]
68 pub group_id_prefix: ::prost::alloc::string::String,
69 #[prost(string, tag = "8")]
70 pub security_protocol: ::prost::alloc::string::String,
71 #[prost(string, tag = "9")]
72 pub sasl_mechanism: ::prost::alloc::string::String,
73 #[prost(string, tag = "10")]
74 pub sasl_username: ::prost::alloc::string::String,
75 #[prost(string, tag = "11")]
76 pub sasl_password: ::prost::alloc::string::String,
77 #[prost(message, optional, tag = "12")]
78 pub late_arrival_deadline: ::core::option::Option<::prost_types::Duration>,
79 #[prost(string, tag = "13")]
80 pub dead_letter_queue_topic: ::prost::alloc::string::String,
81 #[prost(bool, tag = "14")]
83 pub msk_iam_auth: bool,
84 #[prost(string, tag = "15")]
85 pub aws_region: ::prost::alloc::string::String,
86 #[prost(string, tag = "16")]
87 pub aws_role_arn: ::prost::alloc::string::String,
88}
89#[derive(Clone, PartialEq, ::prost::Message)]
90pub struct PubSubSource {
91 #[prost(string, tag = "1")]
92 pub name: ::prost::alloc::string::String,
93 #[prost(string, tag = "2")]
94 pub project_id: ::prost::alloc::string::String,
95 #[prost(string, tag = "3")]
96 pub subscription_id: ::prost::alloc::string::String,
97 #[prost(message, optional, tag = "4")]
98 pub late_arrival_deadline: ::core::option::Option<::prost_types::Duration>,
99 #[prost(string, tag = "5")]
100 pub dead_letter_queue_topic: ::prost::alloc::string::String,
101}
102#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct DatabaseSourceReference {
104 #[prost(enumeration = "DatabaseSourceType", tag = "1")]
105 pub r#type: i32,
106 #[prost(string, tag = "2")]
107 pub name: ::prost::alloc::string::String,
108}
109#[derive(Clone, PartialEq, ::prost::Message)]
110pub struct DatabaseSource {
111 #[prost(
112 oneof = "database_source::Source",
113 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14"
114 )]
115 pub source: ::core::option::Option<database_source::Source>,
116}
117pub mod database_source {
119 #[derive(Clone, PartialEq, ::prost::Oneof)]
120 pub enum Source {
121 #[prost(message, tag = "1")]
122 Bigquery(super::BigQuerySource),
123 #[prost(message, tag = "2")]
124 Cloudsql(super::CloudSqlSource),
125 #[prost(message, tag = "3")]
126 Databricks(super::DatabricksSource),
127 #[prost(message, tag = "4")]
128 Mysql(super::MySqlSource),
129 #[prost(message, tag = "5")]
130 Postgres(super::PostgresSource),
131 #[prost(message, tag = "6")]
132 Redshift(super::RedshiftSource),
133 #[prost(message, tag = "7")]
134 Snowflake(super::SnowflakeSource),
135 #[prost(message, tag = "8")]
136 Sqlite(super::SqLiteSource),
137 #[prost(message, tag = "9")]
138 Spanner(super::SpannerSource),
139 #[prost(message, tag = "10")]
140 Trino(super::TrinoSource),
141 #[prost(message, tag = "11")]
142 Dynamodb(super::DynamoDbSource),
143 #[prost(message, tag = "12")]
144 Athena(super::AthenaSource),
145 #[prost(message, tag = "13")]
146 Clickhouse(super::ClickhouseSource),
147 #[prost(message, tag = "14")]
148 Mssql(super::MssqlSource),
149 }
150}
151#[derive(Clone, PartialEq, ::prost::Message)]
152pub struct BigQuerySource {
153 #[prost(string, tag = "1")]
154 pub name: ::prost::alloc::string::String,
155 #[prost(string, tag = "2")]
156 pub project: ::prost::alloc::string::String,
157 #[prost(string, tag = "3")]
158 pub dataset: ::prost::alloc::string::String,
159 #[prost(string, tag = "4")]
160 pub location: ::prost::alloc::string::String,
161 #[prost(string, tag = "5")]
162 pub credentials_base64: ::prost::alloc::string::String,
163 #[prost(string, tag = "6")]
164 pub credentials_path: ::prost::alloc::string::String,
165 #[prost(map = "string, message", tag = "7")]
166 pub engine_args: ::std::collections::HashMap<
167 ::prost::alloc::string::String,
168 super::super::arrow::v1::ScalarValue,
169 >,
170 #[prost(map = "string, message", tag = "8")]
171 pub async_engine_args: ::std::collections::HashMap<
172 ::prost::alloc::string::String,
173 super::super::arrow::v1::ScalarValue,
174 >,
175}
176#[derive(Clone, PartialEq, ::prost::Message)]
177pub struct CloudSqlSource {
178 #[prost(string, tag = "1")]
179 pub name: ::prost::alloc::string::String,
180 #[prost(string, tag = "2")]
181 pub db: ::prost::alloc::string::String,
182 #[prost(string, tag = "3")]
183 pub user: ::prost::alloc::string::String,
184 #[prost(string, tag = "4")]
185 pub password: ::prost::alloc::string::String,
186 #[prost(string, tag = "5")]
187 pub instance_name: ::prost::alloc::string::String,
188 #[prost(map = "string, message", tag = "6")]
189 pub engine_args: ::std::collections::HashMap<
190 ::prost::alloc::string::String,
191 super::super::arrow::v1::ScalarValue,
192 >,
193 #[prost(map = "string, message", tag = "7")]
194 pub async_engine_args: ::std::collections::HashMap<
195 ::prost::alloc::string::String,
196 super::super::arrow::v1::ScalarValue,
197 >,
198}
199#[derive(Clone, PartialEq, ::prost::Message)]
200pub struct DatabricksSource {
201 #[prost(string, tag = "1")]
202 pub name: ::prost::alloc::string::String,
203 #[prost(string, tag = "2")]
204 pub host: ::prost::alloc::string::String,
205 #[prost(string, tag = "3")]
206 pub port: ::prost::alloc::string::String,
207 #[prost(string, tag = "4")]
208 pub db: ::prost::alloc::string::String,
209 #[prost(string, tag = "5")]
210 pub http_path: ::prost::alloc::string::String,
211 #[prost(string, tag = "6")]
212 pub access_token: ::prost::alloc::string::String,
213 #[prost(map = "string, message", tag = "7")]
214 pub engine_args: ::std::collections::HashMap<
215 ::prost::alloc::string::String,
216 super::super::arrow::v1::ScalarValue,
217 >,
218 #[prost(map = "string, message", tag = "8")]
219 pub async_engine_args: ::std::collections::HashMap<
220 ::prost::alloc::string::String,
221 super::super::arrow::v1::ScalarValue,
222 >,
223}
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct DynamoDbSource {
226 #[prost(string, tag = "1")]
227 pub name: ::prost::alloc::string::String,
228 #[prost(string, optional, tag = "2")]
229 pub aws_client_id_override: ::core::option::Option<::prost::alloc::string::String>,
230 #[prost(string, optional, tag = "3")]
231 pub aws_client_secret_override: ::core::option::Option<
232 ::prost::alloc::string::String,
233 >,
234 #[prost(string, optional, tag = "4")]
235 pub aws_region_override: ::core::option::Option<::prost::alloc::string::String>,
236 #[prost(string, optional, tag = "5")]
237 pub endpoint_override: ::core::option::Option<::prost::alloc::string::String>,
238 #[prost(map = "string, message", tag = "6")]
239 pub engine_args: ::std::collections::HashMap<
240 ::prost::alloc::string::String,
241 super::super::arrow::v1::ScalarValue,
242 >,
243 #[prost(map = "string, message", tag = "7")]
244 pub async_engine_args: ::std::collections::HashMap<
245 ::prost::alloc::string::String,
246 super::super::arrow::v1::ScalarValue,
247 >,
248}
249#[derive(Clone, PartialEq, ::prost::Message)]
250pub struct MySqlSource {
251 #[prost(string, tag = "1")]
252 pub name: ::prost::alloc::string::String,
253 #[prost(string, tag = "2")]
254 pub host: ::prost::alloc::string::String,
255 #[prost(string, tag = "3")]
256 pub port: ::prost::alloc::string::String,
257 #[prost(string, tag = "4")]
258 pub db: ::prost::alloc::string::String,
259 #[prost(string, tag = "5")]
260 pub user: ::prost::alloc::string::String,
261 #[prost(string, tag = "6")]
262 pub password: ::prost::alloc::string::String,
263 #[prost(map = "string, message", tag = "7")]
264 pub engine_args: ::std::collections::HashMap<
265 ::prost::alloc::string::String,
266 super::super::arrow::v1::ScalarValue,
267 >,
268 #[prost(map = "string, message", tag = "8")]
269 pub async_engine_args: ::std::collections::HashMap<
270 ::prost::alloc::string::String,
271 super::super::arrow::v1::ScalarValue,
272 >,
273}
274#[derive(Clone, PartialEq, ::prost::Message)]
275pub struct PostgresSource {
276 #[prost(string, tag = "1")]
277 pub name: ::prost::alloc::string::String,
278 #[prost(string, tag = "2")]
279 pub host: ::prost::alloc::string::String,
280 #[prost(string, tag = "3")]
281 pub port: ::prost::alloc::string::String,
282 #[prost(string, tag = "4")]
283 pub db: ::prost::alloc::string::String,
284 #[prost(string, tag = "5")]
285 pub user: ::prost::alloc::string::String,
286 #[prost(string, tag = "6")]
287 pub password: ::prost::alloc::string::String,
288 #[prost(map = "string, message", tag = "7")]
289 pub engine_args: ::std::collections::HashMap<
290 ::prost::alloc::string::String,
291 super::super::arrow::v1::ScalarValue,
292 >,
293 #[prost(map = "string, message", tag = "8")]
294 pub async_engine_args: ::std::collections::HashMap<
295 ::prost::alloc::string::String,
296 super::super::arrow::v1::ScalarValue,
297 >,
298}
299#[derive(Clone, PartialEq, ::prost::Message)]
300pub struct MssqlSource {
301 #[prost(string, tag = "1")]
302 pub name: ::prost::alloc::string::String,
303 #[prost(string, tag = "2")]
304 pub host: ::prost::alloc::string::String,
305 #[prost(string, tag = "3")]
306 pub port: ::prost::alloc::string::String,
307 #[prost(string, tag = "4")]
308 pub db: ::prost::alloc::string::String,
309 #[prost(string, tag = "5")]
310 pub user: ::prost::alloc::string::String,
311 #[prost(string, tag = "6")]
312 pub password: ::prost::alloc::string::String,
313 #[prost(map = "string, message", tag = "7")]
314 pub engine_args: ::std::collections::HashMap<
315 ::prost::alloc::string::String,
316 super::super::arrow::v1::ScalarValue,
317 >,
318 #[prost(map = "string, message", tag = "8")]
319 pub async_engine_args: ::std::collections::HashMap<
320 ::prost::alloc::string::String,
321 super::super::arrow::v1::ScalarValue,
322 >,
323}
324#[derive(Clone, PartialEq, ::prost::Message)]
325pub struct RedshiftSource {
326 #[prost(string, tag = "1")]
327 pub name: ::prost::alloc::string::String,
328 #[prost(string, tag = "2")]
329 pub host: ::prost::alloc::string::String,
330 #[prost(string, tag = "3")]
331 pub port: ::prost::alloc::string::String,
332 #[prost(string, tag = "4")]
333 pub db: ::prost::alloc::string::String,
334 #[prost(string, tag = "5")]
335 pub user: ::prost::alloc::string::String,
336 #[prost(string, tag = "6")]
337 pub password: ::prost::alloc::string::String,
338 #[prost(string, tag = "7")]
339 pub s3_client: ::prost::alloc::string::String,
340 #[prost(string, tag = "8")]
341 pub s3_bucket: ::prost::alloc::string::String,
342 #[prost(map = "string, message", tag = "9")]
343 pub engine_args: ::std::collections::HashMap<
344 ::prost::alloc::string::String,
345 super::super::arrow::v1::ScalarValue,
346 >,
347 #[prost(map = "string, message", tag = "10")]
348 pub async_engine_args: ::std::collections::HashMap<
349 ::prost::alloc::string::String,
350 super::super::arrow::v1::ScalarValue,
351 >,
352 #[prost(string, tag = "11")]
353 pub unload_iam_role: ::prost::alloc::string::String,
354}
355#[derive(Clone, PartialEq, ::prost::Message)]
356pub struct SnowflakeSource {
357 #[prost(string, tag = "1")]
358 pub name: ::prost::alloc::string::String,
359 #[prost(string, tag = "2")]
360 pub db: ::prost::alloc::string::String,
361 #[prost(string, tag = "3")]
362 pub schema: ::prost::alloc::string::String,
363 #[prost(string, tag = "4")]
364 pub role: ::prost::alloc::string::String,
365 #[prost(string, tag = "5")]
366 pub user: ::prost::alloc::string::String,
367 #[prost(string, tag = "6")]
368 pub password: ::prost::alloc::string::String,
369 #[prost(string, tag = "7")]
370 pub account_identifier: ::prost::alloc::string::String,
371 #[prost(string, tag = "8")]
372 pub warehouse: ::prost::alloc::string::String,
373 #[prost(map = "string, message", tag = "9")]
374 pub engine_args: ::std::collections::HashMap<
375 ::prost::alloc::string::String,
376 super::super::arrow::v1::ScalarValue,
377 >,
378 #[prost(map = "string, message", tag = "10")]
379 pub async_engine_args: ::std::collections::HashMap<
380 ::prost::alloc::string::String,
381 super::super::arrow::v1::ScalarValue,
382 >,
383 #[prost(string, tag = "11")]
384 pub private_key_b64: ::prost::alloc::string::String,
385}
386#[derive(Clone, PartialEq, ::prost::Message)]
387pub struct SqLiteSource {
388 #[prost(string, tag = "1")]
389 pub name: ::prost::alloc::string::String,
390 #[prost(string, tag = "2")]
391 pub file_name: ::prost::alloc::string::String,
392 #[prost(map = "string, message", tag = "3")]
393 pub engine_args: ::std::collections::HashMap<
394 ::prost::alloc::string::String,
395 super::super::arrow::v1::ScalarValue,
396 >,
397 #[prost(map = "string, message", tag = "4")]
398 pub async_engine_args: ::std::collections::HashMap<
399 ::prost::alloc::string::String,
400 super::super::arrow::v1::ScalarValue,
401 >,
402}
403#[derive(Clone, PartialEq, ::prost::Message)]
404pub struct SpannerSource {
405 #[prost(string, tag = "1")]
406 pub name: ::prost::alloc::string::String,
407 #[prost(string, tag = "2")]
408 pub project: ::prost::alloc::string::String,
409 #[prost(string, tag = "3")]
410 pub instance: ::prost::alloc::string::String,
411 #[prost(string, tag = "4")]
412 pub db: ::prost::alloc::string::String,
413 #[prost(string, tag = "5")]
414 pub credentials_base64: ::prost::alloc::string::String,
415 #[prost(map = "string, message", tag = "6")]
416 pub engine_args: ::std::collections::HashMap<
417 ::prost::alloc::string::String,
418 super::super::arrow::v1::ScalarValue,
419 >,
420 #[prost(map = "string, message", tag = "7")]
421 pub async_engine_args: ::std::collections::HashMap<
422 ::prost::alloc::string::String,
423 super::super::arrow::v1::ScalarValue,
424 >,
425}
426#[derive(Clone, PartialEq, ::prost::Message)]
427pub struct TrinoSource {
428 #[prost(string, tag = "1")]
429 pub name: ::prost::alloc::string::String,
430 #[prost(string, tag = "2")]
431 pub host: ::prost::alloc::string::String,
432 #[prost(string, tag = "3")]
433 pub port: ::prost::alloc::string::String,
434 #[prost(string, tag = "4")]
435 pub catalog: ::prost::alloc::string::String,
436 #[prost(string, tag = "5")]
437 pub schema: ::prost::alloc::string::String,
438 #[prost(string, tag = "6")]
439 pub user: ::prost::alloc::string::String,
440 #[prost(string, tag = "7")]
441 pub password: ::prost::alloc::string::String,
442 #[prost(map = "string, message", tag = "8")]
443 pub engine_args: ::std::collections::HashMap<
444 ::prost::alloc::string::String,
445 super::super::arrow::v1::ScalarValue,
446 >,
447 #[prost(map = "string, message", tag = "9")]
448 pub async_engine_args: ::std::collections::HashMap<
449 ::prost::alloc::string::String,
450 super::super::arrow::v1::ScalarValue,
451 >,
452}
453#[derive(Clone, PartialEq, ::prost::Message)]
454pub struct AthenaSource {
455 #[prost(string, tag = "1")]
456 pub name: ::prost::alloc::string::String,
457 #[prost(string, tag = "2")]
458 pub aws_region: ::prost::alloc::string::String,
459 #[prost(string, optional, tag = "3")]
460 pub aws_access_key_id: ::core::option::Option<::prost::alloc::string::String>,
461 #[prost(string, optional, tag = "4")]
462 pub aws_access_key_secret: ::core::option::Option<::prost::alloc::string::String>,
463 #[prost(string, tag = "5")]
464 pub s3_staging_dir: ::prost::alloc::string::String,
465 #[prost(string, optional, tag = "6")]
466 pub catalog_name: ::core::option::Option<::prost::alloc::string::String>,
467 #[prost(string, optional, tag = "7")]
468 pub schema_name: ::core::option::Option<::prost::alloc::string::String>,
469 #[prost(string, optional, tag = "8")]
470 pub role_arn: ::core::option::Option<::prost::alloc::string::String>,
471 #[prost(map = "string, message", tag = "9")]
472 pub engine_args: ::std::collections::HashMap<
473 ::prost::alloc::string::String,
474 super::super::arrow::v1::ScalarValue,
475 >,
476 #[prost(map = "string, message", tag = "10")]
477 pub async_engine_args: ::std::collections::HashMap<
478 ::prost::alloc::string::String,
479 super::super::arrow::v1::ScalarValue,
480 >,
481 #[prost(string, optional, tag = "11")]
482 pub work_group: ::core::option::Option<::prost::alloc::string::String>,
483}
484#[derive(Clone, PartialEq, ::prost::Message)]
485pub struct ClickhouseSource {
486 #[prost(string, tag = "1")]
487 pub name: ::prost::alloc::string::String,
488 #[prost(string, tag = "2")]
489 pub host: ::prost::alloc::string::String,
490 #[prost(string, tag = "3")]
491 pub port: ::prost::alloc::string::String,
492 #[prost(string, tag = "4")]
493 pub db: ::prost::alloc::string::String,
494 #[prost(string, tag = "5")]
495 pub user: ::prost::alloc::string::String,
496 #[prost(string, tag = "6")]
497 pub password: ::prost::alloc::string::String,
498 #[prost(bool, tag = "7")]
499 pub use_tls: bool,
500 #[prost(map = "string, message", tag = "8")]
501 pub engine_args: ::std::collections::HashMap<
502 ::prost::alloc::string::String,
503 super::super::arrow::v1::ScalarValue,
504 >,
505 #[prost(map = "string, message", tag = "9")]
506 pub async_engine_args: ::std::collections::HashMap<
507 ::prost::alloc::string::String,
508 super::super::arrow::v1::ScalarValue,
509 >,
510}
511#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
512#[repr(i32)]
513pub enum StreamSourceType {
514 Unspecified = 0,
515 Kafka = 1,
516 Kinesis = 2,
517 Pubsub = 3,
518}
519impl StreamSourceType {
520 pub fn as_str_name(&self) -> &'static str {
525 match self {
526 Self::Unspecified => "STREAM_SOURCE_TYPE_UNSPECIFIED",
527 Self::Kafka => "STREAM_SOURCE_TYPE_KAFKA",
528 Self::Kinesis => "STREAM_SOURCE_TYPE_KINESIS",
529 Self::Pubsub => "STREAM_SOURCE_TYPE_PUBSUB",
530 }
531 }
532 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
534 match value {
535 "STREAM_SOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
536 "STREAM_SOURCE_TYPE_KAFKA" => Some(Self::Kafka),
537 "STREAM_SOURCE_TYPE_KINESIS" => Some(Self::Kinesis),
538 "STREAM_SOURCE_TYPE_PUBSUB" => Some(Self::Pubsub),
539 _ => None,
540 }
541 }
542}
543#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
544#[repr(i32)]
545pub enum DatabaseSourceType {
546 Unspecified = 0,
547 Bigquery = 1,
548 Cloudsql = 2,
549 Databricks = 3,
550 Mysql = 4,
551 Postgres = 5,
552 Redshift = 6,
553 Snowflake = 7,
554 Sqlite = 8,
555 Spanner = 9,
556 Trino = 10,
557 Dynamodb = 11,
558 Athena = 12,
559 Mssql = 13,
560}
561impl DatabaseSourceType {
562 pub fn as_str_name(&self) -> &'static str {
567 match self {
568 Self::Unspecified => "DATABASE_SOURCE_TYPE_UNSPECIFIED",
569 Self::Bigquery => "DATABASE_SOURCE_TYPE_BIGQUERY",
570 Self::Cloudsql => "DATABASE_SOURCE_TYPE_CLOUDSQL",
571 Self::Databricks => "DATABASE_SOURCE_TYPE_DATABRICKS",
572 Self::Mysql => "DATABASE_SOURCE_TYPE_MYSQL",
573 Self::Postgres => "DATABASE_SOURCE_TYPE_POSTGRES",
574 Self::Redshift => "DATABASE_SOURCE_TYPE_REDSHIFT",
575 Self::Snowflake => "DATABASE_SOURCE_TYPE_SNOWFLAKE",
576 Self::Sqlite => "DATABASE_SOURCE_TYPE_SQLITE",
577 Self::Spanner => "DATABASE_SOURCE_TYPE_SPANNER",
578 Self::Trino => "DATABASE_SOURCE_TYPE_TRINO",
579 Self::Dynamodb => "DATABASE_SOURCE_TYPE_DYNAMODB",
580 Self::Athena => "DATABASE_SOURCE_TYPE_ATHENA",
581 Self::Mssql => "DATABASE_SOURCE_TYPE_MSSQL",
582 }
583 }
584 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
586 match value {
587 "DATABASE_SOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
588 "DATABASE_SOURCE_TYPE_BIGQUERY" => Some(Self::Bigquery),
589 "DATABASE_SOURCE_TYPE_CLOUDSQL" => Some(Self::Cloudsql),
590 "DATABASE_SOURCE_TYPE_DATABRICKS" => Some(Self::Databricks),
591 "DATABASE_SOURCE_TYPE_MYSQL" => Some(Self::Mysql),
592 "DATABASE_SOURCE_TYPE_POSTGRES" => Some(Self::Postgres),
593 "DATABASE_SOURCE_TYPE_REDSHIFT" => Some(Self::Redshift),
594 "DATABASE_SOURCE_TYPE_SNOWFLAKE" => Some(Self::Snowflake),
595 "DATABASE_SOURCE_TYPE_SQLITE" => Some(Self::Sqlite),
596 "DATABASE_SOURCE_TYPE_SPANNER" => Some(Self::Spanner),
597 "DATABASE_SOURCE_TYPE_TRINO" => Some(Self::Trino),
598 "DATABASE_SOURCE_TYPE_DYNAMODB" => Some(Self::Dynamodb),
599 "DATABASE_SOURCE_TYPE_ATHENA" => Some(Self::Athena),
600 "DATABASE_SOURCE_TYPE_MSSQL" => Some(Self::Mssql),
601 _ => None,
602 }
603 }
604}
605#[derive(Clone, PartialEq, ::prost::Message)]
606pub struct Graph {
607 #[prost(message, repeated, tag = "1")]
608 pub feature_sets: ::prost::alloc::vec::Vec<FeatureSet>,
609 #[prost(message, repeated, tag = "2")]
610 pub resolvers: ::prost::alloc::vec::Vec<Resolver>,
611 #[prost(message, repeated, tag = "3")]
612 pub stream_resolvers: ::prost::alloc::vec::Vec<StreamResolver>,
613 #[prost(message, repeated, tag = "4")]
614 pub sink_resolvers: ::prost::alloc::vec::Vec<SinkResolver>,
615 #[deprecated]
617 #[prost(message, repeated, tag = "5")]
618 pub database_sources: ::prost::alloc::vec::Vec<DatabaseSource>,
619 #[deprecated]
621 #[prost(message, repeated, tag = "6")]
622 pub stream_sources: ::prost::alloc::vec::Vec<StreamSource>,
623 #[prost(message, repeated, tag = "7")]
624 pub named_queries: ::prost::alloc::vec::Vec<NamedQuery>,
625 #[prost(message, repeated, tag = "8")]
626 pub database_sources_v2: ::prost::alloc::vec::Vec<super::v2::DatabaseSource>,
627 #[prost(message, repeated, tag = "10")]
628 pub database_source_groups: ::prost::alloc::vec::Vec<super::v2::DatabaseSourceGroup>,
629 #[prost(message, repeated, tag = "9")]
630 pub stream_sources_v2: ::prost::alloc::vec::Vec<super::v2::StreamSource>,
631 #[prost(message, repeated, tag = "11")]
632 pub model_references: ::prost::alloc::vec::Vec<ModelReference>,
633 #[prost(message, repeated, tag = "12")]
634 pub online_store_configs: ::prost::alloc::vec::Vec<OnlineStoreConfig>,
635}
636#[derive(Clone, PartialEq, ::prost::Message)]
637pub struct OverlayGraph {
638 #[prost(message, repeated, tag = "1")]
639 pub feature_sets: ::prost::alloc::vec::Vec<FeatureSet>,
640 #[prost(message, repeated, tag = "2")]
642 pub feature_fields: ::prost::alloc::vec::Vec<FeatureType>,
643 #[prost(message, repeated, tag = "3")]
644 pub resolvers: ::prost::alloc::vec::Vec<Resolver>,
645 #[prost(message, repeated, tag = "4")]
646 pub generated_sql_resolvers: ::prost::alloc::vec::Vec<SqlResolverInfo>,
647}
648#[derive(Clone, PartialEq, ::prost::Message)]
649pub struct ModelReference {
650 #[prost(string, tag = "1")]
651 pub name: ::prost::alloc::string::String,
652 #[prost(message, optional, tag = "5")]
653 pub source_file_reference: ::core::option::Option<SourceFileReference>,
654 #[prost(oneof = "model_reference::Identifier", tags = "2, 3, 4")]
655 pub identifier: ::core::option::Option<model_reference::Identifier>,
656}
657pub mod model_reference {
659 #[derive(Clone, PartialEq, ::prost::Oneof)]
660 pub enum Identifier {
661 #[prost(uint64, tag = "2")]
663 Version(u64),
664 #[prost(string, tag = "3")]
666 Alias(::prost::alloc::string::String),
667 #[prost(message, tag = "4")]
669 AsOf(::prost_types::Timestamp),
670 }
671}
672#[derive(Clone, PartialEq, ::prost::Message)]
673pub struct NamedQuery {
674 #[prost(string, tag = "1")]
675 pub name: ::prost::alloc::string::String,
676 #[prost(string, optional, tag = "2")]
677 pub query_version: ::core::option::Option<::prost::alloc::string::String>,
678 #[prost(string, repeated, tag = "3")]
679 pub input: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
680 #[prost(string, repeated, tag = "4")]
681 pub output: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
682 #[prost(string, repeated, tag = "5")]
683 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
684 #[prost(string, optional, tag = "6")]
685 pub description: ::core::option::Option<::prost::alloc::string::String>,
686 #[prost(string, optional, tag = "7")]
687 pub owner: ::core::option::Option<::prost::alloc::string::String>,
688 #[prost(map = "string, string", tag = "8")]
689 pub meta: ::std::collections::HashMap<
690 ::prost::alloc::string::String,
691 ::prost::alloc::string::String,
692 >,
693 #[prost(map = "string, message", tag = "9")]
694 pub staleness: ::std::collections::HashMap<
695 ::prost::alloc::string::String,
696 ::prost_types::Duration,
697 >,
698 #[prost(map = "string, string", tag = "10")]
699 pub planner_options: ::std::collections::HashMap<
700 ::prost::alloc::string::String,
701 ::prost::alloc::string::String,
702 >,
703 #[prost(string, tag = "11")]
704 pub file_name: ::prost::alloc::string::String,
705 #[prost(string, optional, tag = "12")]
707 pub deployment_id: ::core::option::Option<::prost::alloc::string::String>,
708 #[prost(message, optional, tag = "13")]
709 pub source_file_reference: ::core::option::Option<SourceFileReference>,
710 #[prost(string, repeated, tag = "14")]
711 pub additional_logged_features: ::prost::alloc::vec::Vec<
712 ::prost::alloc::string::String,
713 >,
714 #[prost(bool, optional, tag = "15")]
715 pub valid_plan_not_required: ::core::option::Option<bool>,
716}
717#[derive(Clone, PartialEq, ::prost::Message)]
718pub struct FeatureSet {
719 #[prost(string, tag = "1")]
720 pub name: ::prost::alloc::string::String,
721 #[prost(message, repeated, tag = "2")]
722 pub features: ::prost::alloc::vec::Vec<FeatureType>,
723 #[prost(message, optional, tag = "3")]
724 pub max_staleness_duration: ::core::option::Option<::prost_types::Duration>,
725 #[prost(bool, tag = "4")]
726 pub is_singleton: bool,
727 #[prost(string, repeated, tag = "5")]
728 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
729 #[prost(string, optional, tag = "6")]
730 pub owner: ::core::option::Option<::prost::alloc::string::String>,
731 #[prost(string, optional, tag = "7")]
733 pub doc: ::core::option::Option<::prost::alloc::string::String>,
734 #[prost(bool, optional, tag = "8")]
735 pub etl_offline_to_online: ::core::option::Option<bool>,
736 #[prost(string, optional, tag = "9")]
737 pub class_path: ::core::option::Option<::prost::alloc::string::String>,
738 #[prost(string, optional, tag = "10")]
739 pub online_store_config: ::core::option::Option<::prost::alloc::string::String>,
740}
741#[derive(Clone, PartialEq, ::prost::Message)]
742pub struct FeatureType {
743 #[prost(oneof = "feature_type::Type", tags = "1, 2, 3, 4, 5, 6")]
744 pub r#type: ::core::option::Option<feature_type::Type>,
745}
746pub mod feature_type {
748 #[derive(Clone, PartialEq, ::prost::Oneof)]
749 pub enum Type {
750 #[prost(message, tag = "1")]
751 Scalar(super::ScalarFeatureType),
752 #[prost(message, tag = "2")]
753 HasOne(super::HasOneFeatureType),
754 #[prost(message, tag = "3")]
755 HasMany(super::HasManyFeatureType),
756 #[prost(message, tag = "4")]
757 FeatureTime(super::FeatureTimeFeatureType),
758 #[prost(message, tag = "5")]
759 Windowed(super::WindowedFeatureType),
760 #[prost(message, tag = "6")]
761 GroupBy(super::GroupByFeatureType),
762 }
763}
764#[derive(Clone, PartialEq, ::prost::Message)]
765pub struct FeatureReference {
766 #[prost(string, tag = "1")]
767 pub name: ::prost::alloc::string::String,
768 #[prost(string, tag = "2")]
769 pub namespace: ::prost::alloc::string::String,
770 #[prost(message, repeated, tag = "3")]
771 pub path: ::prost::alloc::vec::Vec<FeatureReference>,
772 #[prost(message, optional, tag = "4")]
773 pub df: ::core::option::Option<DataFrameType>,
774}
775#[derive(Clone, PartialEq, ::prost::Message)]
776pub struct DataFrameType {
777 #[prost(string, tag = "1")]
778 pub root_namespace: ::prost::alloc::string::String,
779 #[prost(message, repeated, tag = "2")]
780 pub required_columns: ::prost::alloc::vec::Vec<FeatureReference>,
781 #[prost(message, repeated, tag = "3")]
782 pub optional_columns: ::prost::alloc::vec::Vec<FeatureReference>,
783 #[prost(message, optional, tag = "4")]
784 pub filter: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
785 #[prost(uint64, optional, tag = "5")]
786 pub limit: ::core::option::Option<u64>,
787}
788#[derive(Clone, PartialEq, ::prost::Message)]
789pub struct GroupByFeatureType {
790 #[prost(string, tag = "1")]
791 pub name: ::prost::alloc::string::String,
792 #[prost(string, tag = "2")]
793 pub namespace: ::prost::alloc::string::String,
794 #[prost(bool, tag = "3")]
795 pub is_nullable: bool,
796 #[prost(uint64, optional, tag = "4")]
797 pub internal_version: ::core::option::Option<u64>,
798 #[prost(message, optional, tag = "5")]
799 pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
800 #[prost(message, optional, tag = "6")]
801 pub aggregation: ::core::option::Option<WindowAggregation>,
802 #[prost(message, repeated, tag = "7")]
803 pub window_durations: ::prost::alloc::vec::Vec<::prost_types::Duration>,
804 #[prost(message, optional, tag = "8")]
805 pub expression: ::core::option::Option<
806 super::super::expression::v1::LogicalExprNode,
807 >,
808 #[prost(message, optional, tag = "9")]
809 pub default_value: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
810 #[prost(string, repeated, tag = "10")]
811 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
812 #[prost(string, optional, tag = "11")]
813 pub description: ::core::option::Option<::prost::alloc::string::String>,
814 #[prost(string, optional, tag = "12")]
815 pub owner: ::core::option::Option<::prost::alloc::string::String>,
816 #[prost(message, repeated, tag = "13")]
817 pub validations: ::prost::alloc::vec::Vec<FeatureValidation>,
818 #[prost(string, tag = "14")]
819 pub attribute_name: ::prost::alloc::string::String,
820 #[prost(string, tag = "15")]
821 pub unversioned_attribute_name: ::prost::alloc::string::String,
822}
823#[derive(Clone, PartialEq, ::prost::Message)]
824pub struct ScalarFeatureType {
825 #[prost(string, tag = "1")]
826 pub name: ::prost::alloc::string::String,
827 #[prost(string, tag = "2")]
828 pub namespace: ::prost::alloc::string::String,
829 #[prost(bool, tag = "3")]
830 pub is_autogenerated: bool,
831 #[prost(bool, tag = "4")]
832 pub no_display: bool,
833 #[prost(bool, tag = "5")]
834 pub is_primary: bool,
835 #[prost(bool, tag = "6")]
836 pub is_nullable: bool,
837 #[prost(uint64, optional, tag = "7")]
838 pub internal_version: ::core::option::Option<u64>,
839 #[prost(message, optional, tag = "8")]
843 pub max_staleness_duration: ::core::option::Option<::prost_types::Duration>,
844 #[prost(message, optional, tag = "10")]
845 pub offline_ttl_duration: ::core::option::Option<::prost_types::Duration>,
846 #[prost(message, optional, tag = "11")]
847 pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
848 #[prost(message, optional, tag = "12")]
849 pub version: ::core::option::Option<VersionInfo>,
850 #[prost(message, optional, tag = "13")]
851 pub window_info: ::core::option::Option<WindowInfo>,
852 #[prost(message, optional, tag = "14")]
853 pub default_value: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
854 #[prost(string, repeated, tag = "15")]
855 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
856 #[prost(string, optional, tag = "16")]
857 pub description: ::core::option::Option<::prost::alloc::string::String>,
858 #[prost(string, optional, tag = "17")]
859 pub owner: ::core::option::Option<::prost::alloc::string::String>,
860 #[prost(message, optional, tag = "18")]
861 pub expression: ::core::option::Option<
862 super::super::expression::v1::LogicalExprNode,
863 >,
864 #[prost(message, repeated, tag = "19")]
865 pub validations: ::prost::alloc::vec::Vec<FeatureValidation>,
866 #[prost(message, optional, tag = "20")]
867 pub last_for: ::core::option::Option<FeatureReference>,
868 #[prost(bool, optional, tag = "21")]
872 pub etl_offline_to_online: ::core::option::Option<bool>,
873 #[prost(bool, tag = "22")]
874 pub is_distance_pseudofeature: bool,
875 #[prost(string, tag = "23")]
876 pub attribute_name: ::prost::alloc::string::String,
877 #[prost(bool, tag = "24")]
879 pub is_deprecated: bool,
880 #[prost(enumeration = "CacheStrategy", tag = "25")]
881 pub cache_strategy: i32,
882 #[prost(bool, optional, tag = "26")]
884 pub store_online: ::core::option::Option<bool>,
885 #[prost(bool, optional, tag = "27")]
887 pub store_offline: ::core::option::Option<bool>,
888 #[prost(string, tag = "28")]
889 pub unversioned_attribute_name: ::prost::alloc::string::String,
890 #[prost(message, optional, tag = "29")]
891 pub rich_type_info: ::core::option::Option<FeatureRichTypeInfo>,
892 #[prost(message, optional, tag = "30")]
893 pub expression_definition_location: ::core::option::Option<
894 super::super::lsp::v1::Location,
895 >,
896 #[prost(message, optional, tag = "31")]
897 pub offline_expression: ::core::option::Option<
898 super::super::expression::v1::LogicalExprNode,
899 >,
900}
901#[derive(Clone, PartialEq, ::prost::Message)]
902pub struct HasOneFeatureType {
903 #[prost(string, tag = "1")]
904 pub name: ::prost::alloc::string::String,
905 #[prost(string, tag = "2")]
906 pub namespace: ::prost::alloc::string::String,
907 #[prost(string, tag = "3")]
908 pub foreign_namespace: ::prost::alloc::string::String,
909 #[prost(message, optional, tag = "4")]
910 pub join: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
911 #[prost(bool, tag = "5")]
912 pub is_nullable: bool,
913 #[prost(bool, tag = "6")]
914 pub is_autogenerated: bool,
915 #[prost(string, repeated, tag = "7")]
916 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
917 #[prost(string, optional, tag = "8")]
918 pub description: ::core::option::Option<::prost::alloc::string::String>,
919 #[prost(string, optional, tag = "9")]
920 pub owner: ::core::option::Option<::prost::alloc::string::String>,
921 #[prost(string, tag = "10")]
922 pub attribute_name: ::prost::alloc::string::String,
923 #[prost(string, tag = "11")]
924 pub unversioned_attribute_name: ::prost::alloc::string::String,
925}
926#[derive(Clone, PartialEq, ::prost::Message)]
927pub struct HasManyFeatureType {
928 #[prost(string, tag = "1")]
929 pub name: ::prost::alloc::string::String,
930 #[prost(string, tag = "2")]
931 pub namespace: ::prost::alloc::string::String,
932 #[prost(string, tag = "3")]
933 pub foreign_namespace: ::prost::alloc::string::String,
934 #[prost(message, optional, tag = "4")]
935 pub join: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
936 #[prost(bool, tag = "5")]
937 pub is_autogenerated: bool,
938 #[prost(message, optional, tag = "6")]
939 pub max_staleness_duration: ::core::option::Option<::prost_types::Duration>,
940 #[prost(string, repeated, tag = "7")]
941 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
942 #[prost(string, optional, tag = "8")]
943 pub description: ::core::option::Option<::prost::alloc::string::String>,
944 #[prost(string, optional, tag = "9")]
945 pub owner: ::core::option::Option<::prost::alloc::string::String>,
946 #[prost(string, tag = "10")]
947 pub attribute_name: ::prost::alloc::string::String,
948 #[prost(string, tag = "11")]
949 pub unversioned_attribute_name: ::prost::alloc::string::String,
950 #[prost(uint64, optional, tag = "12")]
951 pub online_store_max_items: ::core::option::Option<u64>,
952}
953#[derive(Clone, PartialEq, ::prost::Message)]
954pub struct FeatureTimeFeatureType {
955 #[prost(string, tag = "1")]
956 pub name: ::prost::alloc::string::String,
957 #[prost(string, tag = "2")]
958 pub namespace: ::prost::alloc::string::String,
959 #[prost(bool, tag = "3")]
960 pub is_autogenerated: bool,
961 #[prost(string, repeated, tag = "4")]
962 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
963 #[prost(string, optional, tag = "5")]
964 pub description: ::core::option::Option<::prost::alloc::string::String>,
965 #[prost(string, optional, tag = "6")]
966 pub owner: ::core::option::Option<::prost::alloc::string::String>,
967 #[prost(string, tag = "7")]
968 pub attribute_name: ::prost::alloc::string::String,
969}
970#[derive(Clone, PartialEq, ::prost::Message)]
971pub struct WindowedFeatureType {
972 #[prost(string, tag = "1")]
973 pub name: ::prost::alloc::string::String,
974 #[prost(string, tag = "2")]
975 pub namespace: ::prost::alloc::string::String,
976 #[prost(bool, tag = "3")]
977 pub is_autogenerated: bool,
978 #[prost(message, repeated, tag = "4")]
979 pub window_durations: ::prost::alloc::vec::Vec<::prost_types::Duration>,
980 #[prost(string, tag = "5")]
981 pub attribute_name: ::prost::alloc::string::String,
982 #[prost(string, tag = "6")]
983 pub unversioned_attribute_name: ::prost::alloc::string::String,
984}
985#[derive(Clone, PartialEq, ::prost::Message)]
986pub struct WindowAggregation {
987 #[prost(string, tag = "1")]
988 pub namespace: ::prost::alloc::string::String,
989 #[prost(message, repeated, tag = "2")]
990 pub group_by: ::prost::alloc::vec::Vec<FeatureReference>,
991 #[prost(message, optional, tag = "3")]
992 pub bucket_duration: ::core::option::Option<::prost_types::Duration>,
993 #[prost(string, tag = "4")]
994 pub aggregation: ::prost::alloc::string::String,
995 #[prost(message, optional, tag = "5")]
996 pub aggregate_on: ::core::option::Option<FeatureReference>,
997 #[prost(message, optional, tag = "6")]
998 pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
999 #[prost(message, repeated, tag = "7")]
1000 pub filters: ::prost::alloc::vec::Vec<super::super::expression::v1::LogicalExprNode>,
1001 #[prost(string, optional, tag = "8")]
1005 pub backfill_resolver: ::core::option::Option<::prost::alloc::string::String>,
1006 #[prost(message, optional, tag = "9")]
1010 pub backfill_lookback_duration: ::core::option::Option<::prost_types::Duration>,
1011 #[prost(message, optional, tag = "10")]
1015 pub backfill_start_time: ::core::option::Option<::prost_types::Timestamp>,
1016 #[prost(string, optional, tag = "11")]
1020 pub continuous_resolver: ::core::option::Option<::prost::alloc::string::String>,
1021 #[prost(message, optional, tag = "12")]
1025 pub continuous_buffer_duration: ::core::option::Option<::prost_types::Duration>,
1026 #[prost(string, optional, tag = "13")]
1029 pub backfill_schedule: ::core::option::Option<::prost::alloc::string::String>,
1030 #[prost(message, optional, tag = "14")]
1032 pub bucket_start: ::core::option::Option<::prost_types::Timestamp>,
1033 #[prost(int64, optional, tag = "15")]
1035 pub approx_top_k_arg_k: ::core::option::Option<i64>,
1036}
1037#[derive(Clone, PartialEq, ::prost::Message)]
1038pub struct WindowInfo {
1039 #[prost(message, optional, tag = "1")]
1040 pub duration: ::core::option::Option<::prost_types::Duration>,
1041 #[prost(message, optional, tag = "2")]
1042 pub aggregation: ::core::option::Option<WindowAggregation>,
1043}
1044#[derive(Clone, PartialEq, ::prost::Message)]
1045pub struct FeatureInput {
1046 #[prost(message, optional, tag = "1")]
1047 pub feature: ::core::option::Option<FeatureReference>,
1048 #[prost(message, optional, tag = "2")]
1049 pub default_value: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
1050}
1051#[derive(Clone, PartialEq, ::prost::Message)]
1052pub struct ResolverInput {
1053 #[prost(oneof = "resolver_input::Annotation", tags = "1, 2, 3")]
1054 pub annotation: ::core::option::Option<resolver_input::Annotation>,
1055}
1056pub mod resolver_input {
1058 #[derive(Clone, PartialEq, ::prost::Oneof)]
1059 pub enum Annotation {
1060 #[prost(message, tag = "1")]
1061 Feature(super::FeatureInput),
1062 #[prost(message, tag = "2")]
1063 Df(super::DataFrameType),
1064 #[prost(message, tag = "3")]
1065 State(super::ResolverState),
1066 }
1067}
1068#[derive(Clone, PartialEq, ::prost::Message)]
1069pub struct ResolverOutput {
1070 #[prost(oneof = "resolver_output::Annotation", tags = "1, 2")]
1071 pub annotation: ::core::option::Option<resolver_output::Annotation>,
1072}
1073pub mod resolver_output {
1075 #[derive(Clone, PartialEq, ::prost::Oneof)]
1076 pub enum Annotation {
1077 #[prost(message, tag = "1")]
1078 Feature(super::FeatureReference),
1079 #[prost(message, tag = "2")]
1080 Df(super::DataFrameType),
1081 }
1082}
1083#[derive(Clone, PartialEq, ::prost::Message)]
1084pub struct Resolver {
1085 #[prost(string, tag = "1")]
1086 pub fqn: ::prost::alloc::string::String,
1087 #[prost(enumeration = "ResolverKind", tag = "2")]
1088 pub kind: i32,
1089 #[prost(message, repeated, tag = "3")]
1090 pub inputs: ::prost::alloc::vec::Vec<ResolverInput>,
1091 #[prost(message, repeated, tag = "4")]
1092 pub outputs: ::prost::alloc::vec::Vec<ResolverOutput>,
1093 #[prost(bool, tag = "5")]
1094 pub is_generator: bool,
1095 #[deprecated]
1097 #[prost(message, repeated, tag = "6")]
1098 pub data_sources: ::prost::alloc::vec::Vec<DatabaseSourceReference>,
1099 #[prost(string, optional, tag = "7")]
1100 pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
1101 #[prost(string, repeated, tag = "8")]
1102 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1103 #[prost(string, optional, tag = "9")]
1104 pub owner: ::core::option::Option<::prost::alloc::string::String>,
1105 #[prost(string, optional, tag = "10")]
1107 pub doc: ::core::option::Option<::prost::alloc::string::String>,
1108 #[prost(string, repeated, tag = "11")]
1109 pub environments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1110 #[prost(message, optional, tag = "12")]
1111 pub timeout_duration: ::core::option::Option<::prost_types::Duration>,
1112 #[prost(message, optional, tag = "13")]
1113 pub schedule: ::core::option::Option<Schedule>,
1114 #[prost(message, optional, tag = "14")]
1115 pub when: ::core::option::Option<super::super::expression::v1::LogicalExprNode>,
1116 #[prost(message, optional, tag = "15")]
1117 pub cron_filter: ::core::option::Option<CronFilterWithFeatureArgs>,
1118 #[prost(message, optional, tag = "16")]
1119 pub function: ::core::option::Option<FunctionReference>,
1120 #[prost(enumeration = "ResourceHint", tag = "17")]
1121 pub resource_hint: i32,
1122 #[prost(bool, tag = "18")]
1123 pub is_static: bool,
1124 #[prost(enumeration = "AcceleratePython", tag = "31")]
1125 pub accelerate_python: i32,
1126 #[prost(bool, optional, tag = "19")]
1127 pub is_total: ::core::option::Option<bool>,
1128 #[prost(string, repeated, tag = "20")]
1129 pub unique_on: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1130 #[prost(string, repeated, tag = "21")]
1131 pub partitioned_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1132 #[prost(message, repeated, tag = "22")]
1133 pub data_sources_v2: ::prost::alloc::vec::Vec<super::v2::DatabaseSourceReference>,
1134 #[prost(message, optional, tag = "23")]
1135 pub static_operation: ::core::option::Option<
1136 super::super::expression::v1::LogicalExprNode,
1137 >,
1138 #[prost(message, optional, tag = "30")]
1139 pub static_operation_dataframe: ::core::option::Option<
1140 super::super::dataframe::v1::DataFramePlan,
1141 >,
1142 #[prost(message, optional, tag = "24")]
1143 pub sql_settings: ::core::option::Option<SqlResolverSettings>,
1144 #[prost(string, optional, tag = "25")]
1145 pub resource_group: ::core::option::Option<::prost::alloc::string::String>,
1146 #[prost(string, optional, tag = "26")]
1147 pub output_row_order: ::core::option::Option<::prost::alloc::string::String>,
1148 #[prost(string, optional, tag = "27")]
1149 pub venv: ::core::option::Option<::prost::alloc::string::String>,
1150 #[prost(oneof = "resolver::Postprocessing", tags = "28, 29")]
1153 pub postprocessing: ::core::option::Option<resolver::Postprocessing>,
1154}
1155pub mod resolver {
1157 #[derive(Clone, PartialEq, ::prost::Oneof)]
1160 pub enum Postprocessing {
1161 #[prost(message, tag = "28")]
1165 UnderscoreExpr(super::super::super::expression::v1::LogicalExprNode),
1166 #[prost(message, tag = "29")]
1168 LazyframeExpr(super::super::super::expression::v1::LogicalExprNode),
1169 }
1170}
1171#[derive(Clone, PartialEq, ::prost::Message)]
1172pub struct SinkResolver {
1173 #[prost(string, tag = "1")]
1174 pub fqn: ::prost::alloc::string::String,
1175 #[prost(message, repeated, tag = "2")]
1176 pub inputs: ::prost::alloc::vec::Vec<ResolverInput>,
1177 #[prost(uint64, optional, tag = "3")]
1178 pub buffer_size: ::core::option::Option<u64>,
1179 #[prost(message, optional, tag = "4")]
1180 pub debounce_duration: ::core::option::Option<::prost_types::Duration>,
1181 #[prost(message, optional, tag = "5")]
1182 pub max_delay_duration: ::core::option::Option<::prost_types::Duration>,
1183 #[prost(bool, tag = "6")]
1184 pub upsert: bool,
1185 #[prost(string, optional, tag = "9")]
1186 pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
1187 #[prost(string, optional, tag = "10")]
1188 pub doc: ::core::option::Option<::prost::alloc::string::String>,
1189 #[prost(string, optional, tag = "11")]
1190 pub owner: ::core::option::Option<::prost::alloc::string::String>,
1191 #[prost(string, repeated, tag = "12")]
1192 pub environments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1193 #[prost(message, optional, tag = "13")]
1194 pub timeout_duration: ::core::option::Option<::prost_types::Duration>,
1195 #[prost(message, optional, tag = "14")]
1196 pub function: ::core::option::Option<FunctionReference>,
1197 #[prost(oneof = "sink_resolver::Integration", tags = "7, 8, 15, 16")]
1198 pub integration: ::core::option::Option<sink_resolver::Integration>,
1199}
1200pub mod sink_resolver {
1202 #[derive(Clone, PartialEq, ::prost::Oneof)]
1203 pub enum Integration {
1204 #[prost(message, tag = "7")]
1206 StreamSource(super::StreamSourceReference),
1207 #[prost(message, tag = "8")]
1209 DatabaseSource(super::DatabaseSourceReference),
1210 #[prost(message, tag = "15")]
1211 StreamSourceV2(super::super::v2::StreamSourceReference),
1212 #[prost(message, tag = "16")]
1213 DatabaseSourceV2(super::super::v2::DatabaseSourceReference),
1214 }
1215}
1216#[derive(Clone, PartialEq, ::prost::Message)]
1217pub struct ParseInfo {
1218 #[prost(message, optional, tag = "1")]
1219 pub parse_function: ::core::option::Option<FunctionReference>,
1220 #[prost(message, optional, tag = "2")]
1221 pub parse_function_input_type: ::core::option::Option<
1222 super::super::arrow::v1::ArrowType,
1223 >,
1224 #[prost(message, optional, tag = "3")]
1225 pub parse_function_output_type: ::core::option::Option<
1226 super::super::arrow::v1::ArrowType,
1227 >,
1228 #[prost(bool, tag = "4")]
1229 pub is_parse_function_output_optional: bool,
1230 #[prost(string, tag = "5")]
1232 pub parse_function_input_type_name: ::prost::alloc::string::String,
1233 #[prost(string, tag = "6")]
1234 pub parse_function_output_type_name: ::prost::alloc::string::String,
1235 #[prost(oneof = "parse_info::ParseExpression", tags = "7")]
1236 pub parse_expression: ::core::option::Option<parse_info::ParseExpression>,
1237}
1238pub mod parse_info {
1240 #[derive(Clone, PartialEq, ::prost::Oneof)]
1241 pub enum ParseExpression {
1242 #[prost(message, tag = "7")]
1243 UnderscoreExpr(super::super::super::expression::v1::LogicalExprNode),
1244 }
1245}
1246#[derive(Clone, PartialEq, ::prost::Message)]
1251pub struct FeatureExpression {
1252 #[prost(oneof = "feature_expression::Expr", tags = "1")]
1253 pub expr: ::core::option::Option<feature_expression::Expr>,
1254}
1255pub mod feature_expression {
1257 #[derive(Clone, PartialEq, ::prost::Oneof)]
1258 pub enum Expr {
1259 #[prost(message, tag = "1")]
1261 UnderscoreExpr(super::super::super::expression::v1::LogicalExprNode),
1262 }
1263}
1264#[derive(Clone, PartialEq, ::prost::Message)]
1265pub struct StreamResolver {
1266 #[prost(string, tag = "1")]
1267 pub fqn: ::prost::alloc::string::String,
1268 #[prost(message, repeated, tag = "2")]
1269 pub params: ::prost::alloc::vec::Vec<StreamResolverParam>,
1270 #[prost(message, repeated, tag = "3")]
1271 pub outputs: ::prost::alloc::vec::Vec<ResolverOutput>,
1272 #[prost(message, optional, tag = "4")]
1273 pub explicit_schema: ::core::option::Option<super::super::arrow::v1::ArrowType>,
1274 #[prost(message, repeated, tag = "5")]
1275 pub keys: ::prost::alloc::vec::Vec<StreamKey>,
1276 #[deprecated]
1277 #[prost(message, optional, tag = "6")]
1278 pub source: ::core::option::Option<StreamSourceReference>,
1279 #[prost(message, optional, tag = "7")]
1280 pub parse_info: ::core::option::Option<ParseInfo>,
1281 #[prost(enumeration = "WindowMode", tag = "8")]
1282 pub mode: i32,
1283 #[prost(string, repeated, tag = "9")]
1284 pub environments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1285 #[prost(message, optional, tag = "10")]
1286 pub timeout_duration: ::core::option::Option<::prost_types::Duration>,
1287 #[prost(string, optional, tag = "11")]
1288 pub timestamp_attribute_name: ::core::option::Option<::prost::alloc::string::String>,
1289 #[prost(string, optional, tag = "12")]
1290 pub owner: ::core::option::Option<::prost::alloc::string::String>,
1291 #[prost(string, optional, tag = "13")]
1292 pub doc: ::core::option::Option<::prost::alloc::string::String>,
1293 #[prost(string, optional, tag = "14")]
1294 pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
1295 #[prost(message, optional, tag = "15")]
1296 pub function: ::core::option::Option<FunctionReference>,
1297 #[prost(message, optional, tag = "16")]
1298 pub source_v2: ::core::option::Option<super::v2::StreamSourceReference>,
1299 #[prost(bool, tag = "17")]
1300 pub updates_materialized_aggregations: bool,
1301 #[prost(map = "string, message", tag = "18")]
1304 pub feature_expressions: ::std::collections::HashMap<
1305 ::prost::alloc::string::String,
1306 FeatureExpression,
1307 >,
1308 #[prost(message, optional, tag = "19")]
1309 pub message_producer: ::core::option::Option<StreamResolverMessageProducerParsed>,
1310 #[prost(bool, tag = "20")]
1313 pub skip_online: bool,
1314 #[prost(bool, tag = "21")]
1317 pub skip_offline: bool,
1318}
1319#[derive(Clone, PartialEq, ::prost::Message)]
1320pub struct StreamResolverMessageProducerParsed {
1321 #[prost(message, optional, tag = "1")]
1322 pub send_to: ::core::option::Option<super::v2::StreamSourceReference>,
1323 #[prost(string, repeated, tag = "2")]
1324 pub output_features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1325 #[prost(map = "string, message", tag = "3")]
1326 pub transformations: ::std::collections::HashMap<
1327 ::prost::alloc::string::String,
1328 FeatureExpression,
1329 >,
1330 #[prost(string, tag = "4")]
1331 pub format: ::prost::alloc::string::String,
1332}
1333#[derive(Clone, PartialEq, ::prost::Message)]
1334pub struct ResolverState {
1335 #[prost(message, optional, tag = "1")]
1336 pub initial: ::core::option::Option<super::super::arrow::v1::ScalarValue>,
1337 #[prost(message, optional, tag = "2")]
1338 pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
1339}
1340#[derive(Clone, PartialEq, ::prost::Message)]
1341pub struct StreamResolverParam {
1342 #[prost(oneof = "stream_resolver_param::Type", tags = "1, 2, 3")]
1343 pub r#type: ::core::option::Option<stream_resolver_param::Type>,
1344}
1345pub mod stream_resolver_param {
1347 #[derive(Clone, PartialEq, ::prost::Oneof)]
1348 pub enum Type {
1349 #[prost(message, tag = "1")]
1350 Message(super::StreamResolverParamMessage),
1351 #[prost(message, tag = "2")]
1352 MessageWindow(super::StreamResolverParamMessageWindow),
1353 #[prost(message, tag = "3")]
1354 State(super::ResolverState),
1355 }
1356}
1357#[derive(Clone, PartialEq, ::prost::Message)]
1358pub struct StreamResolverParamMessageWindow {
1359 #[prost(string, tag = "1")]
1360 pub name: ::prost::alloc::string::String,
1361 #[prost(message, optional, tag = "2")]
1362 pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
1363}
1364#[derive(Clone, PartialEq, ::prost::Message)]
1365pub struct StreamResolverParamMessage {
1366 #[prost(string, tag = "1")]
1367 pub name: ::prost::alloc::string::String,
1368 #[prost(message, optional, tag = "2")]
1369 pub arrow_type: ::core::option::Option<super::super::arrow::v1::ArrowType>,
1370 #[prost(oneof = "stream_resolver_param_message::StructType", tags = "3, 4, 5")]
1373 pub struct_type: ::core::option::Option<stream_resolver_param_message::StructType>,
1374}
1375pub mod stream_resolver_param_message {
1377 #[derive(Clone, PartialEq, ::prost::Oneof)]
1380 pub enum StructType {
1381 #[prost(message, tag = "3")]
1382 Empty(()),
1383 #[prost(message, tag = "4")]
1384 Struct(super::FunctionGlobalCapturedStruct),
1385 #[prost(message, tag = "5")]
1386 Proto(super::FunctionGlobalCapturedProto),
1387 }
1388}
1389#[derive(Clone, PartialEq, ::prost::Message)]
1390pub struct FunctionReference {
1391 #[prost(string, tag = "1")]
1392 pub name: ::prost::alloc::string::String,
1393 #[prost(string, tag = "2")]
1394 pub module: ::prost::alloc::string::String,
1395 #[prost(string, tag = "3")]
1396 pub file_name: ::prost::alloc::string::String,
1397 #[prost(string, tag = "4")]
1398 pub function_definition: ::prost::alloc::string::String,
1399 #[prost(int32, optional, tag = "5")]
1400 pub source_line: ::core::option::Option<i32>,
1401 #[prost(message, repeated, tag = "6")]
1402 pub captured_globals: ::prost::alloc::vec::Vec<FunctionReferenceCapturedGlobal>,
1403}
1404#[derive(Clone, PartialEq, ::prost::Message)]
1405pub struct FunctionReferenceCapturedGlobal {
1406 #[prost(string, tag = "3")]
1407 pub global_name: ::prost::alloc::string::String,
1408 #[prost(message, optional, tag = "9")]
1409 pub source_reference: ::core::option::Option<SourceFileReference>,
1410 #[prost(
1411 oneof = "function_reference_captured_global::CapturedGlobal",
1412 tags = "1, 2, 4, 5, 7, 6, 8, 10, 11"
1413 )]
1414 pub captured_global: ::core::option::Option<
1415 function_reference_captured_global::CapturedGlobal,
1416 >,
1417}
1418pub mod function_reference_captured_global {
1420 #[derive(Clone, PartialEq, ::prost::Oneof)]
1421 pub enum CapturedGlobal {
1422 #[prost(message, tag = "1")]
1423 Builtin(super::FunctionGlobalCapturedBuiltin),
1424 #[prost(message, tag = "2")]
1425 FeatureClass(super::FunctionGlobalCapturedFeatureClass),
1426 #[prost(message, tag = "4")]
1427 Enum(super::FunctionGlobalCapturedEnum),
1428 #[prost(message, tag = "5")]
1429 Module(super::FunctionGlobalCapturedModule),
1430 #[prost(message, tag = "7")]
1431 ModuleMember(super::FunctionGlobalCapturedModuleMember),
1432 #[prost(message, tag = "6")]
1433 Function(super::FunctionGlobalCapturedFunction),
1434 #[prost(message, tag = "8")]
1435 Struct(super::FunctionGlobalCapturedStruct),
1436 #[prost(message, tag = "10")]
1437 Variable(super::FunctionGlobalCapturedVariable),
1438 #[prost(message, tag = "11")]
1439 Proto(super::FunctionGlobalCapturedProto),
1440 }
1441}
1442#[derive(Clone, PartialEq, ::prost::Message)]
1443pub struct FunctionGlobalCapturedBuiltin {
1444 #[prost(string, tag = "1")]
1445 pub builtin_name: ::prost::alloc::string::String,
1446}
1447#[derive(Clone, PartialEq, ::prost::Message)]
1448pub struct FunctionGlobalCapturedVariable {
1449 #[prost(string, tag = "1")]
1450 pub module: ::prost::alloc::string::String,
1451 #[prost(string, tag = "2")]
1452 pub name: ::prost::alloc::string::String,
1453}
1454#[derive(Clone, PartialEq, ::prost::Message)]
1455pub struct FunctionGlobalCapturedStruct {
1456 #[prost(string, tag = "1")]
1457 pub module: ::prost::alloc::string::String,
1458 #[prost(string, tag = "2")]
1459 pub name: ::prost::alloc::string::String,
1460 #[prost(message, optional, tag = "3")]
1461 pub pa_dtype: ::core::option::Option<super::super::arrow::v1::ArrowType>,
1462}
1463#[derive(Clone, PartialEq, ::prost::Message)]
1464pub struct FunctionGlobalCapturedEnum {
1465 #[prost(string, tag = "1")]
1466 pub module: ::prost::alloc::string::String,
1467 #[prost(string, tag = "2")]
1468 pub name: ::prost::alloc::string::String,
1469 #[prost(map = "string, message", tag = "3")]
1470 pub member_map: ::std::collections::HashMap<
1471 ::prost::alloc::string::String,
1472 super::super::arrow::v1::ScalarValue,
1473 >,
1474 #[prost(message, repeated, tag = "4")]
1475 pub bases: ::prost::alloc::vec::Vec<super::super::arrow::v1::ArrowType>,
1476}
1477#[derive(Clone, PartialEq, ::prost::Message)]
1478pub struct FunctionGlobalCapturedFeatureClass {
1479 #[prost(string, tag = "1")]
1480 pub feature_class_name: ::prost::alloc::string::String,
1481}
1482#[derive(Clone, PartialEq, ::prost::Message)]
1483pub struct FunctionGlobalCapturedModule {
1484 #[prost(string, tag = "1")]
1485 pub name: ::prost::alloc::string::String,
1486}
1487#[derive(Clone, PartialEq, ::prost::Message)]
1488pub struct FunctionGlobalCapturedModuleMember {
1489 #[prost(string, tag = "1")]
1493 pub module_name: ::prost::alloc::string::String,
1494 #[prost(string, tag = "2")]
1496 pub qualname: ::prost::alloc::string::String,
1497}
1498#[derive(Clone, PartialEq, ::prost::Message)]
1499pub struct FunctionGlobalCapturedFunction {
1500 #[prost(string, tag = "1")]
1501 pub source: ::prost::alloc::string::String,
1502 #[prost(message, repeated, tag = "2")]
1503 pub captured_globals: ::prost::alloc::vec::Vec<FunctionReferenceCapturedGlobal>,
1504 #[prost(string, optional, tag = "3")]
1505 pub module: ::core::option::Option<::prost::alloc::string::String>,
1506 #[prost(string, tag = "4")]
1507 pub name: ::prost::alloc::string::String,
1508}
1509#[derive(Clone, PartialEq, ::prost::Message)]
1510pub struct FunctionGlobalCapturedProto {
1511 #[prost(string, tag = "1")]
1512 pub module: ::prost::alloc::string::String,
1513 #[prost(string, tag = "2")]
1514 pub name: ::prost::alloc::string::String,
1515 #[deprecated]
1516 #[prost(bytes = "vec", tag = "3")]
1517 pub fd: ::prost::alloc::vec::Vec<u8>,
1518 #[prost(bytes = "vec", tag = "6")]
1519 pub serialized_fd: ::prost::alloc::vec::Vec<u8>,
1520 #[prost(message, optional, tag = "4")]
1521 pub pa_dtype: ::core::option::Option<super::super::arrow::v1::ArrowType>,
1522 #[prost(string, tag = "5")]
1523 pub full_name: ::prost::alloc::string::String,
1524}
1525#[derive(Clone, PartialEq, ::prost::Message)]
1526pub struct SourceFileReference {
1527 #[prost(message, optional, tag = "1")]
1528 pub range: ::core::option::Option<super::super::lsp::v1::Range>,
1529 #[prost(string, optional, tag = "2")]
1530 pub code: ::core::option::Option<::prost::alloc::string::String>,
1531 #[prost(string, tag = "3")]
1532 pub file_name: ::prost::alloc::string::String,
1533}
1534#[derive(Clone, PartialEq, ::prost::Message)]
1535pub struct StreamKey {
1536 #[prost(string, tag = "1")]
1537 pub key: ::prost::alloc::string::String,
1538 #[prost(message, optional, tag = "2")]
1539 pub feature: ::core::option::Option<FeatureReference>,
1540}
1541#[derive(Clone, PartialEq, ::prost::Message)]
1542pub struct SqlResolverSettings {
1543 #[prost(enumeration = "Finalizer", tag = "1")]
1544 pub finalizer: i32,
1545 #[prost(message, optional, tag = "2")]
1546 pub incremental_settings: ::core::option::Option<IncrementalSettings>,
1547 #[prost(map = "string, string", tag = "3")]
1548 pub fields_root_fqn: ::std::collections::HashMap<
1549 ::prost::alloc::string::String,
1550 ::prost::alloc::string::String,
1551 >,
1552 #[prost(map = "string, string", tag = "4")]
1553 pub escaped_param_name_to_fqn: ::std::collections::HashMap<
1554 ::prost::alloc::string::String,
1555 ::prost::alloc::string::String,
1556 >,
1557}
1558#[derive(Clone, PartialEq, ::prost::Message)]
1559pub struct IncrementalSettings {
1560 #[prost(enumeration = "IncrementalMode", tag = "1")]
1561 pub mode: i32,
1562 #[prost(message, optional, tag = "2")]
1563 pub lookback_period: ::core::option::Option<::prost_types::Duration>,
1564 #[prost(string, optional, tag = "3")]
1565 pub incremental_column: ::core::option::Option<::prost::alloc::string::String>,
1566 #[prost(enumeration = "IncrementalTimestampMode", tag = "4")]
1567 pub timestamp_mode: i32,
1568}
1569#[derive(Clone, PartialEq, ::prost::Message)]
1570pub struct SqlResolverCommentDict {
1571 #[prost(bool, optional, tag = "1")]
1572 pub total: ::core::option::Option<bool>,
1573 #[prost(string, optional, tag = "2")]
1574 pub source: ::core::option::Option<::prost::alloc::string::String>,
1575 #[prost(string, optional, tag = "3")]
1576 pub resolves: ::core::option::Option<::prost::alloc::string::String>,
1577 #[prost(string, optional, tag = "4")]
1578 pub namespace: ::core::option::Option<::prost::alloc::string::String>,
1579 #[prost(message, optional, tag = "5")]
1580 pub incremental: ::core::option::Option<IncrementalSettings>,
1581 #[prost(string, repeated, tag = "6")]
1582 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1583 #[prost(string, repeated, tag = "7")]
1584 pub environment: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1585 #[prost(enumeration = "Finalizer", optional, tag = "8")]
1586 pub count: ::core::option::Option<i32>,
1587 #[prost(message, optional, tag = "9")]
1588 pub cron: ::core::option::Option<Schedule>,
1589 #[prost(string, optional, tag = "10")]
1590 pub machine_type: ::core::option::Option<::prost::alloc::string::String>,
1591 #[prost(string, optional, tag = "11")]
1592 pub owner: ::core::option::Option<::prost::alloc::string::String>,
1593 #[prost(string, optional, tag = "12")]
1594 pub r#type: ::core::option::Option<::prost::alloc::string::String>,
1595 #[prost(string, optional, tag = "13")]
1596 pub timeout: ::core::option::Option<::prost::alloc::string::String>,
1597 #[prost(map = "string, string", tag = "14")]
1598 pub fields: ::std::collections::HashMap<
1599 ::prost::alloc::string::String,
1600 ::prost::alloc::string::String,
1601 >,
1602 #[prost(string, repeated, tag = "15")]
1603 pub unique_on: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1604 #[prost(string, repeated, tag = "16")]
1605 pub partitioned_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1606}
1607#[derive(Clone, PartialEq, ::prost::Message)]
1608pub struct SqlResolverInfo {
1609 #[prost(string, tag = "1")]
1611 pub name: ::prost::alloc::string::String,
1612 #[prost(string, optional, tag = "2")]
1615 pub filepath: ::core::option::Option<::prost::alloc::string::String>,
1616 #[prost(string, tag = "3")]
1618 pub sql_string: ::prost::alloc::string::String,
1619 #[prost(message, optional, tag = "4")]
1622 pub override_comment_dict: ::core::option::Option<SqlResolverCommentDict>,
1623}
1624#[derive(Clone, PartialEq, ::prost::Message)]
1625pub struct CronFilterWithFeatureArgs {
1626 #[prost(message, optional, tag = "1")]
1627 pub filter: ::core::option::Option<FunctionReference>,
1628 #[prost(message, repeated, tag = "2")]
1629 pub args: ::prost::alloc::vec::Vec<FeatureReference>,
1630}
1631#[derive(Clone, PartialEq, ::prost::Message)]
1632pub struct Schedule {
1633 #[prost(message, optional, tag = "3")]
1634 pub filter: ::core::option::Option<FunctionReference>,
1635 #[prost(message, optional, tag = "4")]
1636 pub sample: ::core::option::Option<FunctionReference>,
1637 #[prost(oneof = "schedule::Schedule", tags = "1, 2")]
1638 pub schedule: ::core::option::Option<schedule::Schedule>,
1639}
1640pub mod schedule {
1642 #[derive(Clone, PartialEq, ::prost::Oneof)]
1643 pub enum Schedule {
1644 #[prost(string, tag = "1")]
1645 Crontab(::prost::alloc::string::String),
1646 #[prost(message, tag = "2")]
1647 Duration(::prost_types::Duration),
1648 }
1649}
1650#[derive(Clone, PartialEq, ::prost::Message)]
1651pub struct FeatureValidation {
1652 #[prost(bool, tag = "5")]
1653 pub strict: bool,
1654 #[prost(
1655 oneof = "feature_validation::Validation",
1656 tags = "1, 2, 3, 4, 6, 7, 8, 9, 10"
1657 )]
1658 pub validation: ::core::option::Option<feature_validation::Validation>,
1659}
1660pub mod feature_validation {
1662 #[derive(Clone, PartialEq, ::prost::Oneof)]
1663 pub enum Validation {
1664 #[prost(float, tag = "1")]
1667 Min(f32),
1668 #[prost(float, tag = "2")]
1669 Max(f32),
1670 #[prost(uint32, tag = "3")]
1671 MinLength(u32),
1672 #[prost(uint32, tag = "4")]
1673 MaxLength(u32),
1674 #[prost(message, tag = "6")]
1675 MinArrow(super::super::super::arrow::v1::ScalarValue),
1676 #[prost(message, tag = "7")]
1677 MaxArrow(super::super::super::arrow::v1::ScalarValue),
1678 #[prost(message, tag = "8")]
1679 MinLengthArrow(super::super::super::arrow::v1::ScalarValue),
1680 #[prost(message, tag = "9")]
1681 MaxLengthArrow(super::super::super::arrow::v1::ScalarValue),
1682 #[prost(message, tag = "10")]
1683 Contains(super::super::super::arrow::v1::ScalarValue),
1684 }
1685}
1686#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1687pub struct VersionInfo {
1688 #[prost(uint32, tag = "1")]
1689 pub default: u32,
1690 #[prost(uint32, tag = "2")]
1691 pub maximum: u32,
1692}
1693#[derive(Clone, PartialEq, ::prost::Message)]
1694pub struct StrictValidation {
1695 #[prost(message, optional, tag = "1")]
1696 pub feature: ::core::option::Option<FeatureReference>,
1697 #[prost(message, repeated, tag = "2")]
1698 pub validations: ::prost::alloc::vec::Vec<FeatureValidation>,
1699}
1700#[derive(Clone, PartialEq, ::prost::Message)]
1701pub struct FeatureEncoder {
1702 #[prost(oneof = "feature_encoder::Encoder", tags = "1")]
1703 pub encoder: ::core::option::Option<feature_encoder::Encoder>,
1704}
1705pub mod feature_encoder {
1707 #[derive(Clone, PartialEq, ::prost::Oneof)]
1708 pub enum Encoder {
1709 #[prost(message, tag = "1")]
1710 GlobalFunctionReference(super::FunctionGlobalCapturedFunction),
1711 }
1712}
1713#[derive(Clone, PartialEq, ::prost::Message)]
1714pub struct FeatureDecoder {
1715 #[prost(oneof = "feature_decoder::Decoder", tags = "1")]
1716 pub decoder: ::core::option::Option<feature_decoder::Decoder>,
1717}
1718pub mod feature_decoder {
1720 #[derive(Clone, PartialEq, ::prost::Oneof)]
1721 pub enum Decoder {
1722 #[prost(message, tag = "1")]
1723 GlobalFunctionReference(super::FunctionGlobalCapturedFunction),
1724 }
1725}
1726#[derive(Clone, PartialEq, ::prost::Message)]
1729pub struct RichClassType {
1730 #[prost(string, tag = "1")]
1731 pub module_name: ::prost::alloc::string::String,
1732 #[prost(string, tag = "2")]
1733 pub qualname: ::prost::alloc::string::String,
1734 #[prost(message, repeated, tag = "3")]
1736 pub params: ::prost::alloc::vec::Vec<RichClassType>,
1737}
1738#[derive(Clone, PartialEq, ::prost::Message)]
1739pub struct FeatureRichType {
1740 #[prost(oneof = "feature_rich_type::Type", tags = "1")]
1741 pub r#type: ::core::option::Option<feature_rich_type::Type>,
1742}
1743pub mod feature_rich_type {
1745 #[derive(Clone, PartialEq, ::prost::Oneof)]
1746 pub enum Type {
1747 #[prost(message, tag = "1")]
1748 ClassType(super::RichClassType),
1749 }
1750}
1751#[derive(Clone, PartialEq, ::prost::Message)]
1752pub struct FeatureRichTypeInfo {
1753 #[prost(bool, tag = "1")]
1754 pub rich_type_is_same_as_primitive_type: bool,
1755 #[prost(message, optional, tag = "2")]
1756 pub encoder: ::core::option::Option<FeatureEncoder>,
1757 #[prost(message, optional, tag = "3")]
1758 pub decoder: ::core::option::Option<FeatureDecoder>,
1759 #[prost(message, optional, tag = "4")]
1760 pub rich_type: ::core::option::Option<FeatureRichType>,
1761 #[prost(string, optional, tag = "5")]
1762 pub rich_type_name: ::core::option::Option<::prost::alloc::string::String>,
1763}
1764#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1766pub struct LruCacheConfig {
1767 #[prost(uint32, tag = "1")]
1768 pub max_size: u32,
1769 #[prost(message, optional, tag = "2")]
1770 pub ttl: ::core::option::Option<::prost_types::Duration>,
1771 #[prost(bool, tag = "3")]
1772 pub store_cache_misses: bool,
1773}
1774#[derive(Clone, PartialEq, ::prost::Message)]
1776pub struct OnlineStoreConfig {
1777 #[prost(string, tag = "1")]
1778 pub name: ::prost::alloc::string::String,
1779 #[prost(message, optional, tag = "2")]
1780 pub lru_cache: ::core::option::Option<LruCacheConfig>,
1781 #[prost(string, repeated, tag = "3")]
1782 pub feature_namespaces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1783 #[prost(message, optional, tag = "4")]
1784 pub source_file_reference: ::core::option::Option<SourceFileReference>,
1785}
1786#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1787#[repr(i32)]
1788pub enum CacheStrategy {
1789 Unspecified = 0,
1790 All = 1,
1791 NoNulls = 2,
1792 EvictNulls = 3,
1793 NoDefaults = 4,
1794 EvictDefaults = 5,
1795 NoNullsOrDefaults = 6,
1796 EvictNullsAndDefaults = 7,
1797}
1798impl CacheStrategy {
1799 pub fn as_str_name(&self) -> &'static str {
1804 match self {
1805 Self::Unspecified => "CACHE_STRATEGY_UNSPECIFIED",
1806 Self::All => "CACHE_STRATEGY_ALL",
1807 Self::NoNulls => "CACHE_STRATEGY_NO_NULLS",
1808 Self::EvictNulls => "CACHE_STRATEGY_EVICT_NULLS",
1809 Self::NoDefaults => "CACHE_STRATEGY_NO_DEFAULTS",
1810 Self::EvictDefaults => "CACHE_STRATEGY_EVICT_DEFAULTS",
1811 Self::NoNullsOrDefaults => "CACHE_STRATEGY_NO_NULLS_OR_DEFAULTS",
1812 Self::EvictNullsAndDefaults => "CACHE_STRATEGY_EVICT_NULLS_AND_DEFAULTS",
1813 }
1814 }
1815 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1817 match value {
1818 "CACHE_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
1819 "CACHE_STRATEGY_ALL" => Some(Self::All),
1820 "CACHE_STRATEGY_NO_NULLS" => Some(Self::NoNulls),
1821 "CACHE_STRATEGY_EVICT_NULLS" => Some(Self::EvictNulls),
1822 "CACHE_STRATEGY_NO_DEFAULTS" => Some(Self::NoDefaults),
1823 "CACHE_STRATEGY_EVICT_DEFAULTS" => Some(Self::EvictDefaults),
1824 "CACHE_STRATEGY_NO_NULLS_OR_DEFAULTS" => Some(Self::NoNullsOrDefaults),
1825 "CACHE_STRATEGY_EVICT_NULLS_AND_DEFAULTS" => {
1826 Some(Self::EvictNullsAndDefaults)
1827 }
1828 _ => None,
1829 }
1830 }
1831}
1832#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1833#[repr(i32)]
1834pub enum AcceleratePython {
1835 Unspecified = 0,
1836 Require = 1,
1837 Auto = 2,
1838 Never = 3,
1839}
1840impl AcceleratePython {
1841 pub fn as_str_name(&self) -> &'static str {
1846 match self {
1847 Self::Unspecified => "ACCELERATE_PYTHON_UNSPECIFIED",
1848 Self::Require => "ACCELERATE_PYTHON_REQUIRE",
1849 Self::Auto => "ACCELERATE_PYTHON_AUTO",
1850 Self::Never => "ACCELERATE_PYTHON_NEVER",
1851 }
1852 }
1853 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1855 match value {
1856 "ACCELERATE_PYTHON_UNSPECIFIED" => Some(Self::Unspecified),
1857 "ACCELERATE_PYTHON_REQUIRE" => Some(Self::Require),
1858 "ACCELERATE_PYTHON_AUTO" => Some(Self::Auto),
1859 "ACCELERATE_PYTHON_NEVER" => Some(Self::Never),
1860 _ => None,
1861 }
1862 }
1863}
1864#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1865#[repr(i32)]
1866pub enum ResolverKind {
1867 Unspecified = 0,
1868 Online = 1,
1869 Offline = 2,
1870}
1871impl ResolverKind {
1872 pub fn as_str_name(&self) -> &'static str {
1877 match self {
1878 Self::Unspecified => "RESOLVER_KIND_UNSPECIFIED",
1879 Self::Online => "RESOLVER_KIND_ONLINE",
1880 Self::Offline => "RESOLVER_KIND_OFFLINE",
1881 }
1882 }
1883 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1885 match value {
1886 "RESOLVER_KIND_UNSPECIFIED" => Some(Self::Unspecified),
1887 "RESOLVER_KIND_ONLINE" => Some(Self::Online),
1888 "RESOLVER_KIND_OFFLINE" => Some(Self::Offline),
1889 _ => None,
1890 }
1891 }
1892}
1893#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1894#[repr(i32)]
1895pub enum ResourceHint {
1896 Unspecified = 0,
1897 Cpu = 1,
1898 Io = 2,
1899 Gpu = 3,
1900}
1901impl ResourceHint {
1902 pub fn as_str_name(&self) -> &'static str {
1907 match self {
1908 Self::Unspecified => "RESOURCE_HINT_UNSPECIFIED",
1909 Self::Cpu => "RESOURCE_HINT_CPU",
1910 Self::Io => "RESOURCE_HINT_IO",
1911 Self::Gpu => "RESOURCE_HINT_GPU",
1912 }
1913 }
1914 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1916 match value {
1917 "RESOURCE_HINT_UNSPECIFIED" => Some(Self::Unspecified),
1918 "RESOURCE_HINT_CPU" => Some(Self::Cpu),
1919 "RESOURCE_HINT_IO" => Some(Self::Io),
1920 "RESOURCE_HINT_GPU" => Some(Self::Gpu),
1921 _ => None,
1922 }
1923 }
1924}
1925#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1926#[repr(i32)]
1927pub enum Finalizer {
1928 Unspecified = 0,
1929 OneOrNone = 1,
1930 One = 2,
1931 First = 3,
1932 All = 4,
1933}
1934impl Finalizer {
1935 pub fn as_str_name(&self) -> &'static str {
1940 match self {
1941 Self::Unspecified => "FINALIZER_UNSPECIFIED",
1942 Self::OneOrNone => "FINALIZER_ONE_OR_NONE",
1943 Self::One => "FINALIZER_ONE",
1944 Self::First => "FINALIZER_FIRST",
1945 Self::All => "FINALIZER_ALL",
1946 }
1947 }
1948 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1950 match value {
1951 "FINALIZER_UNSPECIFIED" => Some(Self::Unspecified),
1952 "FINALIZER_ONE_OR_NONE" => Some(Self::OneOrNone),
1953 "FINALIZER_ONE" => Some(Self::One),
1954 "FINALIZER_FIRST" => Some(Self::First),
1955 "FINALIZER_ALL" => Some(Self::All),
1956 _ => None,
1957 }
1958 }
1959}
1960#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1961#[repr(i32)]
1962pub enum IncrementalMode {
1963 Unspecified = 0,
1964 Row = 1,
1965 Group = 2,
1966 Parameter = 3,
1967}
1968impl IncrementalMode {
1969 pub fn as_str_name(&self) -> &'static str {
1974 match self {
1975 Self::Unspecified => "INCREMENTAL_MODE_UNSPECIFIED",
1976 Self::Row => "INCREMENTAL_MODE_ROW",
1977 Self::Group => "INCREMENTAL_MODE_GROUP",
1978 Self::Parameter => "INCREMENTAL_MODE_PARAMETER",
1979 }
1980 }
1981 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1983 match value {
1984 "INCREMENTAL_MODE_UNSPECIFIED" => Some(Self::Unspecified),
1985 "INCREMENTAL_MODE_ROW" => Some(Self::Row),
1986 "INCREMENTAL_MODE_GROUP" => Some(Self::Group),
1987 "INCREMENTAL_MODE_PARAMETER" => Some(Self::Parameter),
1988 _ => None,
1989 }
1990 }
1991}
1992#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1993#[repr(i32)]
1994pub enum IncrementalTimestampMode {
1995 Unspecified = 0,
1996 FeatureTime = 1,
1997 ResolverExecutionTime = 2,
1998}
1999impl IncrementalTimestampMode {
2000 pub fn as_str_name(&self) -> &'static str {
2005 match self {
2006 Self::Unspecified => "INCREMENTAL_TIMESTAMP_MODE_UNSPECIFIED",
2007 Self::FeatureTime => "INCREMENTAL_TIMESTAMP_MODE_FEATURE_TIME",
2008 Self::ResolverExecutionTime => {
2009 "INCREMENTAL_TIMESTAMP_MODE_RESOLVER_EXECUTION_TIME"
2010 }
2011 }
2012 }
2013 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2015 match value {
2016 "INCREMENTAL_TIMESTAMP_MODE_UNSPECIFIED" => Some(Self::Unspecified),
2017 "INCREMENTAL_TIMESTAMP_MODE_FEATURE_TIME" => Some(Self::FeatureTime),
2018 "INCREMENTAL_TIMESTAMP_MODE_RESOLVER_EXECUTION_TIME" => {
2019 Some(Self::ResolverExecutionTime)
2020 }
2021 _ => None,
2022 }
2023 }
2024}
2025#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2026#[repr(i32)]
2027pub enum WindowMode {
2028 Unspecified = 0,
2029 Continuous = 1,
2030 Tumbling = 2,
2031 Cdc = 3,
2032}
2033impl WindowMode {
2034 pub fn as_str_name(&self) -> &'static str {
2039 match self {
2040 Self::Unspecified => "WINDOW_MODE_UNSPECIFIED",
2041 Self::Continuous => "WINDOW_MODE_CONTINUOUS",
2042 Self::Tumbling => "WINDOW_MODE_TUMBLING",
2043 Self::Cdc => "WINDOW_MODE_CDC",
2044 }
2045 }
2046 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2048 match value {
2049 "WINDOW_MODE_UNSPECIFIED" => Some(Self::Unspecified),
2050 "WINDOW_MODE_CONTINUOUS" => Some(Self::Continuous),
2051 "WINDOW_MODE_TUMBLING" => Some(Self::Tumbling),
2052 "WINDOW_MODE_CDC" => Some(Self::Cdc),
2053 _ => None,
2054 }
2055 }
2056}