aws_sdk_repostspace/operation/get_space/
_get_space_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 GetSpaceOutput {
6    /// <p>The unique ID of the private re:Post.</p>
7    pub space_id: ::std::string::String,
8    /// <p>The ARN of the private re:Post.</p>
9    pub arn: ::std::string::String,
10    /// <p>The name of the private re:Post.</p>
11    pub name: ::std::string::String,
12    /// <p>The creation or deletion status of the private re:Post.</p>
13    pub status: ::std::string::String,
14    /// <p>The configuration status of the private re:Post.</p>
15    pub configuration_status: crate::types::ConfigurationStatus,
16    /// <p>The Identity Center identifier for the Application Instance.</p>
17    pub client_id: ::std::string::String,
18    /// <p></p>
19    pub identity_store_id: ::std::option::Option<::std::string::String>,
20    /// <p></p>
21    pub application_arn: ::std::option::Option<::std::string::String>,
22    /// <p>The description of the private re:Post.</p>
23    pub description: ::std::option::Option<::std::string::String>,
24    /// <p>The approval status of the custom subdomain.</p>
25    pub vanity_domain_status: crate::types::VanityDomainStatus,
26    /// <p>The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.</p>
27    pub vanity_domain: ::std::string::String,
28    /// <p>The AWS generated subdomain of the private re:Post</p>
29    pub random_domain: ::std::string::String,
30    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
31    pub customer_role_arn: ::std::option::Option<::std::string::String>,
32    /// <p>The date when the private re:Post was created.</p>
33    pub create_date_time: ::aws_smithy_types::DateTime,
34    /// <p>The date when the private re:Post was deleted.</p>
35    pub delete_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
36    /// <p>The pricing tier of the private re:Post.</p>
37    pub tier: crate::types::TierLevel,
38    /// <p>The storage limit of the private re:Post.</p>
39    pub storage_limit: i64,
40    /// <p>The list of users that are administrators of the private re:Post.</p>
41    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
42    pub user_admins: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
43    /// <p>The list of groups that are administrators of the private re:Post.</p>
44    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
45    pub group_admins: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
46    /// <p>A map of accessor identifiers and their roles.</p>
47    pub roles: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::Role>>>,
48    /// <p>The custom AWS KMS key ARN that’s used for the AWS KMS encryption.</p>
49    pub user_kms_key: ::std::option::Option<::std::string::String>,
50    /// <p>The number of users that have onboarded to the private re:Post.</p>
51    pub user_count: ::std::option::Option<i32>,
52    /// <p>The content size of the private re:Post.</p>
53    pub content_size: ::std::option::Option<i64>,
54    /// <p></p>
55    pub supported_email_domains: ::std::option::Option<crate::types::SupportedEmailDomainsStatus>,
56    _request_id: Option<String>,
57}
58impl GetSpaceOutput {
59    /// <p>The unique ID of the private re:Post.</p>
60    pub fn space_id(&self) -> &str {
61        use std::ops::Deref;
62        self.space_id.deref()
63    }
64    /// <p>The ARN of the private re:Post.</p>
65    pub fn arn(&self) -> &str {
66        use std::ops::Deref;
67        self.arn.deref()
68    }
69    /// <p>The name of the private re:Post.</p>
70    pub fn name(&self) -> &str {
71        use std::ops::Deref;
72        self.name.deref()
73    }
74    /// <p>The creation or deletion status of the private re:Post.</p>
75    pub fn status(&self) -> &str {
76        use std::ops::Deref;
77        self.status.deref()
78    }
79    /// <p>The configuration status of the private re:Post.</p>
80    pub fn configuration_status(&self) -> &crate::types::ConfigurationStatus {
81        &self.configuration_status
82    }
83    /// <p>The Identity Center identifier for the Application Instance.</p>
84    pub fn client_id(&self) -> &str {
85        use std::ops::Deref;
86        self.client_id.deref()
87    }
88    /// <p></p>
89    pub fn identity_store_id(&self) -> ::std::option::Option<&str> {
90        self.identity_store_id.as_deref()
91    }
92    /// <p></p>
93    pub fn application_arn(&self) -> ::std::option::Option<&str> {
94        self.application_arn.as_deref()
95    }
96    /// <p>The description of the private re:Post.</p>
97    pub fn description(&self) -> ::std::option::Option<&str> {
98        self.description.as_deref()
99    }
100    /// <p>The approval status of the custom subdomain.</p>
101    pub fn vanity_domain_status(&self) -> &crate::types::VanityDomainStatus {
102        &self.vanity_domain_status
103    }
104    /// <p>The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.</p>
105    pub fn vanity_domain(&self) -> &str {
106        use std::ops::Deref;
107        self.vanity_domain.deref()
108    }
109    /// <p>The AWS generated subdomain of the private re:Post</p>
110    pub fn random_domain(&self) -> &str {
111        use std::ops::Deref;
112        self.random_domain.deref()
113    }
114    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
115    pub fn customer_role_arn(&self) -> ::std::option::Option<&str> {
116        self.customer_role_arn.as_deref()
117    }
118    /// <p>The date when the private re:Post was created.</p>
119    pub fn create_date_time(&self) -> &::aws_smithy_types::DateTime {
120        &self.create_date_time
121    }
122    /// <p>The date when the private re:Post was deleted.</p>
123    pub fn delete_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
124        self.delete_date_time.as_ref()
125    }
126    /// <p>The pricing tier of the private re:Post.</p>
127    pub fn tier(&self) -> &crate::types::TierLevel {
128        &self.tier
129    }
130    /// <p>The storage limit of the private re:Post.</p>
131    pub fn storage_limit(&self) -> i64 {
132        self.storage_limit
133    }
134    /// <p>The list of users that are administrators of the private re:Post.</p>
135    ///
136    /// 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_admins.is_none()`.
137    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
138    pub fn user_admins(&self) -> &[::std::string::String] {
139        self.user_admins.as_deref().unwrap_or_default()
140    }
141    /// <p>The list of groups that are administrators of the private re:Post.</p>
142    ///
143    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.group_admins.is_none()`.
144    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
145    pub fn group_admins(&self) -> &[::std::string::String] {
146        self.group_admins.as_deref().unwrap_or_default()
147    }
148    /// <p>A map of accessor identifiers and their roles.</p>
149    pub fn roles(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::Role>>> {
150        self.roles.as_ref()
151    }
152    /// <p>The custom AWS KMS key ARN that’s used for the AWS KMS encryption.</p>
153    pub fn user_kms_key(&self) -> ::std::option::Option<&str> {
154        self.user_kms_key.as_deref()
155    }
156    /// <p>The number of users that have onboarded to the private re:Post.</p>
157    pub fn user_count(&self) -> ::std::option::Option<i32> {
158        self.user_count
159    }
160    /// <p>The content size of the private re:Post.</p>
161    pub fn content_size(&self) -> ::std::option::Option<i64> {
162        self.content_size
163    }
164    /// <p></p>
165    pub fn supported_email_domains(&self) -> ::std::option::Option<&crate::types::SupportedEmailDomainsStatus> {
166        self.supported_email_domains.as_ref()
167    }
168}
169impl ::std::fmt::Debug for GetSpaceOutput {
170    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
171        let mut formatter = f.debug_struct("GetSpaceOutput");
172        formatter.field("space_id", &self.space_id);
173        formatter.field("arn", &self.arn);
174        formatter.field("name", &"*** Sensitive Data Redacted ***");
175        formatter.field("status", &self.status);
176        formatter.field("configuration_status", &self.configuration_status);
177        formatter.field("client_id", &self.client_id);
178        formatter.field("identity_store_id", &self.identity_store_id);
179        formatter.field("application_arn", &self.application_arn);
180        formatter.field("description", &"*** Sensitive Data Redacted ***");
181        formatter.field("vanity_domain_status", &self.vanity_domain_status);
182        formatter.field("vanity_domain", &self.vanity_domain);
183        formatter.field("random_domain", &self.random_domain);
184        formatter.field("customer_role_arn", &self.customer_role_arn);
185        formatter.field("create_date_time", &self.create_date_time);
186        formatter.field("delete_date_time", &self.delete_date_time);
187        formatter.field("tier", &self.tier);
188        formatter.field("storage_limit", &self.storage_limit);
189        formatter.field("user_admins", &self.user_admins);
190        formatter.field("group_admins", &self.group_admins);
191        formatter.field("roles", &self.roles);
192        formatter.field("user_kms_key", &self.user_kms_key);
193        formatter.field("user_count", &self.user_count);
194        formatter.field("content_size", &self.content_size);
195        formatter.field("supported_email_domains", &self.supported_email_domains);
196        formatter.field("_request_id", &self._request_id);
197        formatter.finish()
198    }
199}
200impl ::aws_types::request_id::RequestId for GetSpaceOutput {
201    fn request_id(&self) -> Option<&str> {
202        self._request_id.as_deref()
203    }
204}
205impl GetSpaceOutput {
206    /// Creates a new builder-style object to manufacture [`GetSpaceOutput`](crate::operation::get_space::GetSpaceOutput).
207    pub fn builder() -> crate::operation::get_space::builders::GetSpaceOutputBuilder {
208        crate::operation::get_space::builders::GetSpaceOutputBuilder::default()
209    }
210}
211
212/// A builder for [`GetSpaceOutput`](crate::operation::get_space::GetSpaceOutput).
213#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
214#[non_exhaustive]
215pub struct GetSpaceOutputBuilder {
216    pub(crate) space_id: ::std::option::Option<::std::string::String>,
217    pub(crate) arn: ::std::option::Option<::std::string::String>,
218    pub(crate) name: ::std::option::Option<::std::string::String>,
219    pub(crate) status: ::std::option::Option<::std::string::String>,
220    pub(crate) configuration_status: ::std::option::Option<crate::types::ConfigurationStatus>,
221    pub(crate) client_id: ::std::option::Option<::std::string::String>,
222    pub(crate) identity_store_id: ::std::option::Option<::std::string::String>,
223    pub(crate) application_arn: ::std::option::Option<::std::string::String>,
224    pub(crate) description: ::std::option::Option<::std::string::String>,
225    pub(crate) vanity_domain_status: ::std::option::Option<crate::types::VanityDomainStatus>,
226    pub(crate) vanity_domain: ::std::option::Option<::std::string::String>,
227    pub(crate) random_domain: ::std::option::Option<::std::string::String>,
228    pub(crate) customer_role_arn: ::std::option::Option<::std::string::String>,
229    pub(crate) create_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
230    pub(crate) delete_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
231    pub(crate) tier: ::std::option::Option<crate::types::TierLevel>,
232    pub(crate) storage_limit: ::std::option::Option<i64>,
233    pub(crate) user_admins: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
234    pub(crate) group_admins: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
235    pub(crate) roles: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::Role>>>,
236    pub(crate) user_kms_key: ::std::option::Option<::std::string::String>,
237    pub(crate) user_count: ::std::option::Option<i32>,
238    pub(crate) content_size: ::std::option::Option<i64>,
239    pub(crate) supported_email_domains: ::std::option::Option<crate::types::SupportedEmailDomainsStatus>,
240    _request_id: Option<String>,
241}
242impl GetSpaceOutputBuilder {
243    /// <p>The unique ID of the private re:Post.</p>
244    /// This field is required.
245    pub fn space_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
246        self.space_id = ::std::option::Option::Some(input.into());
247        self
248    }
249    /// <p>The unique ID of the private re:Post.</p>
250    pub fn set_space_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
251        self.space_id = input;
252        self
253    }
254    /// <p>The unique ID of the private re:Post.</p>
255    pub fn get_space_id(&self) -> &::std::option::Option<::std::string::String> {
256        &self.space_id
257    }
258    /// <p>The ARN of the private re:Post.</p>
259    /// This field is required.
260    pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
261        self.arn = ::std::option::Option::Some(input.into());
262        self
263    }
264    /// <p>The ARN of the private re:Post.</p>
265    pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
266        self.arn = input;
267        self
268    }
269    /// <p>The ARN of the private re:Post.</p>
270    pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
271        &self.arn
272    }
273    /// <p>The name of the private re:Post.</p>
274    /// This field is required.
275    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
276        self.name = ::std::option::Option::Some(input.into());
277        self
278    }
279    /// <p>The name of the private re:Post.</p>
280    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
281        self.name = input;
282        self
283    }
284    /// <p>The name of the private re:Post.</p>
285    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
286        &self.name
287    }
288    /// <p>The creation or deletion status of the private re:Post.</p>
289    /// This field is required.
290    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
291        self.status = ::std::option::Option::Some(input.into());
292        self
293    }
294    /// <p>The creation or deletion status of the private re:Post.</p>
295    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
296        self.status = input;
297        self
298    }
299    /// <p>The creation or deletion status of the private re:Post.</p>
300    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
301        &self.status
302    }
303    /// <p>The configuration status of the private re:Post.</p>
304    /// This field is required.
305    pub fn configuration_status(mut self, input: crate::types::ConfigurationStatus) -> Self {
306        self.configuration_status = ::std::option::Option::Some(input);
307        self
308    }
309    /// <p>The configuration status of the private re:Post.</p>
310    pub fn set_configuration_status(mut self, input: ::std::option::Option<crate::types::ConfigurationStatus>) -> Self {
311        self.configuration_status = input;
312        self
313    }
314    /// <p>The configuration status of the private re:Post.</p>
315    pub fn get_configuration_status(&self) -> &::std::option::Option<crate::types::ConfigurationStatus> {
316        &self.configuration_status
317    }
318    /// <p>The Identity Center identifier for the Application Instance.</p>
319    /// This field is required.
320    pub fn client_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
321        self.client_id = ::std::option::Option::Some(input.into());
322        self
323    }
324    /// <p>The Identity Center identifier for the Application Instance.</p>
325    pub fn set_client_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
326        self.client_id = input;
327        self
328    }
329    /// <p>The Identity Center identifier for the Application Instance.</p>
330    pub fn get_client_id(&self) -> &::std::option::Option<::std::string::String> {
331        &self.client_id
332    }
333    /// <p></p>
334    pub fn identity_store_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
335        self.identity_store_id = ::std::option::Option::Some(input.into());
336        self
337    }
338    /// <p></p>
339    pub fn set_identity_store_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
340        self.identity_store_id = input;
341        self
342    }
343    /// <p></p>
344    pub fn get_identity_store_id(&self) -> &::std::option::Option<::std::string::String> {
345        &self.identity_store_id
346    }
347    /// <p></p>
348    pub fn application_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
349        self.application_arn = ::std::option::Option::Some(input.into());
350        self
351    }
352    /// <p></p>
353    pub fn set_application_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
354        self.application_arn = input;
355        self
356    }
357    /// <p></p>
358    pub fn get_application_arn(&self) -> &::std::option::Option<::std::string::String> {
359        &self.application_arn
360    }
361    /// <p>The description of the private re:Post.</p>
362    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
363        self.description = ::std::option::Option::Some(input.into());
364        self
365    }
366    /// <p>The description of the private re:Post.</p>
367    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
368        self.description = input;
369        self
370    }
371    /// <p>The description of the private re:Post.</p>
372    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
373        &self.description
374    }
375    /// <p>The approval status of the custom subdomain.</p>
376    /// This field is required.
377    pub fn vanity_domain_status(mut self, input: crate::types::VanityDomainStatus) -> Self {
378        self.vanity_domain_status = ::std::option::Option::Some(input);
379        self
380    }
381    /// <p>The approval status of the custom subdomain.</p>
382    pub fn set_vanity_domain_status(mut self, input: ::std::option::Option<crate::types::VanityDomainStatus>) -> Self {
383        self.vanity_domain_status = input;
384        self
385    }
386    /// <p>The approval status of the custom subdomain.</p>
387    pub fn get_vanity_domain_status(&self) -> &::std::option::Option<crate::types::VanityDomainStatus> {
388        &self.vanity_domain_status
389    }
390    /// <p>The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.</p>
391    /// This field is required.
392    pub fn vanity_domain(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
393        self.vanity_domain = ::std::option::Option::Some(input.into());
394        self
395    }
396    /// <p>The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.</p>
397    pub fn set_vanity_domain(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
398        self.vanity_domain = input;
399        self
400    }
401    /// <p>The custom subdomain that you use to access your private re:Post. All custom subdomains must be approved by AWS before use.</p>
402    pub fn get_vanity_domain(&self) -> &::std::option::Option<::std::string::String> {
403        &self.vanity_domain
404    }
405    /// <p>The AWS generated subdomain of the private re:Post</p>
406    /// This field is required.
407    pub fn random_domain(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
408        self.random_domain = ::std::option::Option::Some(input.into());
409        self
410    }
411    /// <p>The AWS generated subdomain of the private re:Post</p>
412    pub fn set_random_domain(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
413        self.random_domain = input;
414        self
415    }
416    /// <p>The AWS generated subdomain of the private re:Post</p>
417    pub fn get_random_domain(&self) -> &::std::option::Option<::std::string::String> {
418        &self.random_domain
419    }
420    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
421    pub fn customer_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
422        self.customer_role_arn = ::std::option::Option::Some(input.into());
423        self
424    }
425    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
426    pub fn set_customer_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
427        self.customer_role_arn = input;
428        self
429    }
430    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
431    pub fn get_customer_role_arn(&self) -> &::std::option::Option<::std::string::String> {
432        &self.customer_role_arn
433    }
434    /// <p>The date when the private re:Post was created.</p>
435    /// This field is required.
436    pub fn create_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
437        self.create_date_time = ::std::option::Option::Some(input);
438        self
439    }
440    /// <p>The date when the private re:Post was created.</p>
441    pub fn set_create_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
442        self.create_date_time = input;
443        self
444    }
445    /// <p>The date when the private re:Post was created.</p>
446    pub fn get_create_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
447        &self.create_date_time
448    }
449    /// <p>The date when the private re:Post was deleted.</p>
450    pub fn delete_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
451        self.delete_date_time = ::std::option::Option::Some(input);
452        self
453    }
454    /// <p>The date when the private re:Post was deleted.</p>
455    pub fn set_delete_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
456        self.delete_date_time = input;
457        self
458    }
459    /// <p>The date when the private re:Post was deleted.</p>
460    pub fn get_delete_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
461        &self.delete_date_time
462    }
463    /// <p>The pricing tier of the private re:Post.</p>
464    /// This field is required.
465    pub fn tier(mut self, input: crate::types::TierLevel) -> Self {
466        self.tier = ::std::option::Option::Some(input);
467        self
468    }
469    /// <p>The pricing tier of the private re:Post.</p>
470    pub fn set_tier(mut self, input: ::std::option::Option<crate::types::TierLevel>) -> Self {
471        self.tier = input;
472        self
473    }
474    /// <p>The pricing tier of the private re:Post.</p>
475    pub fn get_tier(&self) -> &::std::option::Option<crate::types::TierLevel> {
476        &self.tier
477    }
478    /// <p>The storage limit of the private re:Post.</p>
479    /// This field is required.
480    pub fn storage_limit(mut self, input: i64) -> Self {
481        self.storage_limit = ::std::option::Option::Some(input);
482        self
483    }
484    /// <p>The storage limit of the private re:Post.</p>
485    pub fn set_storage_limit(mut self, input: ::std::option::Option<i64>) -> Self {
486        self.storage_limit = input;
487        self
488    }
489    /// <p>The storage limit of the private re:Post.</p>
490    pub fn get_storage_limit(&self) -> &::std::option::Option<i64> {
491        &self.storage_limit
492    }
493    /// Appends an item to `user_admins`.
494    ///
495    /// To override the contents of this collection use [`set_user_admins`](Self::set_user_admins).
496    ///
497    /// <p>The list of users that are administrators of the private re:Post.</p>
498    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
499    pub fn user_admins(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
500        let mut v = self.user_admins.unwrap_or_default();
501        v.push(input.into());
502        self.user_admins = ::std::option::Option::Some(v);
503        self
504    }
505    /// <p>The list of users that are administrators of the private re:Post.</p>
506    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
507    pub fn set_user_admins(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
508        self.user_admins = input;
509        self
510    }
511    /// <p>The list of users that are administrators of the private re:Post.</p>
512    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
513    pub fn get_user_admins(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
514        &self.user_admins
515    }
516    /// Appends an item to `group_admins`.
517    ///
518    /// To override the contents of this collection use [`set_group_admins`](Self::set_group_admins).
519    ///
520    /// <p>The list of groups that are administrators of the private re:Post.</p>
521    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
522    pub fn group_admins(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
523        let mut v = self.group_admins.unwrap_or_default();
524        v.push(input.into());
525        self.group_admins = ::std::option::Option::Some(v);
526        self
527    }
528    /// <p>The list of groups that are administrators of the private re:Post.</p>
529    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
530    pub fn set_group_admins(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
531        self.group_admins = input;
532        self
533    }
534    /// <p>The list of groups that are administrators of the private re:Post.</p>
535    #[deprecated(note = "This property has been depracted and will be replaced by the roles property.")]
536    pub fn get_group_admins(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
537        &self.group_admins
538    }
539    /// Adds a key-value pair to `roles`.
540    ///
541    /// To override the contents of this collection use [`set_roles`](Self::set_roles).
542    ///
543    /// <p>A map of accessor identifiers and their roles.</p>
544    pub fn roles(mut self, k: impl ::std::convert::Into<::std::string::String>, v: ::std::vec::Vec<crate::types::Role>) -> Self {
545        let mut hash_map = self.roles.unwrap_or_default();
546        hash_map.insert(k.into(), v);
547        self.roles = ::std::option::Option::Some(hash_map);
548        self
549    }
550    /// <p>A map of accessor identifiers and their roles.</p>
551    pub fn set_roles(
552        mut self,
553        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::Role>>>,
554    ) -> Self {
555        self.roles = input;
556        self
557    }
558    /// <p>A map of accessor identifiers and their roles.</p>
559    pub fn get_roles(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<crate::types::Role>>> {
560        &self.roles
561    }
562    /// <p>The custom AWS KMS key ARN that’s used for the AWS KMS encryption.</p>
563    pub fn user_kms_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
564        self.user_kms_key = ::std::option::Option::Some(input.into());
565        self
566    }
567    /// <p>The custom AWS KMS key ARN that’s used for the AWS KMS encryption.</p>
568    pub fn set_user_kms_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
569        self.user_kms_key = input;
570        self
571    }
572    /// <p>The custom AWS KMS key ARN that’s used for the AWS KMS encryption.</p>
573    pub fn get_user_kms_key(&self) -> &::std::option::Option<::std::string::String> {
574        &self.user_kms_key
575    }
576    /// <p>The number of users that have onboarded to the private re:Post.</p>
577    pub fn user_count(mut self, input: i32) -> Self {
578        self.user_count = ::std::option::Option::Some(input);
579        self
580    }
581    /// <p>The number of users that have onboarded to the private re:Post.</p>
582    pub fn set_user_count(mut self, input: ::std::option::Option<i32>) -> Self {
583        self.user_count = input;
584        self
585    }
586    /// <p>The number of users that have onboarded to the private re:Post.</p>
587    pub fn get_user_count(&self) -> &::std::option::Option<i32> {
588        &self.user_count
589    }
590    /// <p>The content size of the private re:Post.</p>
591    pub fn content_size(mut self, input: i64) -> Self {
592        self.content_size = ::std::option::Option::Some(input);
593        self
594    }
595    /// <p>The content size of the private re:Post.</p>
596    pub fn set_content_size(mut self, input: ::std::option::Option<i64>) -> Self {
597        self.content_size = input;
598        self
599    }
600    /// <p>The content size of the private re:Post.</p>
601    pub fn get_content_size(&self) -> &::std::option::Option<i64> {
602        &self.content_size
603    }
604    /// <p></p>
605    pub fn supported_email_domains(mut self, input: crate::types::SupportedEmailDomainsStatus) -> Self {
606        self.supported_email_domains = ::std::option::Option::Some(input);
607        self
608    }
609    /// <p></p>
610    pub fn set_supported_email_domains(mut self, input: ::std::option::Option<crate::types::SupportedEmailDomainsStatus>) -> Self {
611        self.supported_email_domains = input;
612        self
613    }
614    /// <p></p>
615    pub fn get_supported_email_domains(&self) -> &::std::option::Option<crate::types::SupportedEmailDomainsStatus> {
616        &self.supported_email_domains
617    }
618    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
619        self._request_id = Some(request_id.into());
620        self
621    }
622
623    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
624        self._request_id = request_id;
625        self
626    }
627    /// Consumes the builder and constructs a [`GetSpaceOutput`](crate::operation::get_space::GetSpaceOutput).
628    /// This method will fail if any of the following fields are not set:
629    /// - [`space_id`](crate::operation::get_space::builders::GetSpaceOutputBuilder::space_id)
630    /// - [`arn`](crate::operation::get_space::builders::GetSpaceOutputBuilder::arn)
631    /// - [`name`](crate::operation::get_space::builders::GetSpaceOutputBuilder::name)
632    /// - [`status`](crate::operation::get_space::builders::GetSpaceOutputBuilder::status)
633    /// - [`configuration_status`](crate::operation::get_space::builders::GetSpaceOutputBuilder::configuration_status)
634    /// - [`client_id`](crate::operation::get_space::builders::GetSpaceOutputBuilder::client_id)
635    /// - [`vanity_domain_status`](crate::operation::get_space::builders::GetSpaceOutputBuilder::vanity_domain_status)
636    /// - [`vanity_domain`](crate::operation::get_space::builders::GetSpaceOutputBuilder::vanity_domain)
637    /// - [`random_domain`](crate::operation::get_space::builders::GetSpaceOutputBuilder::random_domain)
638    /// - [`create_date_time`](crate::operation::get_space::builders::GetSpaceOutputBuilder::create_date_time)
639    /// - [`tier`](crate::operation::get_space::builders::GetSpaceOutputBuilder::tier)
640    /// - [`storage_limit`](crate::operation::get_space::builders::GetSpaceOutputBuilder::storage_limit)
641    pub fn build(self) -> ::std::result::Result<crate::operation::get_space::GetSpaceOutput, ::aws_smithy_types::error::operation::BuildError> {
642        ::std::result::Result::Ok(crate::operation::get_space::GetSpaceOutput {
643            space_id: self.space_id.ok_or_else(|| {
644                ::aws_smithy_types::error::operation::BuildError::missing_field(
645                    "space_id",
646                    "space_id was not specified but it is required when building GetSpaceOutput",
647                )
648            })?,
649            arn: self.arn.ok_or_else(|| {
650                ::aws_smithy_types::error::operation::BuildError::missing_field(
651                    "arn",
652                    "arn was not specified but it is required when building GetSpaceOutput",
653                )
654            })?,
655            name: self.name.ok_or_else(|| {
656                ::aws_smithy_types::error::operation::BuildError::missing_field(
657                    "name",
658                    "name was not specified but it is required when building GetSpaceOutput",
659                )
660            })?,
661            status: self.status.ok_or_else(|| {
662                ::aws_smithy_types::error::operation::BuildError::missing_field(
663                    "status",
664                    "status was not specified but it is required when building GetSpaceOutput",
665                )
666            })?,
667            configuration_status: self.configuration_status.ok_or_else(|| {
668                ::aws_smithy_types::error::operation::BuildError::missing_field(
669                    "configuration_status",
670                    "configuration_status was not specified but it is required when building GetSpaceOutput",
671                )
672            })?,
673            client_id: self.client_id.ok_or_else(|| {
674                ::aws_smithy_types::error::operation::BuildError::missing_field(
675                    "client_id",
676                    "client_id was not specified but it is required when building GetSpaceOutput",
677                )
678            })?,
679            identity_store_id: self.identity_store_id,
680            application_arn: self.application_arn,
681            description: self.description,
682            vanity_domain_status: self.vanity_domain_status.ok_or_else(|| {
683                ::aws_smithy_types::error::operation::BuildError::missing_field(
684                    "vanity_domain_status",
685                    "vanity_domain_status was not specified but it is required when building GetSpaceOutput",
686                )
687            })?,
688            vanity_domain: self.vanity_domain.ok_or_else(|| {
689                ::aws_smithy_types::error::operation::BuildError::missing_field(
690                    "vanity_domain",
691                    "vanity_domain was not specified but it is required when building GetSpaceOutput",
692                )
693            })?,
694            random_domain: self.random_domain.ok_or_else(|| {
695                ::aws_smithy_types::error::operation::BuildError::missing_field(
696                    "random_domain",
697                    "random_domain was not specified but it is required when building GetSpaceOutput",
698                )
699            })?,
700            customer_role_arn: self.customer_role_arn,
701            create_date_time: self.create_date_time.ok_or_else(|| {
702                ::aws_smithy_types::error::operation::BuildError::missing_field(
703                    "create_date_time",
704                    "create_date_time was not specified but it is required when building GetSpaceOutput",
705                )
706            })?,
707            delete_date_time: self.delete_date_time,
708            tier: self.tier.ok_or_else(|| {
709                ::aws_smithy_types::error::operation::BuildError::missing_field(
710                    "tier",
711                    "tier was not specified but it is required when building GetSpaceOutput",
712                )
713            })?,
714            storage_limit: self.storage_limit.ok_or_else(|| {
715                ::aws_smithy_types::error::operation::BuildError::missing_field(
716                    "storage_limit",
717                    "storage_limit was not specified but it is required when building GetSpaceOutput",
718                )
719            })?,
720            user_admins: self.user_admins,
721            group_admins: self.group_admins,
722            roles: self.roles,
723            user_kms_key: self.user_kms_key,
724            user_count: self.user_count,
725            content_size: self.content_size,
726            supported_email_domains: self.supported_email_domains,
727            _request_id: self._request_id,
728        })
729    }
730}
731impl ::std::fmt::Debug for GetSpaceOutputBuilder {
732    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
733        let mut formatter = f.debug_struct("GetSpaceOutputBuilder");
734        formatter.field("space_id", &self.space_id);
735        formatter.field("arn", &self.arn);
736        formatter.field("name", &"*** Sensitive Data Redacted ***");
737        formatter.field("status", &self.status);
738        formatter.field("configuration_status", &self.configuration_status);
739        formatter.field("client_id", &self.client_id);
740        formatter.field("identity_store_id", &self.identity_store_id);
741        formatter.field("application_arn", &self.application_arn);
742        formatter.field("description", &"*** Sensitive Data Redacted ***");
743        formatter.field("vanity_domain_status", &self.vanity_domain_status);
744        formatter.field("vanity_domain", &self.vanity_domain);
745        formatter.field("random_domain", &self.random_domain);
746        formatter.field("customer_role_arn", &self.customer_role_arn);
747        formatter.field("create_date_time", &self.create_date_time);
748        formatter.field("delete_date_time", &self.delete_date_time);
749        formatter.field("tier", &self.tier);
750        formatter.field("storage_limit", &self.storage_limit);
751        formatter.field("user_admins", &self.user_admins);
752        formatter.field("group_admins", &self.group_admins);
753        formatter.field("roles", &self.roles);
754        formatter.field("user_kms_key", &self.user_kms_key);
755        formatter.field("user_count", &self.user_count);
756        formatter.field("content_size", &self.content_size);
757        formatter.field("supported_email_domains", &self.supported_email_domains);
758        formatter.field("_request_id", &self._request_id);
759        formatter.finish()
760    }
761}