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
// 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, ::std::fmt::Debug)]
pub struct UpdateUserOutput {
    /// <p>The user aliases that have been to be added to a user id.</p>
    pub user_aliases_added: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>,
    /// <p>The user aliases attached to a user id that have been updated.</p>
    pub user_aliases_updated: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>,
    /// <p>The user aliases that have been deleted from a user id.</p>
    pub user_aliases_deleted: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>,
    _request_id: Option<String>,
}
impl UpdateUserOutput {
    /// <p>The user aliases that have been to be added to a user id.</p>
    ///
    /// 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_aliases_added.is_none()`.
    pub fn user_aliases_added(&self) -> &[crate::types::UserAlias] {
        self.user_aliases_added.as_deref().unwrap_or_default()
    }
    /// <p>The user aliases attached to a user id that have been updated.</p>
    ///
    /// 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_aliases_updated.is_none()`.
    pub fn user_aliases_updated(&self) -> &[crate::types::UserAlias] {
        self.user_aliases_updated.as_deref().unwrap_or_default()
    }
    /// <p>The user aliases that have been deleted from a user id.</p>
    ///
    /// 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_aliases_deleted.is_none()`.
    pub fn user_aliases_deleted(&self) -> &[crate::types::UserAlias] {
        self.user_aliases_deleted.as_deref().unwrap_or_default()
    }
}
impl ::aws_types::request_id::RequestId for UpdateUserOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl UpdateUserOutput {
    /// Creates a new builder-style object to manufacture [`UpdateUserOutput`](crate::operation::update_user::UpdateUserOutput).
    pub fn builder() -> crate::operation::update_user::builders::UpdateUserOutputBuilder {
        crate::operation::update_user::builders::UpdateUserOutputBuilder::default()
    }
}

/// A builder for [`UpdateUserOutput`](crate::operation::update_user::UpdateUserOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct UpdateUserOutputBuilder {
    pub(crate) user_aliases_added: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>,
    pub(crate) user_aliases_updated: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>,
    pub(crate) user_aliases_deleted: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>,
    _request_id: Option<String>,
}
impl UpdateUserOutputBuilder {
    /// Appends an item to `user_aliases_added`.
    ///
    /// To override the contents of this collection use [`set_user_aliases_added`](Self::set_user_aliases_added).
    ///
    /// <p>The user aliases that have been to be added to a user id.</p>
    pub fn user_aliases_added(mut self, input: crate::types::UserAlias) -> Self {
        let mut v = self.user_aliases_added.unwrap_or_default();
        v.push(input);
        self.user_aliases_added = ::std::option::Option::Some(v);
        self
    }
    /// <p>The user aliases that have been to be added to a user id.</p>
    pub fn set_user_aliases_added(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>) -> Self {
        self.user_aliases_added = input;
        self
    }
    /// <p>The user aliases that have been to be added to a user id.</p>
    pub fn get_user_aliases_added(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::UserAlias>> {
        &self.user_aliases_added
    }
    /// Appends an item to `user_aliases_updated`.
    ///
    /// To override the contents of this collection use [`set_user_aliases_updated`](Self::set_user_aliases_updated).
    ///
    /// <p>The user aliases attached to a user id that have been updated.</p>
    pub fn user_aliases_updated(mut self, input: crate::types::UserAlias) -> Self {
        let mut v = self.user_aliases_updated.unwrap_or_default();
        v.push(input);
        self.user_aliases_updated = ::std::option::Option::Some(v);
        self
    }
    /// <p>The user aliases attached to a user id that have been updated.</p>
    pub fn set_user_aliases_updated(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>) -> Self {
        self.user_aliases_updated = input;
        self
    }
    /// <p>The user aliases attached to a user id that have been updated.</p>
    pub fn get_user_aliases_updated(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::UserAlias>> {
        &self.user_aliases_updated
    }
    /// Appends an item to `user_aliases_deleted`.
    ///
    /// To override the contents of this collection use [`set_user_aliases_deleted`](Self::set_user_aliases_deleted).
    ///
    /// <p>The user aliases that have been deleted from a user id.</p>
    pub fn user_aliases_deleted(mut self, input: crate::types::UserAlias) -> Self {
        let mut v = self.user_aliases_deleted.unwrap_or_default();
        v.push(input);
        self.user_aliases_deleted = ::std::option::Option::Some(v);
        self
    }
    /// <p>The user aliases that have been deleted from a user id.</p>
    pub fn set_user_aliases_deleted(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::UserAlias>>) -> Self {
        self.user_aliases_deleted = input;
        self
    }
    /// <p>The user aliases that have been deleted from a user id.</p>
    pub fn get_user_aliases_deleted(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::UserAlias>> {
        &self.user_aliases_deleted
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`UpdateUserOutput`](crate::operation::update_user::UpdateUserOutput).
    pub fn build(self) -> crate::operation::update_user::UpdateUserOutput {
        crate::operation::update_user::UpdateUserOutput {
            user_aliases_added: self.user_aliases_added,
            user_aliases_updated: self.user_aliases_updated,
            user_aliases_deleted: self.user_aliases_deleted,
            _request_id: self._request_id,
        }
    }
}