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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
// 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 UpdatePluginInput {
    /// <p>The identifier of the application the plugin is attached to.</p>
    pub application_id: ::std::option::Option<::std::string::String>,
    /// <p>The identifier of the plugin.</p>
    pub plugin_id: ::std::option::Option<::std::string::String>,
    /// <p>The name of the plugin.</p>
    pub display_name: ::std::option::Option<::std::string::String>,
    /// <p>The status of the plugin. </p>
    pub state: ::std::option::Option<crate::types::PluginState>,
    /// <p>The source URL used for plugin configuration.</p>
    pub server_url: ::std::option::Option<::std::string::String>,
    /// <p>The authentication configuration the plugin is using.</p>
    pub auth_configuration: ::std::option::Option<crate::types::PluginAuthConfiguration>,
}
impl UpdatePluginInput {
    /// <p>The identifier of the application the plugin is attached to.</p>
    pub fn application_id(&self) -> ::std::option::Option<&str> {
        self.application_id.as_deref()
    }
    /// <p>The identifier of the plugin.</p>
    pub fn plugin_id(&self) -> ::std::option::Option<&str> {
        self.plugin_id.as_deref()
    }
    /// <p>The name of the plugin.</p>
    pub fn display_name(&self) -> ::std::option::Option<&str> {
        self.display_name.as_deref()
    }
    /// <p>The status of the plugin. </p>
    pub fn state(&self) -> ::std::option::Option<&crate::types::PluginState> {
        self.state.as_ref()
    }
    /// <p>The source URL used for plugin configuration.</p>
    pub fn server_url(&self) -> ::std::option::Option<&str> {
        self.server_url.as_deref()
    }
    /// <p>The authentication configuration the plugin is using.</p>
    pub fn auth_configuration(&self) -> ::std::option::Option<&crate::types::PluginAuthConfiguration> {
        self.auth_configuration.as_ref()
    }
}
impl UpdatePluginInput {
    /// Creates a new builder-style object to manufacture [`UpdatePluginInput`](crate::operation::update_plugin::UpdatePluginInput).
    pub fn builder() -> crate::operation::update_plugin::builders::UpdatePluginInputBuilder {
        crate::operation::update_plugin::builders::UpdatePluginInputBuilder::default()
    }
}

/// A builder for [`UpdatePluginInput`](crate::operation::update_plugin::UpdatePluginInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct UpdatePluginInputBuilder {
    pub(crate) application_id: ::std::option::Option<::std::string::String>,
    pub(crate) plugin_id: ::std::option::Option<::std::string::String>,
    pub(crate) display_name: ::std::option::Option<::std::string::String>,
    pub(crate) state: ::std::option::Option<crate::types::PluginState>,
    pub(crate) server_url: ::std::option::Option<::std::string::String>,
    pub(crate) auth_configuration: ::std::option::Option<crate::types::PluginAuthConfiguration>,
}
impl UpdatePluginInputBuilder {
    /// <p>The identifier of the application the plugin is attached to.</p>
    /// This field is required.
    pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.application_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The identifier of the application the plugin is attached to.</p>
    pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.application_id = input;
        self
    }
    /// <p>The identifier of the application the plugin is attached to.</p>
    pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.application_id
    }
    /// <p>The identifier of the plugin.</p>
    /// This field is required.
    pub fn plugin_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.plugin_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The identifier of the plugin.</p>
    pub fn set_plugin_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.plugin_id = input;
        self
    }
    /// <p>The identifier of the plugin.</p>
    pub fn get_plugin_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.plugin_id
    }
    /// <p>The name of the plugin.</p>
    pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.display_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the plugin.</p>
    pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.display_name = input;
        self
    }
    /// <p>The name of the plugin.</p>
    pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.display_name
    }
    /// <p>The status of the plugin. </p>
    pub fn state(mut self, input: crate::types::PluginState) -> Self {
        self.state = ::std::option::Option::Some(input);
        self
    }
    /// <p>The status of the plugin. </p>
    pub fn set_state(mut self, input: ::std::option::Option<crate::types::PluginState>) -> Self {
        self.state = input;
        self
    }
    /// <p>The status of the plugin. </p>
    pub fn get_state(&self) -> &::std::option::Option<crate::types::PluginState> {
        &self.state
    }
    /// <p>The source URL used for plugin configuration.</p>
    pub fn server_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.server_url = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The source URL used for plugin configuration.</p>
    pub fn set_server_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.server_url = input;
        self
    }
    /// <p>The source URL used for plugin configuration.</p>
    pub fn get_server_url(&self) -> &::std::option::Option<::std::string::String> {
        &self.server_url
    }
    /// <p>The authentication configuration the plugin is using.</p>
    pub fn auth_configuration(mut self, input: crate::types::PluginAuthConfiguration) -> Self {
        self.auth_configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The authentication configuration the plugin is using.</p>
    pub fn set_auth_configuration(mut self, input: ::std::option::Option<crate::types::PluginAuthConfiguration>) -> Self {
        self.auth_configuration = input;
        self
    }
    /// <p>The authentication configuration the plugin is using.</p>
    pub fn get_auth_configuration(&self) -> &::std::option::Option<crate::types::PluginAuthConfiguration> {
        &self.auth_configuration
    }
    /// Consumes the builder and constructs a [`UpdatePluginInput`](crate::operation::update_plugin::UpdatePluginInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::update_plugin::UpdatePluginInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::update_plugin::UpdatePluginInput {
            application_id: self.application_id,
            plugin_id: self.plugin_id,
            display_name: self.display_name,
            state: self.state,
            server_url: self.server_url,
            auth_configuration: self.auth_configuration,
        })
    }
}