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