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