Skip to main content

nominal_api_proto/proto/
nominal.asset.v2.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Asset {
4    #[prost(string, tag = "1")]
5    pub rid: ::prost::alloc::string::String,
6    #[prost(string, tag = "2")]
7    pub title: ::prost::alloc::string::String,
8    #[prost(string, optional, tag = "3")]
9    pub description: ::core::option::Option<::prost::alloc::string::String>,
10    #[prost(map = "string, string", tag = "4")]
11    pub properties: ::std::collections::HashMap<
12        ::prost::alloc::string::String,
13        ::prost::alloc::string::String,
14    >,
15    #[prost(string, repeated, tag = "5")]
16    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
17    #[prost(message, repeated, tag = "6")]
18    pub links: ::prost::alloc::vec::Vec<Link>,
19    #[prost(message, repeated, tag = "7")]
20    pub data_scopes: ::prost::alloc::vec::Vec<DataScope>,
21    #[prost(string, optional, tag = "8")]
22    pub created_by: ::core::option::Option<::prost::alloc::string::String>,
23    #[prost(message, optional, tag = "9")]
24    pub created_at: ::core::option::Option<
25        super::super::super::google::protobuf::Timestamp,
26    >,
27    #[prost(message, optional, tag = "10")]
28    pub updated_at: ::core::option::Option<
29        super::super::super::google::protobuf::Timestamp,
30    >,
31    #[prost(string, repeated, tag = "11")]
32    pub attachments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
33    #[prost(string, optional, tag = "12")]
34    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
35    #[prost(bool, tag = "13")]
36    pub is_staged: bool,
37    #[prost(bool, tag = "14")]
38    pub is_archived: bool,
39    #[prost(map = "string, message", tag = "15")]
40    pub typed_properties: ::std::collections::HashMap<
41        ::prost::alloc::string::String,
42        super::super::types::TypedPropertyValue,
43    >,
44}
45#[derive(Clone, PartialEq, ::prost::Message)]
46pub struct Type {
47    #[prost(string, tag = "1")]
48    pub rid: ::prost::alloc::string::String,
49    #[prost(string, tag = "2")]
50    pub name: ::prost::alloc::string::String,
51    #[prost(string, optional, tag = "3")]
52    pub description: ::core::option::Option<::prost::alloc::string::String>,
53    #[prost(map = "string, message", tag = "4")]
54    pub property_configs: ::std::collections::HashMap<
55        ::prost::alloc::string::String,
56        PropertyConfig,
57    >,
58    #[prost(message, optional, tag = "5")]
59    pub created_at: ::core::option::Option<
60        super::super::super::google::protobuf::Timestamp,
61    >,
62    #[prost(string, optional, tag = "6")]
63    pub icon_name: ::core::option::Option<::prost::alloc::string::String>,
64    #[prost(map = "string, message", tag = "7")]
65    pub datasource_configs: ::std::collections::HashMap<
66        ::prost::alloc::string::String,
67        AssetTypeDataScopeConfig,
68    >,
69}
70#[derive(Clone, PartialEq, ::prost::Message)]
71pub struct AssetTypeDataScopeConfig {
72    #[prost(string, optional, tag = "1")]
73    pub suggested_ref_name: ::core::option::Option<::prost::alloc::string::String>,
74    #[prost(message, optional, tag = "2")]
75    pub tags: ::core::option::Option<TagConfig>,
76}
77#[derive(Clone, PartialEq, ::prost::Message)]
78pub struct TagConfig {
79    #[prost(string, repeated, tag = "1")]
80    pub v1: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
81}
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct PropertyConfig {
84    #[prost(bool, tag = "1")]
85    pub is_required: bool,
86    #[prost(string, optional, tag = "2")]
87    pub description: ::core::option::Option<::prost::alloc::string::String>,
88}
89#[derive(Clone, PartialEq, ::prost::Message)]
90pub struct DataScope {
91    #[prost(string, tag = "1")]
92    pub data_scope_name: ::prost::alloc::string::String,
93    #[prost(message, optional, tag = "2")]
94    pub data_source: ::core::option::Option<DataSource>,
95    #[prost(message, optional, tag = "3")]
96    pub offset: ::core::option::Option<super::super::types::Duration>,
97    #[prost(enumeration = "super::super::run::v1::WeakTimestampType", tag = "4")]
98    pub timestamp_type: i32,
99    #[prost(map = "string, string", tag = "5")]
100    pub series_tags: ::std::collections::HashMap<
101        ::prost::alloc::string::String,
102        ::prost::alloc::string::String,
103    >,
104}
105#[derive(Clone, PartialEq, ::prost::Message)]
106pub struct CreateAssetDataScope {
107    #[prost(string, tag = "1")]
108    pub data_scope_name: ::prost::alloc::string::String,
109    #[prost(message, optional, tag = "2")]
110    pub data_source: ::core::option::Option<DataSource>,
111    #[prost(message, optional, tag = "3")]
112    pub offset: ::core::option::Option<super::super::types::Duration>,
113    #[prost(map = "string, string", tag = "4")]
114    pub series_tags: ::std::collections::HashMap<
115        ::prost::alloc::string::String,
116        ::prost::alloc::string::String,
117    >,
118}
119#[derive(Clone, PartialEq, ::prost::Message)]
120pub struct DataSource {
121    #[prost(oneof = "data_source::DataSource", tags = "1, 2, 3, 4, 5")]
122    pub data_source: ::core::option::Option<data_source::DataSource>,
123}
124/// Nested message and enum types in `DataSource`.
125pub mod data_source {
126    #[derive(Clone, PartialEq, ::prost::Oneof)]
127    pub enum DataSource {
128        #[prost(string, tag = "1")]
129        Dataset(::prost::alloc::string::String),
130        #[prost(string, tag = "2")]
131        Connection(::prost::alloc::string::String),
132        #[prost(string, tag = "3")]
133        LogSet(::prost::alloc::string::String),
134        #[prost(string, tag = "4")]
135        Video(::prost::alloc::string::String),
136        #[prost(string, tag = "5")]
137        Spatial(::prost::alloc::string::String),
138    }
139}
140#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct Link {
142    #[prost(string, optional, tag = "1")]
143    pub title: ::core::option::Option<::prost::alloc::string::String>,
144    #[prost(string, tag = "2")]
145    pub url: ::prost::alloc::string::String,
146}
147#[derive(Clone, PartialEq, ::prost::Message)]
148pub struct PropertiesFilter {
149    #[prost(string, tag = "1")]
150    pub name: ::prost::alloc::string::String,
151    #[prost(string, repeated, tag = "2")]
152    pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
153}
154#[derive(Clone, PartialEq, ::prost::Message)]
155pub struct LabelsFilter {
156    #[prost(enumeration = "SetOperator", tag = "1")]
157    pub operator: i32,
158    #[prost(string, repeated, tag = "2")]
159    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
160}
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct AssetTypesFilter {
163    #[prost(string, repeated, tag = "1")]
164    pub asset_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
165}
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct AssetSortOptions {
168    #[prost(bool, tag = "1")]
169    pub is_descending: bool,
170    #[prost(enumeration = "AssetSortField", optional, tag = "2")]
171    pub field: ::core::option::Option<i32>,
172    #[prost(message, optional, tag = "3")]
173    pub sort_key: ::core::option::Option<SortKey>,
174}
175#[derive(Clone, PartialEq, ::prost::Message)]
176pub struct SortKey {
177    #[prost(oneof = "sort_key::SortKey", tags = "1, 2, 3")]
178    pub sort_key: ::core::option::Option<sort_key::SortKey>,
179}
180/// Nested message and enum types in `SortKey`.
181pub mod sort_key {
182    #[derive(Clone, PartialEq, ::prost::Oneof)]
183    pub enum SortKey {
184        #[prost(enumeration = "super::AssetSortField", tag = "1")]
185        Field(i32),
186        #[prost(message, tag = "2")]
187        Property(super::SortProperty),
188        #[prost(message, tag = "3")]
189        NumericProperty(super::SortProperty),
190    }
191}
192#[derive(Clone, PartialEq, ::prost::Message)]
193pub struct SortProperty {
194    #[prost(string, tag = "1")]
195    pub name: ::prost::alloc::string::String,
196}
197#[derive(Clone, Copy, PartialEq, ::prost::Message)]
198pub struct TypeSortOptions {
199    #[prost(bool, tag = "1")]
200    pub is_descending: bool,
201    #[prost(enumeration = "type_sort_options::TypeSortField", tag = "2")]
202    pub field: i32,
203}
204/// Nested message and enum types in `TypeSortOptions`.
205pub mod type_sort_options {
206    #[derive(
207        Clone,
208        Copy,
209        Debug,
210        PartialEq,
211        Eq,
212        Hash,
213        PartialOrd,
214        Ord,
215        ::prost::Enumeration
216    )]
217    #[repr(i32)]
218    pub enum TypeSortField {
219        Unspecified = 0,
220        CreatedAt = 1,
221    }
222    impl TypeSortField {
223        /// String value of the enum field names used in the ProtoBuf definition.
224        ///
225        /// The values are not transformed in any way and thus are considered stable
226        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
227        pub fn as_str_name(&self) -> &'static str {
228            match self {
229                Self::Unspecified => "TYPE_SORT_FIELD_UNSPECIFIED",
230                Self::CreatedAt => "CREATED_AT",
231            }
232        }
233        /// Creates an enum from field names used in the ProtoBuf definition.
234        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
235            match value {
236                "TYPE_SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
237                "CREATED_AT" => Some(Self::CreatedAt),
238                _ => None,
239            }
240        }
241    }
242}
243#[derive(Clone, PartialEq, ::prost::Message)]
244pub struct SearchAssetsQuery {
245    #[prost(
246        oneof = "search_assets_query::Query",
247        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16"
248    )]
249    pub query: ::core::option::Option<search_assets_query::Query>,
250}
251/// Nested message and enum types in `SearchAssetsQuery`.
252pub mod search_assets_query {
253    #[derive(Clone, PartialEq, ::prost::Oneof)]
254    pub enum Query {
255        #[prost(string, tag = "1")]
256        SearchText(::prost::alloc::string::String),
257        #[prost(string, tag = "2")]
258        ExactSubstring(::prost::alloc::string::String),
259        #[prost(string, tag = "3")]
260        Label(::prost::alloc::string::String),
261        #[prost(message, tag = "4")]
262        Labels(super::LabelsFilter),
263        #[prost(message, tag = "5")]
264        Property(super::super::super::types::Property),
265        #[prost(string, tag = "6")]
266        PropertyKey(::prost::alloc::string::String),
267        #[prost(message, tag = "7")]
268        Properties(super::PropertiesFilter),
269        #[prost(string, tag = "8")]
270        TypeRid(::prost::alloc::string::String),
271        #[prost(message, tag = "9")]
272        AssetTypes(super::AssetTypesFilter),
273        #[prost(bool, tag = "10")]
274        IsStaged(bool),
275        #[prost(bool, tag = "11")]
276        Archived(bool),
277        #[prost(message, tag = "12")]
278        And(super::SearchAssetsQueryList),
279        #[prost(message, tag = "13")]
280        Or(super::SearchAssetsQueryList),
281        #[prost(message, tag = "14")]
282        Not(::prost::alloc::boxed::Box<super::SearchAssetsQuery>),
283        #[prost(string, tag = "15")]
284        Workspace(::prost::alloc::string::String),
285        #[prost(message, tag = "16")]
286        NumericProperty(super::super::super::types::NumericPropertyPredicate),
287    }
288}
289#[derive(Clone, PartialEq, ::prost::Message)]
290pub struct SearchAssetsQueryList {
291    #[prost(message, repeated, tag = "1")]
292    pub queries: ::prost::alloc::vec::Vec<SearchAssetsQuery>,
293}
294#[derive(Clone, PartialEq, ::prost::Message)]
295pub struct SearchTypesQuery {
296    #[prost(oneof = "search_types_query::Query", tags = "1, 2, 3, 4, 5, 6")]
297    pub query: ::core::option::Option<search_types_query::Query>,
298}
299/// Nested message and enum types in `SearchTypesQuery`.
300pub mod search_types_query {
301    #[derive(Clone, PartialEq, ::prost::Oneof)]
302    pub enum Query {
303        #[prost(string, tag = "1")]
304        SearchText(::prost::alloc::string::String),
305        #[prost(string, tag = "2")]
306        Property(::prost::alloc::string::String),
307        #[prost(message, tag = "3")]
308        And(super::SearchTypesQueryList),
309        #[prost(message, tag = "4")]
310        Or(super::SearchTypesQueryList),
311        #[prost(string, tag = "5")]
312        Workspace(::prost::alloc::string::String),
313        #[prost(string, tag = "6")]
314        ConfiguredDatasource(::prost::alloc::string::String),
315    }
316}
317#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct SearchTypesQueryList {
319    #[prost(message, repeated, tag = "1")]
320    pub queries: ::prost::alloc::vec::Vec<SearchTypesQuery>,
321}
322#[derive(Clone, PartialEq, ::prost::Message)]
323pub struct MetadataChange {
324    #[prost(oneof = "metadata_change::MetadataChange", tags = "1, 2, 3")]
325    pub metadata_change: ::core::option::Option<metadata_change::MetadataChange>,
326}
327/// Nested message and enum types in `MetadataChange`.
328pub mod metadata_change {
329    #[derive(Clone, PartialEq, ::prost::Oneof)]
330    pub enum MetadataChange {
331        #[prost(message, tag = "1")]
332        RenameLabel(super::RenameLabel),
333        #[prost(message, tag = "2")]
334        RenamePropertyKey(super::RenamePropertyKey),
335        #[prost(message, tag = "3")]
336        MergePropertyValuesForKey(super::MergePropertyValuesForKey),
337    }
338}
339#[derive(Clone, PartialEq, ::prost::Message)]
340pub struct RenameLabel {
341    #[prost(string, repeated, tag = "1")]
342    pub source: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
343    #[prost(string, tag = "2")]
344    pub target: ::prost::alloc::string::String,
345}
346#[derive(Clone, PartialEq, ::prost::Message)]
347pub struct RenamePropertyKey {
348    #[prost(string, repeated, tag = "1")]
349    pub source: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
350    #[prost(string, tag = "2")]
351    pub target: ::prost::alloc::string::String,
352    #[prost(message, optional, tag = "3")]
353    pub on_conflict: ::core::option::Option<ConflictBehavior>,
354}
355#[derive(Clone, PartialEq, ::prost::Message)]
356pub struct MergePropertyValuesForKey {
357    #[prost(string, tag = "1")]
358    pub key: ::prost::alloc::string::String,
359    #[prost(string, repeated, tag = "2")]
360    pub source: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
361    #[prost(string, tag = "3")]
362    pub target: ::prost::alloc::string::String,
363}
364#[derive(Clone, PartialEq, ::prost::Message)]
365pub struct ConflictBehavior {
366    #[prost(oneof = "conflict_behavior::ConflictBehavior", tags = "1, 2")]
367    pub conflict_behavior: ::core::option::Option<conflict_behavior::ConflictBehavior>,
368}
369/// Nested message and enum types in `ConflictBehavior`.
370pub mod conflict_behavior {
371    #[derive(Clone, PartialEq, ::prost::Oneof)]
372    pub enum ConflictBehavior {
373        #[prost(message, tag = "1")]
374        Skip(super::SkipOnConflict),
375        #[prost(message, tag = "2")]
376        Overwrite(super::OverwriteOnConflict),
377    }
378}
379#[derive(Clone, Copy, PartialEq, ::prost::Message)]
380pub struct SkipOnConflict {}
381#[derive(Clone, PartialEq, ::prost::Message)]
382pub struct OverwriteOnConflict {
383    #[prost(string, repeated, tag = "1")]
384    pub priority: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
385}
386#[derive(Clone, Copy, PartialEq, ::prost::Message)]
387pub struct RemoveType {}
388#[derive(Clone, PartialEq, ::prost::Message)]
389pub struct UpdateOrRemoveAssetType {
390    #[prost(
391        oneof = "update_or_remove_asset_type::UpdateOrRemoveAssetType",
392        tags = "1, 2"
393    )]
394    pub update_or_remove_asset_type: ::core::option::Option<
395        update_or_remove_asset_type::UpdateOrRemoveAssetType,
396    >,
397}
398/// Nested message and enum types in `UpdateOrRemoveAssetType`.
399pub mod update_or_remove_asset_type {
400    #[derive(Clone, PartialEq, ::prost::Oneof)]
401    pub enum UpdateOrRemoveAssetType {
402        #[prost(string, tag = "1")]
403        TypeRid(::prost::alloc::string::String),
404        #[prost(message, tag = "2")]
405        RemoveType(super::RemoveType),
406    }
407}
408#[derive(Clone, PartialEq, ::prost::Message)]
409pub struct LinkList {
410    #[prost(message, repeated, tag = "1")]
411    pub links: ::prost::alloc::vec::Vec<Link>,
412}
413#[derive(Clone, PartialEq, ::prost::Message)]
414pub struct CreateAssetDataScopeList {
415    #[prost(message, repeated, tag = "1")]
416    pub data_scopes: ::prost::alloc::vec::Vec<CreateAssetDataScope>,
417}
418#[derive(Clone, PartialEq, ::prost::Message)]
419pub struct PropertyConfigMap {
420    #[prost(map = "string, message", tag = "1")]
421    pub property_configs: ::std::collections::HashMap<
422        ::prost::alloc::string::String,
423        PropertyConfig,
424    >,
425}
426#[derive(Clone, PartialEq, ::prost::Message)]
427pub struct AssetTypeDataScopeConfigMap {
428    #[prost(map = "string, message", tag = "1")]
429    pub datasource_configs: ::std::collections::HashMap<
430        ::prost::alloc::string::String,
431        AssetTypeDataScopeConfig,
432    >,
433}
434#[derive(Clone, PartialEq, ::prost::Message)]
435pub struct ArchivedStatusSet {
436    #[prost(enumeration = "super::super::types::ArchivedStatus", repeated, tag = "1")]
437    pub archived_statuses: ::prost::alloc::vec::Vec<i32>,
438}
439#[derive(Clone, PartialEq, ::prost::Message)]
440pub struct CreateAssetRequest {
441    #[prost(string, tag = "1")]
442    pub title: ::prost::alloc::string::String,
443    #[prost(string, optional, tag = "2")]
444    pub description: ::core::option::Option<::prost::alloc::string::String>,
445    #[prost(map = "string, string", tag = "3")]
446    pub properties: ::std::collections::HashMap<
447        ::prost::alloc::string::String,
448        ::prost::alloc::string::String,
449    >,
450    #[prost(string, repeated, tag = "4")]
451    pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
452    #[prost(message, repeated, tag = "5")]
453    pub links: ::prost::alloc::vec::Vec<Link>,
454    #[prost(message, repeated, tag = "6")]
455    pub data_scopes: ::prost::alloc::vec::Vec<CreateAssetDataScope>,
456    #[prost(string, repeated, tag = "7")]
457    pub attachments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
458    #[prost(string, optional, tag = "8")]
459    pub r#type: ::core::option::Option<::prost::alloc::string::String>,
460    #[prost(string, optional, tag = "9")]
461    pub workspace: ::core::option::Option<::prost::alloc::string::String>,
462    #[prost(map = "string, message", tag = "10")]
463    pub typed_properties: ::std::collections::HashMap<
464        ::prost::alloc::string::String,
465        super::super::types::TypedPropertyValue,
466    >,
467}
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct CreateAssetResponse {
470    #[prost(message, optional, tag = "1")]
471    pub asset: ::core::option::Option<Asset>,
472}
473#[derive(Clone, PartialEq, ::prost::Message)]
474pub struct UpdateAssetRequest {
475    #[prost(string, tag = "1")]
476    pub asset_rid: ::prost::alloc::string::String,
477    #[prost(string, optional, tag = "2")]
478    pub title: ::core::option::Option<::prost::alloc::string::String>,
479    #[prost(string, optional, tag = "3")]
480    pub description: ::core::option::Option<::prost::alloc::string::String>,
481    #[deprecated]
482    #[prost(message, optional, tag = "4")]
483    pub properties: ::core::option::Option<super::super::types::PropertyUpdateWrapper>,
484    #[prost(message, optional, tag = "5")]
485    pub labels: ::core::option::Option<super::super::types::LabelUpdateWrapper>,
486    #[prost(message, optional, tag = "6")]
487    pub links: ::core::option::Option<LinkList>,
488    #[prost(message, optional, tag = "7")]
489    pub data_scopes: ::core::option::Option<CreateAssetDataScopeList>,
490    #[prost(message, optional, tag = "8")]
491    pub r#type: ::core::option::Option<UpdateOrRemoveAssetType>,
492    #[prost(bool, optional, tag = "9")]
493    pub is_staged: ::core::option::Option<bool>,
494    #[prost(message, optional, tag = "10")]
495    pub typed_properties: ::core::option::Option<
496        super::super::types::TypedPropertyUpdateWrapper,
497    >,
498}
499#[derive(Clone, PartialEq, ::prost::Message)]
500pub struct UpdateAssetResponse {
501    #[prost(message, optional, tag = "1")]
502    pub asset: ::core::option::Option<Asset>,
503}
504#[derive(Clone, PartialEq, ::prost::Message)]
505pub struct AddDataScopesToAssetRequest {
506    #[prost(string, tag = "1")]
507    pub asset_rid: ::prost::alloc::string::String,
508    #[prost(message, repeated, tag = "2")]
509    pub data_scopes: ::prost::alloc::vec::Vec<CreateAssetDataScope>,
510}
511#[derive(Clone, PartialEq, ::prost::Message)]
512pub struct AddDataScopesToAssetResponse {
513    #[prost(message, optional, tag = "1")]
514    pub asset: ::core::option::Option<Asset>,
515}
516#[derive(Clone, PartialEq, ::prost::Message)]
517pub struct GetAssetsRequest {
518    #[prost(string, repeated, tag = "1")]
519    pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
520}
521#[derive(Clone, PartialEq, ::prost::Message)]
522pub struct GetAssetsResponse {
523    #[prost(map = "string, message", tag = "1")]
524    pub responses: ::std::collections::HashMap<::prost::alloc::string::String, Asset>,
525}
526#[derive(Clone, PartialEq, ::prost::Message)]
527pub struct GetAssetsByDataSourceRequest {
528    #[prost(string, tag = "1")]
529    pub data_source_rid: ::prost::alloc::string::String,
530}
531#[derive(Clone, PartialEq, ::prost::Message)]
532pub struct GetAssetsByDataSourceResponse {
533    #[prost(message, repeated, tag = "1")]
534    pub assets: ::prost::alloc::vec::Vec<Asset>,
535}
536#[derive(Clone, PartialEq, ::prost::Message)]
537pub struct ArchiveRequest {
538    #[prost(string, tag = "1")]
539    pub asset_rid: ::prost::alloc::string::String,
540    #[prost(bool, optional, tag = "2")]
541    pub include_linked_workbooks: ::core::option::Option<bool>,
542}
543#[derive(Clone, Copy, PartialEq, ::prost::Message)]
544pub struct ArchiveResponse {}
545#[derive(Clone, PartialEq, ::prost::Message)]
546pub struct UnarchiveRequest {
547    #[prost(string, tag = "1")]
548    pub asset_rid: ::prost::alloc::string::String,
549    #[prost(bool, optional, tag = "2")]
550    pub include_linked_workbooks: ::core::option::Option<bool>,
551}
552#[derive(Clone, Copy, PartialEq, ::prost::Message)]
553pub struct UnarchiveResponse {}
554#[derive(Clone, PartialEq, ::prost::Message)]
555pub struct SearchAssetsRequest {
556    #[prost(message, optional, tag = "1")]
557    pub sort: ::core::option::Option<AssetSortOptions>,
558    #[prost(int32, optional, tag = "2")]
559    pub page_size: ::core::option::Option<i32>,
560    #[prost(string, optional, tag = "3")]
561    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
562    #[prost(message, optional, tag = "4")]
563    pub query: ::core::option::Option<SearchAssetsQuery>,
564    #[prost(message, optional, tag = "5")]
565    pub archived_statuses: ::core::option::Option<ArchivedStatusSet>,
566    #[prost(bool, optional, tag = "6")]
567    pub include_match_count: ::core::option::Option<bool>,
568}
569#[derive(Clone, PartialEq, ::prost::Message)]
570pub struct SearchAssetsResponse {
571    #[prost(message, repeated, tag = "1")]
572    pub results: ::prost::alloc::vec::Vec<Asset>,
573    #[prost(string, optional, tag = "2")]
574    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
575    #[prost(int32, optional, tag = "3")]
576    pub total_count: ::core::option::Option<i32>,
577}
578#[derive(Clone, PartialEq, ::prost::Message)]
579pub struct BatchEditAssetMetadataRequest {
580    #[prost(message, optional, tag = "1")]
581    pub asset_search_query: ::core::option::Option<SearchAssetsQuery>,
582    #[prost(message, optional, tag = "2")]
583    pub operation: ::core::option::Option<MetadataChange>,
584}
585#[derive(Clone, PartialEq, ::prost::Message)]
586pub struct BatchEditAssetMetadataResponse {
587    #[prost(string, repeated, tag = "1")]
588    pub modified_asset_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
589    #[prost(string, repeated, tag = "2")]
590    pub conflicting_asset_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
591}
592#[derive(Clone, PartialEq, ::prost::Message)]
593pub struct SearchTypesRequest {
594    #[prost(message, optional, tag = "1")]
595    pub sort: ::core::option::Option<TypeSortOptions>,
596    #[prost(int32, optional, tag = "2")]
597    pub page_size: ::core::option::Option<i32>,
598    #[prost(string, optional, tag = "3")]
599    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
600    #[prost(message, optional, tag = "4")]
601    pub query: ::core::option::Option<SearchTypesQuery>,
602    #[prost(message, optional, tag = "5")]
603    pub archived_statuses: ::core::option::Option<ArchivedStatusSet>,
604}
605#[derive(Clone, PartialEq, ::prost::Message)]
606pub struct SearchTypesResponse {
607    #[prost(message, repeated, tag = "1")]
608    pub results: ::prost::alloc::vec::Vec<Type>,
609    #[prost(string, optional, tag = "2")]
610    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
611}
612#[derive(Clone, PartialEq, ::prost::Message)]
613pub struct UpdateAssetAttachmentsRequest {
614    #[prost(string, tag = "1")]
615    pub asset_rid: ::prost::alloc::string::String,
616    #[prost(string, repeated, tag = "2")]
617    pub attachments_to_add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
618    #[prost(string, repeated, tag = "3")]
619    pub attachments_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
620}
621#[derive(Clone, Copy, PartialEq, ::prost::Message)]
622pub struct UpdateAssetAttachmentsResponse {}
623#[derive(Clone, PartialEq, ::prost::Message)]
624pub struct UpdateAssetRefNamesRequest {
625    #[prost(string, tag = "1")]
626    pub asset_rid: ::prost::alloc::string::String,
627    #[prost(map = "string, string", tag = "2")]
628    pub data_scope_ref_name_updates: ::std::collections::HashMap<
629        ::prost::alloc::string::String,
630        ::prost::alloc::string::String,
631    >,
632}
633#[derive(Clone, Copy, PartialEq, ::prost::Message)]
634pub struct UpdateAssetRefNamesResponse {}
635#[derive(Clone, PartialEq, ::prost::Message)]
636pub struct CreateTypeRequest {
637    #[prost(string, tag = "1")]
638    pub name: ::prost::alloc::string::String,
639    #[prost(map = "string, message", tag = "2")]
640    pub property_configs: ::std::collections::HashMap<
641        ::prost::alloc::string::String,
642        PropertyConfig,
643    >,
644    #[prost(string, optional, tag = "3")]
645    pub description: ::core::option::Option<::prost::alloc::string::String>,
646    #[prost(string, optional, tag = "4")]
647    pub icon_name: ::core::option::Option<::prost::alloc::string::String>,
648    #[prost(string, optional, tag = "5")]
649    pub workspace: ::core::option::Option<::prost::alloc::string::String>,
650    #[prost(message, optional, tag = "6")]
651    pub datasource_configs: ::core::option::Option<AssetTypeDataScopeConfigMap>,
652}
653#[derive(Clone, PartialEq, ::prost::Message)]
654pub struct CreateTypeResponse {
655    #[prost(message, optional, tag = "1")]
656    pub r#type: ::core::option::Option<Type>,
657}
658#[derive(Clone, PartialEq, ::prost::Message)]
659pub struct UpdateTypeRequest {
660    #[prost(string, tag = "1")]
661    pub type_rid: ::prost::alloc::string::String,
662    #[prost(string, optional, tag = "2")]
663    pub name: ::core::option::Option<::prost::alloc::string::String>,
664    #[prost(message, optional, tag = "3")]
665    pub property_configs: ::core::option::Option<PropertyConfigMap>,
666    #[prost(string, optional, tag = "4")]
667    pub description: ::core::option::Option<::prost::alloc::string::String>,
668    #[prost(string, optional, tag = "5")]
669    pub icon_name: ::core::option::Option<::prost::alloc::string::String>,
670    #[prost(message, optional, tag = "6")]
671    pub datasource_configs: ::core::option::Option<AssetTypeDataScopeConfigMap>,
672}
673#[derive(Clone, PartialEq, ::prost::Message)]
674pub struct UpdateTypeResponse {
675    #[prost(message, optional, tag = "1")]
676    pub r#type: ::core::option::Option<Type>,
677}
678#[derive(Clone, PartialEq, ::prost::Message)]
679pub struct GetTypesRequest {
680    #[prost(string, repeated, tag = "1")]
681    pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
682}
683#[derive(Clone, PartialEq, ::prost::Message)]
684pub struct GetTypesResponse {
685    #[prost(map = "string, message", tag = "1")]
686    pub responses: ::std::collections::HashMap<::prost::alloc::string::String, Type>,
687}
688#[derive(Clone, PartialEq, ::prost::Message)]
689pub struct GetTypesForDatasourceRequest {
690    #[prost(string, tag = "1")]
691    pub datasource_rid: ::prost::alloc::string::String,
692}
693#[derive(Clone, PartialEq, ::prost::Message)]
694pub struct GetTypesForDatasourceResponse {
695    #[prost(message, repeated, tag = "1")]
696    pub types: ::prost::alloc::vec::Vec<Type>,
697}
698#[derive(Clone, PartialEq, ::prost::Message)]
699pub struct DeleteTypeRequest {
700    #[prost(string, tag = "1")]
701    pub type_rid: ::prost::alloc::string::String,
702}
703#[derive(Clone, Copy, PartialEq, ::prost::Message)]
704pub struct DeleteTypeResponse {}
705#[derive(Clone, PartialEq, ::prost::Message)]
706pub struct ArchiveTypeRequest {
707    #[prost(string, tag = "1")]
708    pub type_rid: ::prost::alloc::string::String,
709}
710#[derive(Clone, Copy, PartialEq, ::prost::Message)]
711pub struct ArchiveTypeResponse {}
712#[derive(Clone, PartialEq, ::prost::Message)]
713pub struct UnarchiveTypeRequest {
714    #[prost(string, tag = "1")]
715    pub type_rid: ::prost::alloc::string::String,
716}
717#[derive(Clone, Copy, PartialEq, ::prost::Message)]
718pub struct UnarchiveTypeResponse {}
719#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
720#[repr(i32)]
721pub enum SetOperator {
722    Unspecified = 0,
723    And = 1,
724    Or = 2,
725}
726impl SetOperator {
727    /// String value of the enum field names used in the ProtoBuf definition.
728    ///
729    /// The values are not transformed in any way and thus are considered stable
730    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
731    pub fn as_str_name(&self) -> &'static str {
732        match self {
733            Self::Unspecified => "SET_OPERATOR_UNSPECIFIED",
734            Self::And => "AND",
735            Self::Or => "OR",
736        }
737    }
738    /// Creates an enum from field names used in the ProtoBuf definition.
739    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
740        match value {
741            "SET_OPERATOR_UNSPECIFIED" => Some(Self::Unspecified),
742            "AND" => Some(Self::And),
743            "OR" => Some(Self::Or),
744            _ => None,
745        }
746    }
747}
748#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
749#[repr(i32)]
750pub enum AssetSortField {
751    Unspecified = 0,
752    Name = 1,
753    CreatedAt = 2,
754    MostRecentRunStart = 3,
755}
756impl AssetSortField {
757    /// String value of the enum field names used in the ProtoBuf definition.
758    ///
759    /// The values are not transformed in any way and thus are considered stable
760    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
761    pub fn as_str_name(&self) -> &'static str {
762        match self {
763            Self::Unspecified => "ASSET_SORT_FIELD_UNSPECIFIED",
764            Self::Name => "NAME",
765            Self::CreatedAt => "CREATED_AT",
766            Self::MostRecentRunStart => "MOST_RECENT_RUN_START",
767        }
768    }
769    /// Creates an enum from field names used in the ProtoBuf definition.
770    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
771        match value {
772            "ASSET_SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
773            "NAME" => Some(Self::Name),
774            "CREATED_AT" => Some(Self::CreatedAt),
775            "MOST_RECENT_RUN_START" => Some(Self::MostRecentRunStart),
776            _ => None,
777        }
778    }
779}
780#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
781#[repr(i32)]
782pub enum AssetError {
783    InvalidRequest = 0,
784}
785impl AssetError {
786    /// String value of the enum field names used in the ProtoBuf definition.
787    ///
788    /// The values are not transformed in any way and thus are considered stable
789    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
790    pub fn as_str_name(&self) -> &'static str {
791        match self {
792            Self::InvalidRequest => "ASSET_ERROR_INVALID_REQUEST",
793        }
794    }
795    /// Creates an enum from field names used in the ProtoBuf definition.
796    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
797        match value {
798            "ASSET_ERROR_INVALID_REQUEST" => Some(Self::InvalidRequest),
799            _ => None,
800        }
801    }
802}
803/// Generated client implementations.
804pub mod asset_service_client {
805    #![allow(
806        unused_variables,
807        dead_code,
808        missing_docs,
809        clippy::wildcard_imports,
810        clippy::let_unit_value,
811    )]
812    use tonic::codegen::*;
813    use tonic::codegen::http::Uri;
814    #[derive(Debug, Clone)]
815    pub struct AssetServiceClient<T> {
816        inner: tonic::client::Grpc<T>,
817    }
818    impl AssetServiceClient<tonic::transport::Channel> {
819        /// Attempt to create a new client by connecting to a given endpoint.
820        pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
821        where
822            D: TryInto<tonic::transport::Endpoint>,
823            D::Error: Into<StdError>,
824        {
825            let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
826            Ok(Self::new(conn))
827        }
828    }
829    impl<T> AssetServiceClient<T>
830    where
831        T: tonic::client::GrpcService<tonic::body::Body>,
832        T::Error: Into<StdError>,
833        T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
834        <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
835    {
836        pub fn new(inner: T) -> Self {
837            let inner = tonic::client::Grpc::new(inner);
838            Self { inner }
839        }
840        pub fn with_origin(inner: T, origin: Uri) -> Self {
841            let inner = tonic::client::Grpc::with_origin(inner, origin);
842            Self { inner }
843        }
844        pub fn with_interceptor<F>(
845            inner: T,
846            interceptor: F,
847        ) -> AssetServiceClient<InterceptedService<T, F>>
848        where
849            F: tonic::service::Interceptor,
850            T::ResponseBody: Default,
851            T: tonic::codegen::Service<
852                http::Request<tonic::body::Body>,
853                Response = http::Response<
854                    <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
855                >,
856            >,
857            <T as tonic::codegen::Service<
858                http::Request<tonic::body::Body>,
859            >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
860        {
861            AssetServiceClient::new(InterceptedService::new(inner, interceptor))
862        }
863        /// Compress requests with the given encoding.
864        ///
865        /// This requires the server to support it otherwise it might respond with an
866        /// error.
867        #[must_use]
868        pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
869            self.inner = self.inner.send_compressed(encoding);
870            self
871        }
872        /// Enable decompressing responses.
873        #[must_use]
874        pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
875            self.inner = self.inner.accept_compressed(encoding);
876            self
877        }
878        /// Limits the maximum size of a decoded message.
879        ///
880        /// Default: `4MB`
881        #[must_use]
882        pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
883            self.inner = self.inner.max_decoding_message_size(limit);
884            self
885        }
886        /// Limits the maximum size of an encoded message.
887        ///
888        /// Default: `usize::MAX`
889        #[must_use]
890        pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
891            self.inner = self.inner.max_encoding_message_size(limit);
892            self
893        }
894        pub async fn create_asset(
895            &mut self,
896            request: impl tonic::IntoRequest<super::CreateAssetRequest>,
897        ) -> std::result::Result<
898            tonic::Response<super::CreateAssetResponse>,
899            tonic::Status,
900        > {
901            self.inner
902                .ready()
903                .await
904                .map_err(|e| {
905                    tonic::Status::unknown(
906                        format!("Service was not ready: {}", e.into()),
907                    )
908                })?;
909            let codec = tonic::codec::ProstCodec::default();
910            let path = http::uri::PathAndQuery::from_static(
911                "/nominal.asset.v2.AssetService/CreateAsset",
912            );
913            let mut req = request.into_request();
914            req.extensions_mut()
915                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "CreateAsset"));
916            self.inner.unary(req, path, codec).await
917        }
918        pub async fn update_asset(
919            &mut self,
920            request: impl tonic::IntoRequest<super::UpdateAssetRequest>,
921        ) -> std::result::Result<
922            tonic::Response<super::UpdateAssetResponse>,
923            tonic::Status,
924        > {
925            self.inner
926                .ready()
927                .await
928                .map_err(|e| {
929                    tonic::Status::unknown(
930                        format!("Service was not ready: {}", e.into()),
931                    )
932                })?;
933            let codec = tonic::codec::ProstCodec::default();
934            let path = http::uri::PathAndQuery::from_static(
935                "/nominal.asset.v2.AssetService/UpdateAsset",
936            );
937            let mut req = request.into_request();
938            req.extensions_mut()
939                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "UpdateAsset"));
940            self.inner.unary(req, path, codec).await
941        }
942        pub async fn add_data_scopes_to_asset(
943            &mut self,
944            request: impl tonic::IntoRequest<super::AddDataScopesToAssetRequest>,
945        ) -> std::result::Result<
946            tonic::Response<super::AddDataScopesToAssetResponse>,
947            tonic::Status,
948        > {
949            self.inner
950                .ready()
951                .await
952                .map_err(|e| {
953                    tonic::Status::unknown(
954                        format!("Service was not ready: {}", e.into()),
955                    )
956                })?;
957            let codec = tonic::codec::ProstCodec::default();
958            let path = http::uri::PathAndQuery::from_static(
959                "/nominal.asset.v2.AssetService/AddDataScopesToAsset",
960            );
961            let mut req = request.into_request();
962            req.extensions_mut()
963                .insert(
964                    GrpcMethod::new(
965                        "nominal.asset.v2.AssetService",
966                        "AddDataScopesToAsset",
967                    ),
968                );
969            self.inner.unary(req, path, codec).await
970        }
971        pub async fn get_assets(
972            &mut self,
973            request: impl tonic::IntoRequest<super::GetAssetsRequest>,
974        ) -> std::result::Result<
975            tonic::Response<super::GetAssetsResponse>,
976            tonic::Status,
977        > {
978            self.inner
979                .ready()
980                .await
981                .map_err(|e| {
982                    tonic::Status::unknown(
983                        format!("Service was not ready: {}", e.into()),
984                    )
985                })?;
986            let codec = tonic::codec::ProstCodec::default();
987            let path = http::uri::PathAndQuery::from_static(
988                "/nominal.asset.v2.AssetService/GetAssets",
989            );
990            let mut req = request.into_request();
991            req.extensions_mut()
992                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "GetAssets"));
993            self.inner.unary(req, path, codec).await
994        }
995        pub async fn get_assets_by_data_source(
996            &mut self,
997            request: impl tonic::IntoRequest<super::GetAssetsByDataSourceRequest>,
998        ) -> std::result::Result<
999            tonic::Response<super::GetAssetsByDataSourceResponse>,
1000            tonic::Status,
1001        > {
1002            self.inner
1003                .ready()
1004                .await
1005                .map_err(|e| {
1006                    tonic::Status::unknown(
1007                        format!("Service was not ready: {}", e.into()),
1008                    )
1009                })?;
1010            let codec = tonic::codec::ProstCodec::default();
1011            let path = http::uri::PathAndQuery::from_static(
1012                "/nominal.asset.v2.AssetService/GetAssetsByDataSource",
1013            );
1014            let mut req = request.into_request();
1015            req.extensions_mut()
1016                .insert(
1017                    GrpcMethod::new(
1018                        "nominal.asset.v2.AssetService",
1019                        "GetAssetsByDataSource",
1020                    ),
1021                );
1022            self.inner.unary(req, path, codec).await
1023        }
1024        pub async fn archive(
1025            &mut self,
1026            request: impl tonic::IntoRequest<super::ArchiveRequest>,
1027        ) -> std::result::Result<
1028            tonic::Response<super::ArchiveResponse>,
1029            tonic::Status,
1030        > {
1031            self.inner
1032                .ready()
1033                .await
1034                .map_err(|e| {
1035                    tonic::Status::unknown(
1036                        format!("Service was not ready: {}", e.into()),
1037                    )
1038                })?;
1039            let codec = tonic::codec::ProstCodec::default();
1040            let path = http::uri::PathAndQuery::from_static(
1041                "/nominal.asset.v2.AssetService/Archive",
1042            );
1043            let mut req = request.into_request();
1044            req.extensions_mut()
1045                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "Archive"));
1046            self.inner.unary(req, path, codec).await
1047        }
1048        pub async fn unarchive(
1049            &mut self,
1050            request: impl tonic::IntoRequest<super::UnarchiveRequest>,
1051        ) -> std::result::Result<
1052            tonic::Response<super::UnarchiveResponse>,
1053            tonic::Status,
1054        > {
1055            self.inner
1056                .ready()
1057                .await
1058                .map_err(|e| {
1059                    tonic::Status::unknown(
1060                        format!("Service was not ready: {}", e.into()),
1061                    )
1062                })?;
1063            let codec = tonic::codec::ProstCodec::default();
1064            let path = http::uri::PathAndQuery::from_static(
1065                "/nominal.asset.v2.AssetService/Unarchive",
1066            );
1067            let mut req = request.into_request();
1068            req.extensions_mut()
1069                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "Unarchive"));
1070            self.inner.unary(req, path, codec).await
1071        }
1072        pub async fn search_assets(
1073            &mut self,
1074            request: impl tonic::IntoRequest<super::SearchAssetsRequest>,
1075        ) -> std::result::Result<
1076            tonic::Response<super::SearchAssetsResponse>,
1077            tonic::Status,
1078        > {
1079            self.inner
1080                .ready()
1081                .await
1082                .map_err(|e| {
1083                    tonic::Status::unknown(
1084                        format!("Service was not ready: {}", e.into()),
1085                    )
1086                })?;
1087            let codec = tonic::codec::ProstCodec::default();
1088            let path = http::uri::PathAndQuery::from_static(
1089                "/nominal.asset.v2.AssetService/SearchAssets",
1090            );
1091            let mut req = request.into_request();
1092            req.extensions_mut()
1093                .insert(
1094                    GrpcMethod::new("nominal.asset.v2.AssetService", "SearchAssets"),
1095                );
1096            self.inner.unary(req, path, codec).await
1097        }
1098        pub async fn batch_edit_asset_metadata(
1099            &mut self,
1100            request: impl tonic::IntoRequest<super::BatchEditAssetMetadataRequest>,
1101        ) -> std::result::Result<
1102            tonic::Response<super::BatchEditAssetMetadataResponse>,
1103            tonic::Status,
1104        > {
1105            self.inner
1106                .ready()
1107                .await
1108                .map_err(|e| {
1109                    tonic::Status::unknown(
1110                        format!("Service was not ready: {}", e.into()),
1111                    )
1112                })?;
1113            let codec = tonic::codec::ProstCodec::default();
1114            let path = http::uri::PathAndQuery::from_static(
1115                "/nominal.asset.v2.AssetService/BatchEditAssetMetadata",
1116            );
1117            let mut req = request.into_request();
1118            req.extensions_mut()
1119                .insert(
1120                    GrpcMethod::new(
1121                        "nominal.asset.v2.AssetService",
1122                        "BatchEditAssetMetadata",
1123                    ),
1124                );
1125            self.inner.unary(req, path, codec).await
1126        }
1127        pub async fn search_types(
1128            &mut self,
1129            request: impl tonic::IntoRequest<super::SearchTypesRequest>,
1130        ) -> std::result::Result<
1131            tonic::Response<super::SearchTypesResponse>,
1132            tonic::Status,
1133        > {
1134            self.inner
1135                .ready()
1136                .await
1137                .map_err(|e| {
1138                    tonic::Status::unknown(
1139                        format!("Service was not ready: {}", e.into()),
1140                    )
1141                })?;
1142            let codec = tonic::codec::ProstCodec::default();
1143            let path = http::uri::PathAndQuery::from_static(
1144                "/nominal.asset.v2.AssetService/SearchTypes",
1145            );
1146            let mut req = request.into_request();
1147            req.extensions_mut()
1148                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "SearchTypes"));
1149            self.inner.unary(req, path, codec).await
1150        }
1151        pub async fn update_asset_attachments(
1152            &mut self,
1153            request: impl tonic::IntoRequest<super::UpdateAssetAttachmentsRequest>,
1154        ) -> std::result::Result<
1155            tonic::Response<super::UpdateAssetAttachmentsResponse>,
1156            tonic::Status,
1157        > {
1158            self.inner
1159                .ready()
1160                .await
1161                .map_err(|e| {
1162                    tonic::Status::unknown(
1163                        format!("Service was not ready: {}", e.into()),
1164                    )
1165                })?;
1166            let codec = tonic::codec::ProstCodec::default();
1167            let path = http::uri::PathAndQuery::from_static(
1168                "/nominal.asset.v2.AssetService/UpdateAssetAttachments",
1169            );
1170            let mut req = request.into_request();
1171            req.extensions_mut()
1172                .insert(
1173                    GrpcMethod::new(
1174                        "nominal.asset.v2.AssetService",
1175                        "UpdateAssetAttachments",
1176                    ),
1177                );
1178            self.inner.unary(req, path, codec).await
1179        }
1180        pub async fn update_asset_ref_names(
1181            &mut self,
1182            request: impl tonic::IntoRequest<super::UpdateAssetRefNamesRequest>,
1183        ) -> std::result::Result<
1184            tonic::Response<super::UpdateAssetRefNamesResponse>,
1185            tonic::Status,
1186        > {
1187            self.inner
1188                .ready()
1189                .await
1190                .map_err(|e| {
1191                    tonic::Status::unknown(
1192                        format!("Service was not ready: {}", e.into()),
1193                    )
1194                })?;
1195            let codec = tonic::codec::ProstCodec::default();
1196            let path = http::uri::PathAndQuery::from_static(
1197                "/nominal.asset.v2.AssetService/UpdateAssetRefNames",
1198            );
1199            let mut req = request.into_request();
1200            req.extensions_mut()
1201                .insert(
1202                    GrpcMethod::new(
1203                        "nominal.asset.v2.AssetService",
1204                        "UpdateAssetRefNames",
1205                    ),
1206                );
1207            self.inner.unary(req, path, codec).await
1208        }
1209        pub async fn create_type(
1210            &mut self,
1211            request: impl tonic::IntoRequest<super::CreateTypeRequest>,
1212        ) -> std::result::Result<
1213            tonic::Response<super::CreateTypeResponse>,
1214            tonic::Status,
1215        > {
1216            self.inner
1217                .ready()
1218                .await
1219                .map_err(|e| {
1220                    tonic::Status::unknown(
1221                        format!("Service was not ready: {}", e.into()),
1222                    )
1223                })?;
1224            let codec = tonic::codec::ProstCodec::default();
1225            let path = http::uri::PathAndQuery::from_static(
1226                "/nominal.asset.v2.AssetService/CreateType",
1227            );
1228            let mut req = request.into_request();
1229            req.extensions_mut()
1230                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "CreateType"));
1231            self.inner.unary(req, path, codec).await
1232        }
1233        pub async fn update_type(
1234            &mut self,
1235            request: impl tonic::IntoRequest<super::UpdateTypeRequest>,
1236        ) -> std::result::Result<
1237            tonic::Response<super::UpdateTypeResponse>,
1238            tonic::Status,
1239        > {
1240            self.inner
1241                .ready()
1242                .await
1243                .map_err(|e| {
1244                    tonic::Status::unknown(
1245                        format!("Service was not ready: {}", e.into()),
1246                    )
1247                })?;
1248            let codec = tonic::codec::ProstCodec::default();
1249            let path = http::uri::PathAndQuery::from_static(
1250                "/nominal.asset.v2.AssetService/UpdateType",
1251            );
1252            let mut req = request.into_request();
1253            req.extensions_mut()
1254                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "UpdateType"));
1255            self.inner.unary(req, path, codec).await
1256        }
1257        pub async fn get_types(
1258            &mut self,
1259            request: impl tonic::IntoRequest<super::GetTypesRequest>,
1260        ) -> std::result::Result<
1261            tonic::Response<super::GetTypesResponse>,
1262            tonic::Status,
1263        > {
1264            self.inner
1265                .ready()
1266                .await
1267                .map_err(|e| {
1268                    tonic::Status::unknown(
1269                        format!("Service was not ready: {}", e.into()),
1270                    )
1271                })?;
1272            let codec = tonic::codec::ProstCodec::default();
1273            let path = http::uri::PathAndQuery::from_static(
1274                "/nominal.asset.v2.AssetService/GetTypes",
1275            );
1276            let mut req = request.into_request();
1277            req.extensions_mut()
1278                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "GetTypes"));
1279            self.inner.unary(req, path, codec).await
1280        }
1281        pub async fn get_types_for_datasource(
1282            &mut self,
1283            request: impl tonic::IntoRequest<super::GetTypesForDatasourceRequest>,
1284        ) -> std::result::Result<
1285            tonic::Response<super::GetTypesForDatasourceResponse>,
1286            tonic::Status,
1287        > {
1288            self.inner
1289                .ready()
1290                .await
1291                .map_err(|e| {
1292                    tonic::Status::unknown(
1293                        format!("Service was not ready: {}", e.into()),
1294                    )
1295                })?;
1296            let codec = tonic::codec::ProstCodec::default();
1297            let path = http::uri::PathAndQuery::from_static(
1298                "/nominal.asset.v2.AssetService/GetTypesForDatasource",
1299            );
1300            let mut req = request.into_request();
1301            req.extensions_mut()
1302                .insert(
1303                    GrpcMethod::new(
1304                        "nominal.asset.v2.AssetService",
1305                        "GetTypesForDatasource",
1306                    ),
1307                );
1308            self.inner.unary(req, path, codec).await
1309        }
1310        pub async fn delete_type(
1311            &mut self,
1312            request: impl tonic::IntoRequest<super::DeleteTypeRequest>,
1313        ) -> std::result::Result<
1314            tonic::Response<super::DeleteTypeResponse>,
1315            tonic::Status,
1316        > {
1317            self.inner
1318                .ready()
1319                .await
1320                .map_err(|e| {
1321                    tonic::Status::unknown(
1322                        format!("Service was not ready: {}", e.into()),
1323                    )
1324                })?;
1325            let codec = tonic::codec::ProstCodec::default();
1326            let path = http::uri::PathAndQuery::from_static(
1327                "/nominal.asset.v2.AssetService/DeleteType",
1328            );
1329            let mut req = request.into_request();
1330            req.extensions_mut()
1331                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "DeleteType"));
1332            self.inner.unary(req, path, codec).await
1333        }
1334        pub async fn archive_type(
1335            &mut self,
1336            request: impl tonic::IntoRequest<super::ArchiveTypeRequest>,
1337        ) -> std::result::Result<
1338            tonic::Response<super::ArchiveTypeResponse>,
1339            tonic::Status,
1340        > {
1341            self.inner
1342                .ready()
1343                .await
1344                .map_err(|e| {
1345                    tonic::Status::unknown(
1346                        format!("Service was not ready: {}", e.into()),
1347                    )
1348                })?;
1349            let codec = tonic::codec::ProstCodec::default();
1350            let path = http::uri::PathAndQuery::from_static(
1351                "/nominal.asset.v2.AssetService/ArchiveType",
1352            );
1353            let mut req = request.into_request();
1354            req.extensions_mut()
1355                .insert(GrpcMethod::new("nominal.asset.v2.AssetService", "ArchiveType"));
1356            self.inner.unary(req, path, codec).await
1357        }
1358        pub async fn unarchive_type(
1359            &mut self,
1360            request: impl tonic::IntoRequest<super::UnarchiveTypeRequest>,
1361        ) -> std::result::Result<
1362            tonic::Response<super::UnarchiveTypeResponse>,
1363            tonic::Status,
1364        > {
1365            self.inner
1366                .ready()
1367                .await
1368                .map_err(|e| {
1369                    tonic::Status::unknown(
1370                        format!("Service was not ready: {}", e.into()),
1371                    )
1372                })?;
1373            let codec = tonic::codec::ProstCodec::default();
1374            let path = http::uri::PathAndQuery::from_static(
1375                "/nominal.asset.v2.AssetService/UnarchiveType",
1376            );
1377            let mut req = request.into_request();
1378            req.extensions_mut()
1379                .insert(
1380                    GrpcMethod::new("nominal.asset.v2.AssetService", "UnarchiveType"),
1381                );
1382            self.inner.unary(req, path, codec).await
1383        }
1384    }
1385}