aws_sdk_datazone/operation/get_project/
_get_project_output.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct GetProjectOutput {
6 pub domain_id: ::std::string::String,
8 pub id: ::std::string::String,
10 pub name: ::std::string::String,
12 pub description: ::std::option::Option<::std::string::String>,
14 pub project_status: ::std::option::Option<crate::types::ProjectStatus>,
16 pub failure_reasons: ::std::option::Option<::std::vec::Vec<crate::types::ProjectDeletionError>>,
18 pub created_by: ::std::string::String,
20 pub created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
22 pub last_updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
24 pub resource_tags: ::std::option::Option<::std::vec::Vec<crate::types::ResourceTag>>,
26 pub glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
28 pub domain_unit_id: ::std::option::Option<::std::string::String>,
30 pub project_profile_id: ::std::option::Option<::std::string::String>,
32 pub user_parameters: ::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>>,
34 pub environment_deployment_details: ::std::option::Option<crate::types::EnvironmentDeploymentDetails>,
36 pub project_category: ::std::option::Option<::std::string::String>,
38 _request_id: Option<String>,
39}
40impl GetProjectOutput {
41 pub fn domain_id(&self) -> &str {
43 use std::ops::Deref;
44 self.domain_id.deref()
45 }
46 pub fn id(&self) -> &str {
48 use std::ops::Deref;
49 self.id.deref()
50 }
51 pub fn name(&self) -> &str {
53 use std::ops::Deref;
54 self.name.deref()
55 }
56 pub fn description(&self) -> ::std::option::Option<&str> {
58 self.description.as_deref()
59 }
60 pub fn project_status(&self) -> ::std::option::Option<&crate::types::ProjectStatus> {
62 self.project_status.as_ref()
63 }
64 pub fn failure_reasons(&self) -> &[crate::types::ProjectDeletionError] {
68 self.failure_reasons.as_deref().unwrap_or_default()
69 }
70 pub fn created_by(&self) -> &str {
72 use std::ops::Deref;
73 self.created_by.deref()
74 }
75 pub fn created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
77 self.created_at.as_ref()
78 }
79 pub fn last_updated_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
81 self.last_updated_at.as_ref()
82 }
83 pub fn resource_tags(&self) -> &[crate::types::ResourceTag] {
87 self.resource_tags.as_deref().unwrap_or_default()
88 }
89 pub fn glossary_terms(&self) -> &[::std::string::String] {
93 self.glossary_terms.as_deref().unwrap_or_default()
94 }
95 pub fn domain_unit_id(&self) -> ::std::option::Option<&str> {
97 self.domain_unit_id.as_deref()
98 }
99 pub fn project_profile_id(&self) -> ::std::option::Option<&str> {
101 self.project_profile_id.as_deref()
102 }
103 pub fn user_parameters(&self) -> &[crate::types::EnvironmentConfigurationUserParameter] {
107 self.user_parameters.as_deref().unwrap_or_default()
108 }
109 pub fn environment_deployment_details(&self) -> ::std::option::Option<&crate::types::EnvironmentDeploymentDetails> {
111 self.environment_deployment_details.as_ref()
112 }
113 pub fn project_category(&self) -> ::std::option::Option<&str> {
115 self.project_category.as_deref()
116 }
117}
118impl ::std::fmt::Debug for GetProjectOutput {
119 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
120 let mut formatter = f.debug_struct("GetProjectOutput");
121 formatter.field("domain_id", &self.domain_id);
122 formatter.field("id", &self.id);
123 formatter.field("name", &"*** Sensitive Data Redacted ***");
124 formatter.field("description", &"*** Sensitive Data Redacted ***");
125 formatter.field("project_status", &self.project_status);
126 formatter.field("failure_reasons", &self.failure_reasons);
127 formatter.field("created_by", &self.created_by);
128 formatter.field("created_at", &self.created_at);
129 formatter.field("last_updated_at", &self.last_updated_at);
130 formatter.field("resource_tags", &self.resource_tags);
131 formatter.field("glossary_terms", &self.glossary_terms);
132 formatter.field("domain_unit_id", &self.domain_unit_id);
133 formatter.field("project_profile_id", &self.project_profile_id);
134 formatter.field("user_parameters", &self.user_parameters);
135 formatter.field("environment_deployment_details", &self.environment_deployment_details);
136 formatter.field("project_category", &self.project_category);
137 formatter.field("_request_id", &self._request_id);
138 formatter.finish()
139 }
140}
141impl ::aws_types::request_id::RequestId for GetProjectOutput {
142 fn request_id(&self) -> Option<&str> {
143 self._request_id.as_deref()
144 }
145}
146impl GetProjectOutput {
147 pub fn builder() -> crate::operation::get_project::builders::GetProjectOutputBuilder {
149 crate::operation::get_project::builders::GetProjectOutputBuilder::default()
150 }
151}
152
153#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
155#[non_exhaustive]
156pub struct GetProjectOutputBuilder {
157 pub(crate) domain_id: ::std::option::Option<::std::string::String>,
158 pub(crate) id: ::std::option::Option<::std::string::String>,
159 pub(crate) name: ::std::option::Option<::std::string::String>,
160 pub(crate) description: ::std::option::Option<::std::string::String>,
161 pub(crate) project_status: ::std::option::Option<crate::types::ProjectStatus>,
162 pub(crate) failure_reasons: ::std::option::Option<::std::vec::Vec<crate::types::ProjectDeletionError>>,
163 pub(crate) created_by: ::std::option::Option<::std::string::String>,
164 pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
165 pub(crate) last_updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
166 pub(crate) resource_tags: ::std::option::Option<::std::vec::Vec<crate::types::ResourceTag>>,
167 pub(crate) glossary_terms: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
168 pub(crate) domain_unit_id: ::std::option::Option<::std::string::String>,
169 pub(crate) project_profile_id: ::std::option::Option<::std::string::String>,
170 pub(crate) user_parameters: ::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>>,
171 pub(crate) environment_deployment_details: ::std::option::Option<crate::types::EnvironmentDeploymentDetails>,
172 pub(crate) project_category: ::std::option::Option<::std::string::String>,
173 _request_id: Option<String>,
174}
175impl GetProjectOutputBuilder {
176 pub fn domain_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
179 self.domain_id = ::std::option::Option::Some(input.into());
180 self
181 }
182 pub fn set_domain_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
184 self.domain_id = input;
185 self
186 }
187 pub fn get_domain_id(&self) -> &::std::option::Option<::std::string::String> {
189 &self.domain_id
190 }
191 pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194 self.id = ::std::option::Option::Some(input.into());
195 self
196 }
197 pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199 self.id = input;
200 self
201 }
202 pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
204 &self.id
205 }
206 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
209 self.name = ::std::option::Option::Some(input.into());
210 self
211 }
212 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
214 self.name = input;
215 self
216 }
217 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
219 &self.name
220 }
221 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
223 self.description = ::std::option::Option::Some(input.into());
224 self
225 }
226 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228 self.description = input;
229 self
230 }
231 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
233 &self.description
234 }
235 pub fn project_status(mut self, input: crate::types::ProjectStatus) -> Self {
237 self.project_status = ::std::option::Option::Some(input);
238 self
239 }
240 pub fn set_project_status(mut self, input: ::std::option::Option<crate::types::ProjectStatus>) -> Self {
242 self.project_status = input;
243 self
244 }
245 pub fn get_project_status(&self) -> &::std::option::Option<crate::types::ProjectStatus> {
247 &self.project_status
248 }
249 pub fn failure_reasons(mut self, input: crate::types::ProjectDeletionError) -> Self {
255 let mut v = self.failure_reasons.unwrap_or_default();
256 v.push(input);
257 self.failure_reasons = ::std::option::Option::Some(v);
258 self
259 }
260 pub fn set_failure_reasons(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProjectDeletionError>>) -> Self {
262 self.failure_reasons = input;
263 self
264 }
265 pub fn get_failure_reasons(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProjectDeletionError>> {
267 &self.failure_reasons
268 }
269 pub fn created_by(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
272 self.created_by = ::std::option::Option::Some(input.into());
273 self
274 }
275 pub fn set_created_by(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
277 self.created_by = input;
278 self
279 }
280 pub fn get_created_by(&self) -> &::std::option::Option<::std::string::String> {
282 &self.created_by
283 }
284 pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
286 self.created_at = ::std::option::Option::Some(input);
287 self
288 }
289 pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
291 self.created_at = input;
292 self
293 }
294 pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
296 &self.created_at
297 }
298 pub fn last_updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
300 self.last_updated_at = ::std::option::Option::Some(input);
301 self
302 }
303 pub fn set_last_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
305 self.last_updated_at = input;
306 self
307 }
308 pub fn get_last_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
310 &self.last_updated_at
311 }
312 pub fn resource_tags(mut self, input: crate::types::ResourceTag) -> Self {
318 let mut v = self.resource_tags.unwrap_or_default();
319 v.push(input);
320 self.resource_tags = ::std::option::Option::Some(v);
321 self
322 }
323 pub fn set_resource_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ResourceTag>>) -> Self {
325 self.resource_tags = input;
326 self
327 }
328 pub fn get_resource_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ResourceTag>> {
330 &self.resource_tags
331 }
332 pub fn glossary_terms(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
338 let mut v = self.glossary_terms.unwrap_or_default();
339 v.push(input.into());
340 self.glossary_terms = ::std::option::Option::Some(v);
341 self
342 }
343 pub fn set_glossary_terms(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
345 self.glossary_terms = input;
346 self
347 }
348 pub fn get_glossary_terms(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
350 &self.glossary_terms
351 }
352 pub fn domain_unit_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
354 self.domain_unit_id = ::std::option::Option::Some(input.into());
355 self
356 }
357 pub fn set_domain_unit_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
359 self.domain_unit_id = input;
360 self
361 }
362 pub fn get_domain_unit_id(&self) -> &::std::option::Option<::std::string::String> {
364 &self.domain_unit_id
365 }
366 pub fn project_profile_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
368 self.project_profile_id = ::std::option::Option::Some(input.into());
369 self
370 }
371 pub fn set_project_profile_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
373 self.project_profile_id = input;
374 self
375 }
376 pub fn get_project_profile_id(&self) -> &::std::option::Option<::std::string::String> {
378 &self.project_profile_id
379 }
380 pub fn user_parameters(mut self, input: crate::types::EnvironmentConfigurationUserParameter) -> Self {
386 let mut v = self.user_parameters.unwrap_or_default();
387 v.push(input);
388 self.user_parameters = ::std::option::Option::Some(v);
389 self
390 }
391 pub fn set_user_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>>) -> Self {
393 self.user_parameters = input;
394 self
395 }
396 pub fn get_user_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::EnvironmentConfigurationUserParameter>> {
398 &self.user_parameters
399 }
400 pub fn environment_deployment_details(mut self, input: crate::types::EnvironmentDeploymentDetails) -> Self {
402 self.environment_deployment_details = ::std::option::Option::Some(input);
403 self
404 }
405 pub fn set_environment_deployment_details(mut self, input: ::std::option::Option<crate::types::EnvironmentDeploymentDetails>) -> Self {
407 self.environment_deployment_details = input;
408 self
409 }
410 pub fn get_environment_deployment_details(&self) -> &::std::option::Option<crate::types::EnvironmentDeploymentDetails> {
412 &self.environment_deployment_details
413 }
414 pub fn project_category(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
416 self.project_category = ::std::option::Option::Some(input.into());
417 self
418 }
419 pub fn set_project_category(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
421 self.project_category = input;
422 self
423 }
424 pub fn get_project_category(&self) -> &::std::option::Option<::std::string::String> {
426 &self.project_category
427 }
428 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
429 self._request_id = Some(request_id.into());
430 self
431 }
432
433 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
434 self._request_id = request_id;
435 self
436 }
437 pub fn build(self) -> ::std::result::Result<crate::operation::get_project::GetProjectOutput, ::aws_smithy_types::error::operation::BuildError> {
444 ::std::result::Result::Ok(crate::operation::get_project::GetProjectOutput {
445 domain_id: self.domain_id.ok_or_else(|| {
446 ::aws_smithy_types::error::operation::BuildError::missing_field(
447 "domain_id",
448 "domain_id was not specified but it is required when building GetProjectOutput",
449 )
450 })?,
451 id: self.id.ok_or_else(|| {
452 ::aws_smithy_types::error::operation::BuildError::missing_field(
453 "id",
454 "id was not specified but it is required when building GetProjectOutput",
455 )
456 })?,
457 name: self.name.ok_or_else(|| {
458 ::aws_smithy_types::error::operation::BuildError::missing_field(
459 "name",
460 "name was not specified but it is required when building GetProjectOutput",
461 )
462 })?,
463 description: self.description,
464 project_status: self.project_status,
465 failure_reasons: self.failure_reasons,
466 created_by: self.created_by.ok_or_else(|| {
467 ::aws_smithy_types::error::operation::BuildError::missing_field(
468 "created_by",
469 "created_by was not specified but it is required when building GetProjectOutput",
470 )
471 })?,
472 created_at: self.created_at,
473 last_updated_at: self.last_updated_at,
474 resource_tags: self.resource_tags,
475 glossary_terms: self.glossary_terms,
476 domain_unit_id: self.domain_unit_id,
477 project_profile_id: self.project_profile_id,
478 user_parameters: self.user_parameters,
479 environment_deployment_details: self.environment_deployment_details,
480 project_category: self.project_category,
481 _request_id: self._request_id,
482 })
483 }
484}
485impl ::std::fmt::Debug for GetProjectOutputBuilder {
486 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
487 let mut formatter = f.debug_struct("GetProjectOutputBuilder");
488 formatter.field("domain_id", &self.domain_id);
489 formatter.field("id", &self.id);
490 formatter.field("name", &"*** Sensitive Data Redacted ***");
491 formatter.field("description", &"*** Sensitive Data Redacted ***");
492 formatter.field("project_status", &self.project_status);
493 formatter.field("failure_reasons", &self.failure_reasons);
494 formatter.field("created_by", &self.created_by);
495 formatter.field("created_at", &self.created_at);
496 formatter.field("last_updated_at", &self.last_updated_at);
497 formatter.field("resource_tags", &self.resource_tags);
498 formatter.field("glossary_terms", &self.glossary_terms);
499 formatter.field("domain_unit_id", &self.domain_unit_id);
500 formatter.field("project_profile_id", &self.project_profile_id);
501 formatter.field("user_parameters", &self.user_parameters);
502 formatter.field("environment_deployment_details", &self.environment_deployment_details);
503 formatter.field("project_category", &self.project_category);
504 formatter.field("_request_id", &self._request_id);
505 formatter.finish()
506 }
507}