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