1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct UpdateSpaceInput {
    /// <p>The unique ID of this private re:Post.</p>
    pub space_id: ::std::option::Option<::std::string::String>,
    /// <p>A description for the private re:Post. This is used only to help you identify this private re:Post.</p>
    pub description: ::std::option::Option<::std::string::String>,
    /// <p>The pricing tier of this private re:Post.</p>
    pub tier: ::std::option::Option<crate::types::TierLevel>,
    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
    pub role_arn: ::std::option::Option<::std::string::String>,
}
impl UpdateSpaceInput {
    /// <p>The unique ID of this private re:Post.</p>
    pub fn space_id(&self) -> ::std::option::Option<&str> {
        self.space_id.as_deref()
    }
    /// <p>A description for the private re:Post. This is used only to help you identify this private re:Post.</p>
    pub fn description(&self) -> ::std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>The pricing tier of this private re:Post.</p>
    pub fn tier(&self) -> ::std::option::Option<&crate::types::TierLevel> {
        self.tier.as_ref()
    }
    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
    pub fn role_arn(&self) -> ::std::option::Option<&str> {
        self.role_arn.as_deref()
    }
}
impl ::std::fmt::Debug for UpdateSpaceInput {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("UpdateSpaceInput");
        formatter.field("space_id", &self.space_id);
        formatter.field("description", &"*** Sensitive Data Redacted ***");
        formatter.field("tier", &self.tier);
        formatter.field("role_arn", &self.role_arn);
        formatter.finish()
    }
}
impl UpdateSpaceInput {
    /// Creates a new builder-style object to manufacture [`UpdateSpaceInput`](crate::operation::update_space::UpdateSpaceInput).
    pub fn builder() -> crate::operation::update_space::builders::UpdateSpaceInputBuilder {
        crate::operation::update_space::builders::UpdateSpaceInputBuilder::default()
    }
}

/// A builder for [`UpdateSpaceInput`](crate::operation::update_space::UpdateSpaceInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
pub struct UpdateSpaceInputBuilder {
    pub(crate) space_id: ::std::option::Option<::std::string::String>,
    pub(crate) description: ::std::option::Option<::std::string::String>,
    pub(crate) tier: ::std::option::Option<crate::types::TierLevel>,
    pub(crate) role_arn: ::std::option::Option<::std::string::String>,
}
impl UpdateSpaceInputBuilder {
    /// <p>The unique ID of this private re:Post.</p>
    /// This field is required.
    pub fn space_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.space_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique ID of this private re:Post.</p>
    pub fn set_space_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.space_id = input;
        self
    }
    /// <p>The unique ID of this private re:Post.</p>
    pub fn get_space_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.space_id
    }
    /// <p>A description for the private re:Post. This is used only to help you identify this private re:Post.</p>
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.description = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A description for the private re:Post. This is used only to help you identify this private re:Post.</p>
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.description = input;
        self
    }
    /// <p>A description for the private re:Post. This is used only to help you identify this private re:Post.</p>
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
        &self.description
    }
    /// <p>The pricing tier of this private re:Post.</p>
    pub fn tier(mut self, input: crate::types::TierLevel) -> Self {
        self.tier = ::std::option::Option::Some(input);
        self
    }
    /// <p>The pricing tier of this private re:Post.</p>
    pub fn set_tier(mut self, input: ::std::option::Option<crate::types::TierLevel>) -> Self {
        self.tier = input;
        self
    }
    /// <p>The pricing tier of this private re:Post.</p>
    pub fn get_tier(&self) -> &::std::option::Option<crate::types::TierLevel> {
        &self.tier
    }
    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.role_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.role_arn = input;
        self
    }
    /// <p>The IAM role that grants permissions to the private re:Post to convert unanswered questions into AWS support tickets.</p>
    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.role_arn
    }
    /// Consumes the builder and constructs a [`UpdateSpaceInput`](crate::operation::update_space::UpdateSpaceInput).
    pub fn build(self) -> ::std::result::Result<crate::operation::update_space::UpdateSpaceInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::update_space::UpdateSpaceInput {
            space_id: self.space_id,
            description: self.description,
            tier: self.tier,
            role_arn: self.role_arn,
        })
    }
}
impl ::std::fmt::Debug for UpdateSpaceInputBuilder {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("UpdateSpaceInputBuilder");
        formatter.field("space_id", &self.space_id);
        formatter.field("description", &"*** Sensitive Data Redacted ***");
        formatter.field("tier", &self.tier);
        formatter.field("role_arn", &self.role_arn);
        formatter.finish()
    }
}