aws_sdk_datazone/operation/get_asset/
_get_asset_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct GetAssetOutput {
6    /// <p>The ID of the asset.</p>
7    pub id: ::std::string::String,
8    /// <p>The name of the asset.</p>
9    pub name: ::std::string::String,
10    /// <p>The ID of the asset type.</p>
11    pub type_identifier: ::std::string::String,
12    /// <p>The revision of the asset type.</p>
13    pub type_revision: ::std::string::String,
14    /// <p>The external ID of the asset.</p>
15    pub external_identifier: ::std::option::Option<::std::string::String>,
16    /// <p>The revision of the asset.</p>
17    pub revision: ::std::string::String,
18    /// <p>The description of the Amazon DataZone asset.</p>
19    pub description: ::std::option::Option<::std::string::String>,
20    /// <p>The timestamp of when the asset was created.</p>
21    pub created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
22    /// <p>The Amazon DataZone user who created the asset.</p>
23    pub created_by: ::std::option::Option<::std::string::String>,
24    /// <p>The timestamp of when the first revision of the asset was created.</p>
25    pub first_revision_created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
26    /// <p>The Amazon DataZone user who created the first revision of the asset.</p>
27    pub first_revision_created_by: ::std::option::Option<::std::string::String>,
28    /// <p>The business glossary terms attached to the asset.</p>
29    pub glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
30    /// <p>The restricted glossary terms attached to an asset.</p>
31    pub governed_glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
32    /// <p>The ID of the project that owns the asset.</p>
33    pub owning_project_id: ::std::string::String,
34    /// <p>The ID of the Amazon DataZone domain to which the asset belongs.</p>
35    pub domain_id: ::std::string::String,
36    /// <p>The listing of the asset.</p>
37    pub listing: ::std::option::Option<crate::types::AssetListingDetails>,
38    /// <p>The metadata forms attached to the asset.</p>
39    pub forms_output: ::std::vec::Vec<crate::types::FormOutput>,
40    /// <p>The read-only metadata forms attached to the asset.</p>
41    pub read_only_forms_output: ::std::option::Option<::std::vec::Vec<crate::types::FormOutput>>,
42    /// <p>The latest data point that was imported into the time series form for the asset.</p>
43    pub latest_time_series_data_point_forms_output: ::std::option::Option<::std::vec::Vec<crate::types::TimeSeriesDataPointSummaryFormOutput>>,
44    _request_id: Option<String>,
45}
46impl GetAssetOutput {
47    /// <p>The ID of the asset.</p>
48    pub fn id(&self) -> &str {
49        use std::ops::Deref;
50        self.id.deref()
51    }
52    /// <p>The name of the asset.</p>
53    pub fn name(&self) -> &str {
54        use std::ops::Deref;
55        self.name.deref()
56    }
57    /// <p>The ID of the asset type.</p>
58    pub fn type_identifier(&self) -> &str {
59        use std::ops::Deref;
60        self.type_identifier.deref()
61    }
62    /// <p>The revision of the asset type.</p>
63    pub fn type_revision(&self) -> &str {
64        use std::ops::Deref;
65        self.type_revision.deref()
66    }
67    /// <p>The external ID of the asset.</p>
68    pub fn external_identifier(&self) -> ::std::option::Option<&str> {
69        self.external_identifier.as_deref()
70    }
71    /// <p>The revision of the asset.</p>
72    pub fn revision(&self) -> &str {
73        use std::ops::Deref;
74        self.revision.deref()
75    }
76    /// <p>The description of the Amazon DataZone asset.</p>
77    pub fn description(&self) -> ::std::option::Option<&str> {
78        self.description.as_deref()
79    }
80    /// <p>The timestamp of when the asset was created.</p>
81    pub fn created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
82        self.created_at.as_ref()
83    }
84    /// <p>The Amazon DataZone user who created the asset.</p>
85    pub fn created_by(&self) -> ::std::option::Option<&str> {
86        self.created_by.as_deref()
87    }
88    /// <p>The timestamp of when the first revision of the asset was created.</p>
89    pub fn first_revision_created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
90        self.first_revision_created_at.as_ref()
91    }
92    /// <p>The Amazon DataZone user who created the first revision of the asset.</p>
93    pub fn first_revision_created_by(&self) -> ::std::option::Option<&str> {
94        self.first_revision_created_by.as_deref()
95    }
96    /// <p>The business glossary terms attached to the asset.</p>
97    ///
98    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.glossary_terms.is_none()`.
99    pub fn glossary_terms(&self) -> &[::std::string::String] {
100        self.glossary_terms.as_deref().unwrap_or_default()
101    }
102    /// <p>The restricted glossary terms attached to an asset.</p>
103    ///
104    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.governed_glossary_terms.is_none()`.
105    pub fn governed_glossary_terms(&self) -> &[::std::string::String] {
106        self.governed_glossary_terms.as_deref().unwrap_or_default()
107    }
108    /// <p>The ID of the project that owns the asset.</p>
109    pub fn owning_project_id(&self) -> &str {
110        use std::ops::Deref;
111        self.owning_project_id.deref()
112    }
113    /// <p>The ID of the Amazon DataZone domain to which the asset belongs.</p>
114    pub fn domain_id(&self) -> &str {
115        use std::ops::Deref;
116        self.domain_id.deref()
117    }
118    /// <p>The listing of the asset.</p>
119    pub fn listing(&self) -> ::std::option::Option<&crate::types::AssetListingDetails> {
120        self.listing.as_ref()
121    }
122    /// <p>The metadata forms attached to the asset.</p>
123    pub fn forms_output(&self) -> &[crate::types::FormOutput] {
124        use std::ops::Deref;
125        self.forms_output.deref()
126    }
127    /// <p>The read-only metadata forms attached to the asset.</p>
128    ///
129    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.read_only_forms_output.is_none()`.
130    pub fn read_only_forms_output(&self) -> &[crate::types::FormOutput] {
131        self.read_only_forms_output.as_deref().unwrap_or_default()
132    }
133    /// <p>The latest data point that was imported into the time series form for the asset.</p>
134    ///
135    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.latest_time_series_data_point_forms_output.is_none()`.
136    pub fn latest_time_series_data_point_forms_output(&self) -> &[crate::types::TimeSeriesDataPointSummaryFormOutput] {
137        self.latest_time_series_data_point_forms_output.as_deref().unwrap_or_default()
138    }
139}
140impl ::std::fmt::Debug for GetAssetOutput {
141    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
142        let mut formatter = f.debug_struct("GetAssetOutput");
143        formatter.field("id", &self.id);
144        formatter.field("name", &"*** Sensitive Data Redacted ***");
145        formatter.field("type_identifier", &self.type_identifier);
146        formatter.field("type_revision", &self.type_revision);
147        formatter.field("external_identifier", &self.external_identifier);
148        formatter.field("revision", &self.revision);
149        formatter.field("description", &"*** Sensitive Data Redacted ***");
150        formatter.field("created_at", &self.created_at);
151        formatter.field("created_by", &self.created_by);
152        formatter.field("first_revision_created_at", &self.first_revision_created_at);
153        formatter.field("first_revision_created_by", &self.first_revision_created_by);
154        formatter.field("glossary_terms", &self.glossary_terms);
155        formatter.field("governed_glossary_terms", &self.governed_glossary_terms);
156        formatter.field("owning_project_id", &self.owning_project_id);
157        formatter.field("domain_id", &self.domain_id);
158        formatter.field("listing", &self.listing);
159        formatter.field("forms_output", &self.forms_output);
160        formatter.field("read_only_forms_output", &self.read_only_forms_output);
161        formatter.field(
162            "latest_time_series_data_point_forms_output",
163            &self.latest_time_series_data_point_forms_output,
164        );
165        formatter.field("_request_id", &self._request_id);
166        formatter.finish()
167    }
168}
169impl ::aws_types::request_id::RequestId for GetAssetOutput {
170    fn request_id(&self) -> Option<&str> {
171        self._request_id.as_deref()
172    }
173}
174impl GetAssetOutput {
175    /// Creates a new builder-style object to manufacture [`GetAssetOutput`](crate::operation::get_asset::GetAssetOutput).
176    pub fn builder() -> crate::operation::get_asset::builders::GetAssetOutputBuilder {
177        crate::operation::get_asset::builders::GetAssetOutputBuilder::default()
178    }
179}
180
181/// A builder for [`GetAssetOutput`](crate::operation::get_asset::GetAssetOutput).
182#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
183#[non_exhaustive]
184pub struct GetAssetOutputBuilder {
185    pub(crate) id: ::std::option::Option<::std::string::String>,
186    pub(crate) name: ::std::option::Option<::std::string::String>,
187    pub(crate) type_identifier: ::std::option::Option<::std::string::String>,
188    pub(crate) type_revision: ::std::option::Option<::std::string::String>,
189    pub(crate) external_identifier: ::std::option::Option<::std::string::String>,
190    pub(crate) revision: ::std::option::Option<::std::string::String>,
191    pub(crate) description: ::std::option::Option<::std::string::String>,
192    pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
193    pub(crate) created_by: ::std::option::Option<::std::string::String>,
194    pub(crate) first_revision_created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
195    pub(crate) first_revision_created_by: ::std::option::Option<::std::string::String>,
196    pub(crate) glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
197    pub(crate) governed_glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
198    pub(crate) owning_project_id: ::std::option::Option<::std::string::String>,
199    pub(crate) domain_id: ::std::option::Option<::std::string::String>,
200    pub(crate) listing: ::std::option::Option<crate::types::AssetListingDetails>,
201    pub(crate) forms_output: ::std::option::Option<::std::vec::Vec<crate::types::FormOutput>>,
202    pub(crate) read_only_forms_output: ::std::option::Option<::std::vec::Vec<crate::types::FormOutput>>,
203    pub(crate) latest_time_series_data_point_forms_output: ::std::option::Option<::std::vec::Vec<crate::types::TimeSeriesDataPointSummaryFormOutput>>,
204    _request_id: Option<String>,
205}
206impl GetAssetOutputBuilder {
207    /// <p>The ID of the asset.</p>
208    /// This field is required.
209    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210        self.id = ::std::option::Option::Some(input.into());
211        self
212    }
213    /// <p>The ID of the asset.</p>
214    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215        self.id = input;
216        self
217    }
218    /// <p>The ID of the asset.</p>
219    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
220        &self.id
221    }
222    /// <p>The name of the asset.</p>
223    /// This field is required.
224    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
225        self.name = ::std::option::Option::Some(input.into());
226        self
227    }
228    /// <p>The name of the asset.</p>
229    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
230        self.name = input;
231        self
232    }
233    /// <p>The name of the asset.</p>
234    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
235        &self.name
236    }
237    /// <p>The ID of the asset type.</p>
238    /// This field is required.
239    pub fn type_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
240        self.type_identifier = ::std::option::Option::Some(input.into());
241        self
242    }
243    /// <p>The ID of the asset type.</p>
244    pub fn set_type_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
245        self.type_identifier = input;
246        self
247    }
248    /// <p>The ID of the asset type.</p>
249    pub fn get_type_identifier(&self) -> &::std::option::Option<::std::string::String> {
250        &self.type_identifier
251    }
252    /// <p>The revision of the asset type.</p>
253    /// This field is required.
254    pub fn type_revision(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
255        self.type_revision = ::std::option::Option::Some(input.into());
256        self
257    }
258    /// <p>The revision of the asset type.</p>
259    pub fn set_type_revision(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
260        self.type_revision = input;
261        self
262    }
263    /// <p>The revision of the asset type.</p>
264    pub fn get_type_revision(&self) -> &::std::option::Option<::std::string::String> {
265        &self.type_revision
266    }
267    /// <p>The external ID of the asset.</p>
268    pub fn external_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
269        self.external_identifier = ::std::option::Option::Some(input.into());
270        self
271    }
272    /// <p>The external ID of the asset.</p>
273    pub fn set_external_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
274        self.external_identifier = input;
275        self
276    }
277    /// <p>The external ID of the asset.</p>
278    pub fn get_external_identifier(&self) -> &::std::option::Option<::std::string::String> {
279        &self.external_identifier
280    }
281    /// <p>The revision of the asset.</p>
282    /// This field is required.
283    pub fn revision(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
284        self.revision = ::std::option::Option::Some(input.into());
285        self
286    }
287    /// <p>The revision of the asset.</p>
288    pub fn set_revision(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
289        self.revision = input;
290        self
291    }
292    /// <p>The revision of the asset.</p>
293    pub fn get_revision(&self) -> &::std::option::Option<::std::string::String> {
294        &self.revision
295    }
296    /// <p>The description of the Amazon DataZone asset.</p>
297    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
298        self.description = ::std::option::Option::Some(input.into());
299        self
300    }
301    /// <p>The description of the Amazon DataZone asset.</p>
302    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
303        self.description = input;
304        self
305    }
306    /// <p>The description of the Amazon DataZone asset.</p>
307    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
308        &self.description
309    }
310    /// <p>The timestamp of when the asset was created.</p>
311    pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
312        self.created_at = ::std::option::Option::Some(input);
313        self
314    }
315    /// <p>The timestamp of when the asset was created.</p>
316    pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
317        self.created_at = input;
318        self
319    }
320    /// <p>The timestamp of when the asset was created.</p>
321    pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
322        &self.created_at
323    }
324    /// <p>The Amazon DataZone user who created the asset.</p>
325    pub fn created_by(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
326        self.created_by = ::std::option::Option::Some(input.into());
327        self
328    }
329    /// <p>The Amazon DataZone user who created the asset.</p>
330    pub fn set_created_by(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
331        self.created_by = input;
332        self
333    }
334    /// <p>The Amazon DataZone user who created the asset.</p>
335    pub fn get_created_by(&self) -> &::std::option::Option<::std::string::String> {
336        &self.created_by
337    }
338    /// <p>The timestamp of when the first revision of the asset was created.</p>
339    pub fn first_revision_created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
340        self.first_revision_created_at = ::std::option::Option::Some(input);
341        self
342    }
343    /// <p>The timestamp of when the first revision of the asset was created.</p>
344    pub fn set_first_revision_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
345        self.first_revision_created_at = input;
346        self
347    }
348    /// <p>The timestamp of when the first revision of the asset was created.</p>
349    pub fn get_first_revision_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
350        &self.first_revision_created_at
351    }
352    /// <p>The Amazon DataZone user who created the first revision of the asset.</p>
353    pub fn first_revision_created_by(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
354        self.first_revision_created_by = ::std::option::Option::Some(input.into());
355        self
356    }
357    /// <p>The Amazon DataZone user who created the first revision of the asset.</p>
358    pub fn set_first_revision_created_by(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
359        self.first_revision_created_by = input;
360        self
361    }
362    /// <p>The Amazon DataZone user who created the first revision of the asset.</p>
363    pub fn get_first_revision_created_by(&self) -> &::std::option::Option<::std::string::String> {
364        &self.first_revision_created_by
365    }
366    /// Appends an item to `glossary_terms`.
367    ///
368    /// To override the contents of this collection use [`set_glossary_terms`](Self::set_glossary_terms).
369    ///
370    /// <p>The business glossary terms attached to the asset.</p>
371    pub fn glossary_terms(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
372        let mut v = self.glossary_terms.unwrap_or_default();
373        v.push(input.into());
374        self.glossary_terms = ::std::option::Option::Some(v);
375        self
376    }
377    /// <p>The business glossary terms attached to the asset.</p>
378    pub fn set_glossary_terms(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
379        self.glossary_terms = input;
380        self
381    }
382    /// <p>The business glossary terms attached to the asset.</p>
383    pub fn get_glossary_terms(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
384        &self.glossary_terms
385    }
386    /// Appends an item to `governed_glossary_terms`.
387    ///
388    /// To override the contents of this collection use [`set_governed_glossary_terms`](Self::set_governed_glossary_terms).
389    ///
390    /// <p>The restricted glossary terms attached to an asset.</p>
391    pub fn governed_glossary_terms(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
392        let mut v = self.governed_glossary_terms.unwrap_or_default();
393        v.push(input.into());
394        self.governed_glossary_terms = ::std::option::Option::Some(v);
395        self
396    }
397    /// <p>The restricted glossary terms attached to an asset.</p>
398    pub fn set_governed_glossary_terms(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
399        self.governed_glossary_terms = input;
400        self
401    }
402    /// <p>The restricted glossary terms attached to an asset.</p>
403    pub fn get_governed_glossary_terms(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
404        &self.governed_glossary_terms
405    }
406    /// <p>The ID of the project that owns the asset.</p>
407    /// This field is required.
408    pub fn owning_project_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
409        self.owning_project_id = ::std::option::Option::Some(input.into());
410        self
411    }
412    /// <p>The ID of the project that owns the asset.</p>
413    pub fn set_owning_project_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
414        self.owning_project_id = input;
415        self
416    }
417    /// <p>The ID of the project that owns the asset.</p>
418    pub fn get_owning_project_id(&self) -> &::std::option::Option<::std::string::String> {
419        &self.owning_project_id
420    }
421    /// <p>The ID of the Amazon DataZone domain to which the asset belongs.</p>
422    /// This field is required.
423    pub fn domain_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
424        self.domain_id = ::std::option::Option::Some(input.into());
425        self
426    }
427    /// <p>The ID of the Amazon DataZone domain to which the asset belongs.</p>
428    pub fn set_domain_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
429        self.domain_id = input;
430        self
431    }
432    /// <p>The ID of the Amazon DataZone domain to which the asset belongs.</p>
433    pub fn get_domain_id(&self) -> &::std::option::Option<::std::string::String> {
434        &self.domain_id
435    }
436    /// <p>The listing of the asset.</p>
437    pub fn listing(mut self, input: crate::types::AssetListingDetails) -> Self {
438        self.listing = ::std::option::Option::Some(input);
439        self
440    }
441    /// <p>The listing of the asset.</p>
442    pub fn set_listing(mut self, input: ::std::option::Option<crate::types::AssetListingDetails>) -> Self {
443        self.listing = input;
444        self
445    }
446    /// <p>The listing of the asset.</p>
447    pub fn get_listing(&self) -> &::std::option::Option<crate::types::AssetListingDetails> {
448        &self.listing
449    }
450    /// Appends an item to `forms_output`.
451    ///
452    /// To override the contents of this collection use [`set_forms_output`](Self::set_forms_output).
453    ///
454    /// <p>The metadata forms attached to the asset.</p>
455    pub fn forms_output(mut self, input: crate::types::FormOutput) -> Self {
456        let mut v = self.forms_output.unwrap_or_default();
457        v.push(input);
458        self.forms_output = ::std::option::Option::Some(v);
459        self
460    }
461    /// <p>The metadata forms attached to the asset.</p>
462    pub fn set_forms_output(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FormOutput>>) -> Self {
463        self.forms_output = input;
464        self
465    }
466    /// <p>The metadata forms attached to the asset.</p>
467    pub fn get_forms_output(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FormOutput>> {
468        &self.forms_output
469    }
470    /// Appends an item to `read_only_forms_output`.
471    ///
472    /// To override the contents of this collection use [`set_read_only_forms_output`](Self::set_read_only_forms_output).
473    ///
474    /// <p>The read-only metadata forms attached to the asset.</p>
475    pub fn read_only_forms_output(mut self, input: crate::types::FormOutput) -> Self {
476        let mut v = self.read_only_forms_output.unwrap_or_default();
477        v.push(input);
478        self.read_only_forms_output = ::std::option::Option::Some(v);
479        self
480    }
481    /// <p>The read-only metadata forms attached to the asset.</p>
482    pub fn set_read_only_forms_output(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FormOutput>>) -> Self {
483        self.read_only_forms_output = input;
484        self
485    }
486    /// <p>The read-only metadata forms attached to the asset.</p>
487    pub fn get_read_only_forms_output(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FormOutput>> {
488        &self.read_only_forms_output
489    }
490    /// Appends an item to `latest_time_series_data_point_forms_output`.
491    ///
492    /// To override the contents of this collection use [`set_latest_time_series_data_point_forms_output`](Self::set_latest_time_series_data_point_forms_output).
493    ///
494    /// <p>The latest data point that was imported into the time series form for the asset.</p>
495    pub fn latest_time_series_data_point_forms_output(mut self, input: crate::types::TimeSeriesDataPointSummaryFormOutput) -> Self {
496        let mut v = self.latest_time_series_data_point_forms_output.unwrap_or_default();
497        v.push(input);
498        self.latest_time_series_data_point_forms_output = ::std::option::Option::Some(v);
499        self
500    }
501    /// <p>The latest data point that was imported into the time series form for the asset.</p>
502    pub fn set_latest_time_series_data_point_forms_output(
503        mut self,
504        input: ::std::option::Option<::std::vec::Vec<crate::types::TimeSeriesDataPointSummaryFormOutput>>,
505    ) -> Self {
506        self.latest_time_series_data_point_forms_output = input;
507        self
508    }
509    /// <p>The latest data point that was imported into the time series form for the asset.</p>
510    pub fn get_latest_time_series_data_point_forms_output(
511        &self,
512    ) -> &::std::option::Option<::std::vec::Vec<crate::types::TimeSeriesDataPointSummaryFormOutput>> {
513        &self.latest_time_series_data_point_forms_output
514    }
515    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
516        self._request_id = Some(request_id.into());
517        self
518    }
519
520    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
521        self._request_id = request_id;
522        self
523    }
524    /// Consumes the builder and constructs a [`GetAssetOutput`](crate::operation::get_asset::GetAssetOutput).
525    /// This method will fail if any of the following fields are not set:
526    /// - [`id`](crate::operation::get_asset::builders::GetAssetOutputBuilder::id)
527    /// - [`name`](crate::operation::get_asset::builders::GetAssetOutputBuilder::name)
528    /// - [`type_identifier`](crate::operation::get_asset::builders::GetAssetOutputBuilder::type_identifier)
529    /// - [`type_revision`](crate::operation::get_asset::builders::GetAssetOutputBuilder::type_revision)
530    /// - [`revision`](crate::operation::get_asset::builders::GetAssetOutputBuilder::revision)
531    /// - [`owning_project_id`](crate::operation::get_asset::builders::GetAssetOutputBuilder::owning_project_id)
532    /// - [`domain_id`](crate::operation::get_asset::builders::GetAssetOutputBuilder::domain_id)
533    /// - [`forms_output`](crate::operation::get_asset::builders::GetAssetOutputBuilder::forms_output)
534    pub fn build(self) -> ::std::result::Result<crate::operation::get_asset::GetAssetOutput, ::aws_smithy_types::error::operation::BuildError> {
535        ::std::result::Result::Ok(crate::operation::get_asset::GetAssetOutput {
536            id: self.id.ok_or_else(|| {
537                ::aws_smithy_types::error::operation::BuildError::missing_field(
538                    "id",
539                    "id was not specified but it is required when building GetAssetOutput",
540                )
541            })?,
542            name: self.name.ok_or_else(|| {
543                ::aws_smithy_types::error::operation::BuildError::missing_field(
544                    "name",
545                    "name was not specified but it is required when building GetAssetOutput",
546                )
547            })?,
548            type_identifier: self.type_identifier.ok_or_else(|| {
549                ::aws_smithy_types::error::operation::BuildError::missing_field(
550                    "type_identifier",
551                    "type_identifier was not specified but it is required when building GetAssetOutput",
552                )
553            })?,
554            type_revision: self.type_revision.ok_or_else(|| {
555                ::aws_smithy_types::error::operation::BuildError::missing_field(
556                    "type_revision",
557                    "type_revision was not specified but it is required when building GetAssetOutput",
558                )
559            })?,
560            external_identifier: self.external_identifier,
561            revision: self.revision.ok_or_else(|| {
562                ::aws_smithy_types::error::operation::BuildError::missing_field(
563                    "revision",
564                    "revision was not specified but it is required when building GetAssetOutput",
565                )
566            })?,
567            description: self.description,
568            created_at: self.created_at,
569            created_by: self.created_by,
570            first_revision_created_at: self.first_revision_created_at,
571            first_revision_created_by: self.first_revision_created_by,
572            glossary_terms: self.glossary_terms,
573            governed_glossary_terms: self.governed_glossary_terms,
574            owning_project_id: self.owning_project_id.ok_or_else(|| {
575                ::aws_smithy_types::error::operation::BuildError::missing_field(
576                    "owning_project_id",
577                    "owning_project_id was not specified but it is required when building GetAssetOutput",
578                )
579            })?,
580            domain_id: self.domain_id.ok_or_else(|| {
581                ::aws_smithy_types::error::operation::BuildError::missing_field(
582                    "domain_id",
583                    "domain_id was not specified but it is required when building GetAssetOutput",
584                )
585            })?,
586            listing: self.listing,
587            forms_output: self.forms_output.ok_or_else(|| {
588                ::aws_smithy_types::error::operation::BuildError::missing_field(
589                    "forms_output",
590                    "forms_output was not specified but it is required when building GetAssetOutput",
591                )
592            })?,
593            read_only_forms_output: self.read_only_forms_output,
594            latest_time_series_data_point_forms_output: self.latest_time_series_data_point_forms_output,
595            _request_id: self._request_id,
596        })
597    }
598}
599impl ::std::fmt::Debug for GetAssetOutputBuilder {
600    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
601        let mut formatter = f.debug_struct("GetAssetOutputBuilder");
602        formatter.field("id", &self.id);
603        formatter.field("name", &"*** Sensitive Data Redacted ***");
604        formatter.field("type_identifier", &self.type_identifier);
605        formatter.field("type_revision", &self.type_revision);
606        formatter.field("external_identifier", &self.external_identifier);
607        formatter.field("revision", &self.revision);
608        formatter.field("description", &"*** Sensitive Data Redacted ***");
609        formatter.field("created_at", &self.created_at);
610        formatter.field("created_by", &self.created_by);
611        formatter.field("first_revision_created_at", &self.first_revision_created_at);
612        formatter.field("first_revision_created_by", &self.first_revision_created_by);
613        formatter.field("glossary_terms", &self.glossary_terms);
614        formatter.field("governed_glossary_terms", &self.governed_glossary_terms);
615        formatter.field("owning_project_id", &self.owning_project_id);
616        formatter.field("domain_id", &self.domain_id);
617        formatter.field("listing", &self.listing);
618        formatter.field("forms_output", &self.forms_output);
619        formatter.field("read_only_forms_output", &self.read_only_forms_output);
620        formatter.field(
621            "latest_time_series_data_point_forms_output",
622            &self.latest_time_series_data_point_forms_output,
623        );
624        formatter.field("_request_id", &self._request_id);
625        formatter.finish()
626    }
627}