nominal_api_conjure/conjure/objects/ingest/api/
parquet_opts.rs1#[derive(
5 Debug,
6 Clone,
7 conjure_object::serde::Serialize,
8 conjure_object::serde::Deserialize,
9 PartialEq,
10 Eq,
11 PartialOrd,
12 Ord,
13 Hash
14)]
15#[serde(crate = "conjure_object::serde")]
16#[conjure_object::private::staged_builder::staged_builder]
17#[builder(crate = conjure_object::private::staged_builder, update, inline)]
18pub struct ParquetOpts {
19 #[builder(custom(type = super::IngestSource, convert = Box::new))]
20 #[serde(rename = "source")]
21 source: Box<super::IngestSource>,
22 #[builder(custom(type = super::DatasetIngestTarget, convert = Box::new))]
23 #[serde(rename = "target")]
24 target: Box<super::DatasetIngestTarget>,
25 #[builder(custom(type = super::TimestampMetadata, convert = Box::new))]
26 #[serde(rename = "timestampMetadata")]
27 timestamp_metadata: Box<super::TimestampMetadata>,
28 #[builder(default)]
29 #[serde(rename = "channelPrefix", skip_serializing_if = "Option::is_none", default)]
30 channel_prefix: super::ChannelPrefix,
31 #[builder(
32 default,
33 map(
34 key(type = super::super::super::api::ColumnName),
35 value(type = super::super::super::api::Channel)
36 )
37 )]
38 #[serde(
39 rename = "channelNameOverrides",
40 skip_serializing_if = "std::collections::BTreeMap::is_empty",
41 default
42 )]
43 channel_name_overrides: std::collections::BTreeMap<
44 super::super::super::api::ColumnName,
45 super::super::super::api::Channel,
46 >,
47 #[builder(default, into)]
48 #[serde(
49 rename = "tagKeysFromColumns",
50 skip_serializing_if = "Option::is_none",
51 default
52 )]
53 tag_keys_from_columns: Option<
54 std::collections::BTreeSet<super::super::super::api::TagName>,
55 >,
56 #[builder(default, into)]
57 #[serde(rename = "tagColumns", skip_serializing_if = "Option::is_none", default)]
58 tag_columns: Option<
59 std::collections::BTreeMap<
60 super::super::super::api::TagName,
61 super::super::super::api::ColumnName,
62 >,
63 >,
64 #[builder(default, into)]
65 #[serde(
66 rename = "additionalFileTags",
67 skip_serializing_if = "Option::is_none",
68 default
69 )]
70 additional_file_tags: Option<
71 std::collections::BTreeMap<
72 super::super::super::api::TagName,
73 super::super::super::api::TagValue,
74 >,
75 >,
76 #[builder(default, into)]
77 #[serde(rename = "isArchive", skip_serializing_if = "Option::is_none", default)]
78 is_archive: Option<bool>,
79 #[builder(default, set(item(type = super::super::super::api::ColumnName)))]
80 #[serde(
81 rename = "excludeColumns",
82 skip_serializing_if = "std::collections::BTreeSet::is_empty",
83 default
84 )]
85 exclude_columns: std::collections::BTreeSet<super::super::super::api::ColumnName>,
86}
87impl ParquetOpts {
88 #[inline]
90 pub fn new(
91 source: super::IngestSource,
92 target: super::DatasetIngestTarget,
93 timestamp_metadata: super::TimestampMetadata,
94 ) -> Self {
95 Self::builder()
96 .source(source)
97 .target(target)
98 .timestamp_metadata(timestamp_metadata)
99 .build()
100 }
101 #[inline]
102 pub fn source(&self) -> &super::IngestSource {
103 &*self.source
104 }
105 #[inline]
106 pub fn target(&self) -> &super::DatasetIngestTarget {
107 &*self.target
108 }
109 #[inline]
110 pub fn timestamp_metadata(&self) -> &super::TimestampMetadata {
111 &*self.timestamp_metadata
112 }
113 #[inline]
114 pub fn channel_prefix(&self) -> &super::ChannelPrefix {
115 &self.channel_prefix
116 }
117 #[inline]
118 pub fn channel_name_overrides(
119 &self,
120 ) -> &std::collections::BTreeMap<
121 super::super::super::api::ColumnName,
122 super::super::super::api::Channel,
123 > {
124 &self.channel_name_overrides
125 }
126 #[deprecated(note = "Deprecated in favor of tagColumns.")]
127 #[inline]
128 pub fn tag_keys_from_columns(
129 &self,
130 ) -> Option<&std::collections::BTreeSet<super::super::super::api::TagName>> {
131 self.tag_keys_from_columns.as_ref().map(|o| &*o)
132 }
133 #[inline]
135 pub fn tag_columns(
136 &self,
137 ) -> Option<
138 &std::collections::BTreeMap<
139 super::super::super::api::TagName,
140 super::super::super::api::ColumnName,
141 >,
142 > {
143 self.tag_columns.as_ref().map(|o| &*o)
144 }
145 #[inline]
147 pub fn additional_file_tags(
148 &self,
149 ) -> Option<
150 &std::collections::BTreeMap<
151 super::super::super::api::TagName,
152 super::super::super::api::TagValue,
153 >,
154 > {
155 self.additional_file_tags.as_ref().map(|o| &*o)
156 }
157 #[inline]
161 pub fn is_archive(&self) -> Option<bool> {
162 self.is_archive.as_ref().map(|o| *o)
163 }
164 #[inline]
168 pub fn exclude_columns(
169 &self,
170 ) -> &std::collections::BTreeSet<super::super::super::api::ColumnName> {
171 &self.exclude_columns
172 }
173}