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