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
137
138
139
140
141
142
143
// 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 UpdateComponentInput {
    /// <p>The unique ID for the Amplify app.</p>
    pub app_id: ::std::option::Option<::std::string::String>,
    /// <p>The name of the backend environment that is part of the Amplify app.</p>
    pub environment_name: ::std::option::Option<::std::string::String>,
    /// <p>The unique ID for the component.</p>
    pub id: ::std::option::Option<::std::string::String>,
    /// <p>The unique client token.</p>
    pub client_token: ::std::option::Option<::std::string::String>,
    /// <p>The configuration of the updated component.</p>
    pub updated_component: ::std::option::Option<crate::types::UpdateComponentData>,
}
impl UpdateComponentInput {
    /// <p>The unique ID for the Amplify app.</p>
    pub fn app_id(&self) -> ::std::option::Option<&str> {
        self.app_id.as_deref()
    }
    /// <p>The name of the backend environment that is part of the Amplify app.</p>
    pub fn environment_name(&self) -> ::std::option::Option<&str> {
        self.environment_name.as_deref()
    }
    /// <p>The unique ID for the component.</p>
    pub fn id(&self) -> ::std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The unique client token.</p>
    pub fn client_token(&self) -> ::std::option::Option<&str> {
        self.client_token.as_deref()
    }
    /// <p>The configuration of the updated component.</p>
    pub fn updated_component(&self) -> ::std::option::Option<&crate::types::UpdateComponentData> {
        self.updated_component.as_ref()
    }
}
impl UpdateComponentInput {
    /// Creates a new builder-style object to manufacture [`UpdateComponentInput`](crate::operation::update_component::UpdateComponentInput).
    pub fn builder() -> crate::operation::update_component::builders::UpdateComponentInputBuilder {
        crate::operation::update_component::builders::UpdateComponentInputBuilder::default()
    }
}

/// A builder for [`UpdateComponentInput`](crate::operation::update_component::UpdateComponentInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct UpdateComponentInputBuilder {
    pub(crate) app_id: ::std::option::Option<::std::string::String>,
    pub(crate) environment_name: ::std::option::Option<::std::string::String>,
    pub(crate) id: ::std::option::Option<::std::string::String>,
    pub(crate) client_token: ::std::option::Option<::std::string::String>,
    pub(crate) updated_component: ::std::option::Option<crate::types::UpdateComponentData>,
}
impl UpdateComponentInputBuilder {
    /// <p>The unique ID for the Amplify app.</p>
    /// This field is required.
    pub fn app_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.app_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique ID for the Amplify app.</p>
    pub fn set_app_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.app_id = input;
        self
    }
    /// <p>The unique ID for the Amplify app.</p>
    pub fn get_app_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.app_id
    }
    /// <p>The name of the backend environment that is part of the Amplify app.</p>
    /// This field is required.
    pub fn environment_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.environment_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the backend environment that is part of the Amplify app.</p>
    pub fn set_environment_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.environment_name = input;
        self
    }
    /// <p>The name of the backend environment that is part of the Amplify app.</p>
    pub fn get_environment_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.environment_name
    }
    /// <p>The unique ID for the component.</p>
    /// This field is required.
    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique ID for the component.</p>
    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.id = input;
        self
    }
    /// <p>The unique ID for the component.</p>
    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.id
    }
    /// <p>The unique client token.</p>
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.client_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique client token.</p>
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.client_token = input;
        self
    }
    /// <p>The unique client token.</p>
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.client_token
    }
    /// <p>The configuration of the updated component.</p>
    /// This field is required.
    pub fn updated_component(mut self, input: crate::types::UpdateComponentData) -> Self {
        self.updated_component = ::std::option::Option::Some(input);
        self
    }
    /// <p>The configuration of the updated component.</p>
    pub fn set_updated_component(mut self, input: ::std::option::Option<crate::types::UpdateComponentData>) -> Self {
        self.updated_component = input;
        self
    }
    /// <p>The configuration of the updated component.</p>
    pub fn get_updated_component(&self) -> &::std::option::Option<crate::types::UpdateComponentData> {
        &self.updated_component
    }
    /// Consumes the builder and constructs a [`UpdateComponentInput`](crate::operation::update_component::UpdateComponentInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::update_component::UpdateComponentInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::update_component::UpdateComponentInput {
            app_id: self.app_id,
            environment_name: self.environment_name,
            id: self.id,
            client_token: self.client_token,
            updated_component: self.updated_component,
        })
    }
}