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