aws_sdk_iot/operation/update_domain_configuration/_update_domain_configuration_input.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, ::std::fmt::Debug)]
5pub struct UpdateDomainConfigurationInput {
6 /// <p>The name of the domain configuration to be updated.</p>
7 pub domain_configuration_name: ::std::option::Option<::std::string::String>,
8 /// <p>An object that specifies the authorization service for a domain.</p>
9 pub authorizer_config: ::std::option::Option<crate::types::AuthorizerConfig>,
10 /// <p>The status to which the domain configuration should be updated.</p>
11 pub domain_configuration_status: ::std::option::Option<crate::types::DomainConfigurationStatus>,
12 /// <p>Removes the authorization configuration from a domain.</p>
13 pub remove_authorizer_config: ::std::option::Option<bool>,
14 /// <p>An object that specifies the TLS configuration for a domain.</p>
15 pub tls_config: ::std::option::Option<crate::types::TlsConfig>,
16 /// <p>The server certificate configuration.</p>
17 pub server_certificate_config: ::std::option::Option<crate::types::ServerCertificateConfig>,
18 /// <p>An enumerated string that specifies the authentication type.</p>
19 /// <ul>
20 /// <li>
21 /// <p><code>CUSTOM_AUTH_X509</code> - Use custom authentication and authorization with additional details from the X.509 client certificate.</p></li>
22 /// </ul>
23 /// <ul>
24 /// <li>
25 /// <p><code>CUSTOM_AUTH</code> - Use custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">Custom authentication and authorization</a>.</p></li>
26 /// </ul>
27 /// <ul>
28 /// <li>
29 /// <p><code>AWS_X509</code> - Use X.509 client certificates without custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 client certificates</a>.</p></li>
30 /// </ul>
31 /// <ul>
32 /// <li>
33 /// <p><code>AWS_SIGV4</code> - Use Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">IAM users, groups, and roles</a>.</p></li>
34 /// </ul>
35 /// <ul>
36 /// <li>
37 /// <p><code>DEFAULT </code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
38 /// </ul>
39 pub authentication_type: ::std::option::Option<crate::types::AuthenticationType>,
40 /// <p>An enumerated string that specifies the application-layer protocol.</p>
41 /// <ul>
42 /// <li>
43 /// <p><code>SECURE_MQTT</code> - MQTT over TLS.</p></li>
44 /// </ul>
45 /// <ul>
46 /// <li>
47 /// <p><code>MQTT_WSS</code> - MQTT over WebSocket.</p></li>
48 /// </ul>
49 /// <ul>
50 /// <li>
51 /// <p><code>HTTPS</code> - HTTP over TLS.</p></li>
52 /// </ul>
53 /// <ul>
54 /// <li>
55 /// <p><code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
56 /// </ul>
57 pub application_protocol: ::std::option::Option<crate::types::ApplicationProtocol>,
58 /// <p>An object that specifies the client certificate configuration for a domain.</p>
59 pub client_certificate_config: ::std::option::Option<crate::types::ClientCertificateConfig>,
60}
61impl UpdateDomainConfigurationInput {
62 /// <p>The name of the domain configuration to be updated.</p>
63 pub fn domain_configuration_name(&self) -> ::std::option::Option<&str> {
64 self.domain_configuration_name.as_deref()
65 }
66 /// <p>An object that specifies the authorization service for a domain.</p>
67 pub fn authorizer_config(&self) -> ::std::option::Option<&crate::types::AuthorizerConfig> {
68 self.authorizer_config.as_ref()
69 }
70 /// <p>The status to which the domain configuration should be updated.</p>
71 pub fn domain_configuration_status(&self) -> ::std::option::Option<&crate::types::DomainConfigurationStatus> {
72 self.domain_configuration_status.as_ref()
73 }
74 /// <p>Removes the authorization configuration from a domain.</p>
75 pub fn remove_authorizer_config(&self) -> ::std::option::Option<bool> {
76 self.remove_authorizer_config
77 }
78 /// <p>An object that specifies the TLS configuration for a domain.</p>
79 pub fn tls_config(&self) -> ::std::option::Option<&crate::types::TlsConfig> {
80 self.tls_config.as_ref()
81 }
82 /// <p>The server certificate configuration.</p>
83 pub fn server_certificate_config(&self) -> ::std::option::Option<&crate::types::ServerCertificateConfig> {
84 self.server_certificate_config.as_ref()
85 }
86 /// <p>An enumerated string that specifies the authentication type.</p>
87 /// <ul>
88 /// <li>
89 /// <p><code>CUSTOM_AUTH_X509</code> - Use custom authentication and authorization with additional details from the X.509 client certificate.</p></li>
90 /// </ul>
91 /// <ul>
92 /// <li>
93 /// <p><code>CUSTOM_AUTH</code> - Use custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">Custom authentication and authorization</a>.</p></li>
94 /// </ul>
95 /// <ul>
96 /// <li>
97 /// <p><code>AWS_X509</code> - Use X.509 client certificates without custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 client certificates</a>.</p></li>
98 /// </ul>
99 /// <ul>
100 /// <li>
101 /// <p><code>AWS_SIGV4</code> - Use Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">IAM users, groups, and roles</a>.</p></li>
102 /// </ul>
103 /// <ul>
104 /// <li>
105 /// <p><code>DEFAULT </code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
106 /// </ul>
107 pub fn authentication_type(&self) -> ::std::option::Option<&crate::types::AuthenticationType> {
108 self.authentication_type.as_ref()
109 }
110 /// <p>An enumerated string that specifies the application-layer protocol.</p>
111 /// <ul>
112 /// <li>
113 /// <p><code>SECURE_MQTT</code> - MQTT over TLS.</p></li>
114 /// </ul>
115 /// <ul>
116 /// <li>
117 /// <p><code>MQTT_WSS</code> - MQTT over WebSocket.</p></li>
118 /// </ul>
119 /// <ul>
120 /// <li>
121 /// <p><code>HTTPS</code> - HTTP over TLS.</p></li>
122 /// </ul>
123 /// <ul>
124 /// <li>
125 /// <p><code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
126 /// </ul>
127 pub fn application_protocol(&self) -> ::std::option::Option<&crate::types::ApplicationProtocol> {
128 self.application_protocol.as_ref()
129 }
130 /// <p>An object that specifies the client certificate configuration for a domain.</p>
131 pub fn client_certificate_config(&self) -> ::std::option::Option<&crate::types::ClientCertificateConfig> {
132 self.client_certificate_config.as_ref()
133 }
134}
135impl UpdateDomainConfigurationInput {
136 /// Creates a new builder-style object to manufacture [`UpdateDomainConfigurationInput`](crate::operation::update_domain_configuration::UpdateDomainConfigurationInput).
137 pub fn builder() -> crate::operation::update_domain_configuration::builders::UpdateDomainConfigurationInputBuilder {
138 crate::operation::update_domain_configuration::builders::UpdateDomainConfigurationInputBuilder::default()
139 }
140}
141
142/// A builder for [`UpdateDomainConfigurationInput`](crate::operation::update_domain_configuration::UpdateDomainConfigurationInput).
143#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
144#[non_exhaustive]
145pub struct UpdateDomainConfigurationInputBuilder {
146 pub(crate) domain_configuration_name: ::std::option::Option<::std::string::String>,
147 pub(crate) authorizer_config: ::std::option::Option<crate::types::AuthorizerConfig>,
148 pub(crate) domain_configuration_status: ::std::option::Option<crate::types::DomainConfigurationStatus>,
149 pub(crate) remove_authorizer_config: ::std::option::Option<bool>,
150 pub(crate) tls_config: ::std::option::Option<crate::types::TlsConfig>,
151 pub(crate) server_certificate_config: ::std::option::Option<crate::types::ServerCertificateConfig>,
152 pub(crate) authentication_type: ::std::option::Option<crate::types::AuthenticationType>,
153 pub(crate) application_protocol: ::std::option::Option<crate::types::ApplicationProtocol>,
154 pub(crate) client_certificate_config: ::std::option::Option<crate::types::ClientCertificateConfig>,
155}
156impl UpdateDomainConfigurationInputBuilder {
157 /// <p>The name of the domain configuration to be updated.</p>
158 /// This field is required.
159 pub fn domain_configuration_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
160 self.domain_configuration_name = ::std::option::Option::Some(input.into());
161 self
162 }
163 /// <p>The name of the domain configuration to be updated.</p>
164 pub fn set_domain_configuration_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
165 self.domain_configuration_name = input;
166 self
167 }
168 /// <p>The name of the domain configuration to be updated.</p>
169 pub fn get_domain_configuration_name(&self) -> &::std::option::Option<::std::string::String> {
170 &self.domain_configuration_name
171 }
172 /// <p>An object that specifies the authorization service for a domain.</p>
173 pub fn authorizer_config(mut self, input: crate::types::AuthorizerConfig) -> Self {
174 self.authorizer_config = ::std::option::Option::Some(input);
175 self
176 }
177 /// <p>An object that specifies the authorization service for a domain.</p>
178 pub fn set_authorizer_config(mut self, input: ::std::option::Option<crate::types::AuthorizerConfig>) -> Self {
179 self.authorizer_config = input;
180 self
181 }
182 /// <p>An object that specifies the authorization service for a domain.</p>
183 pub fn get_authorizer_config(&self) -> &::std::option::Option<crate::types::AuthorizerConfig> {
184 &self.authorizer_config
185 }
186 /// <p>The status to which the domain configuration should be updated.</p>
187 pub fn domain_configuration_status(mut self, input: crate::types::DomainConfigurationStatus) -> Self {
188 self.domain_configuration_status = ::std::option::Option::Some(input);
189 self
190 }
191 /// <p>The status to which the domain configuration should be updated.</p>
192 pub fn set_domain_configuration_status(mut self, input: ::std::option::Option<crate::types::DomainConfigurationStatus>) -> Self {
193 self.domain_configuration_status = input;
194 self
195 }
196 /// <p>The status to which the domain configuration should be updated.</p>
197 pub fn get_domain_configuration_status(&self) -> &::std::option::Option<crate::types::DomainConfigurationStatus> {
198 &self.domain_configuration_status
199 }
200 /// <p>Removes the authorization configuration from a domain.</p>
201 pub fn remove_authorizer_config(mut self, input: bool) -> Self {
202 self.remove_authorizer_config = ::std::option::Option::Some(input);
203 self
204 }
205 /// <p>Removes the authorization configuration from a domain.</p>
206 pub fn set_remove_authorizer_config(mut self, input: ::std::option::Option<bool>) -> Self {
207 self.remove_authorizer_config = input;
208 self
209 }
210 /// <p>Removes the authorization configuration from a domain.</p>
211 pub fn get_remove_authorizer_config(&self) -> &::std::option::Option<bool> {
212 &self.remove_authorizer_config
213 }
214 /// <p>An object that specifies the TLS configuration for a domain.</p>
215 pub fn tls_config(mut self, input: crate::types::TlsConfig) -> Self {
216 self.tls_config = ::std::option::Option::Some(input);
217 self
218 }
219 /// <p>An object that specifies the TLS configuration for a domain.</p>
220 pub fn set_tls_config(mut self, input: ::std::option::Option<crate::types::TlsConfig>) -> Self {
221 self.tls_config = input;
222 self
223 }
224 /// <p>An object that specifies the TLS configuration for a domain.</p>
225 pub fn get_tls_config(&self) -> &::std::option::Option<crate::types::TlsConfig> {
226 &self.tls_config
227 }
228 /// <p>The server certificate configuration.</p>
229 pub fn server_certificate_config(mut self, input: crate::types::ServerCertificateConfig) -> Self {
230 self.server_certificate_config = ::std::option::Option::Some(input);
231 self
232 }
233 /// <p>The server certificate configuration.</p>
234 pub fn set_server_certificate_config(mut self, input: ::std::option::Option<crate::types::ServerCertificateConfig>) -> Self {
235 self.server_certificate_config = input;
236 self
237 }
238 /// <p>The server certificate configuration.</p>
239 pub fn get_server_certificate_config(&self) -> &::std::option::Option<crate::types::ServerCertificateConfig> {
240 &self.server_certificate_config
241 }
242 /// <p>An enumerated string that specifies the authentication type.</p>
243 /// <ul>
244 /// <li>
245 /// <p><code>CUSTOM_AUTH_X509</code> - Use custom authentication and authorization with additional details from the X.509 client certificate.</p></li>
246 /// </ul>
247 /// <ul>
248 /// <li>
249 /// <p><code>CUSTOM_AUTH</code> - Use custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">Custom authentication and authorization</a>.</p></li>
250 /// </ul>
251 /// <ul>
252 /// <li>
253 /// <p><code>AWS_X509</code> - Use X.509 client certificates without custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 client certificates</a>.</p></li>
254 /// </ul>
255 /// <ul>
256 /// <li>
257 /// <p><code>AWS_SIGV4</code> - Use Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">IAM users, groups, and roles</a>.</p></li>
258 /// </ul>
259 /// <ul>
260 /// <li>
261 /// <p><code>DEFAULT </code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
262 /// </ul>
263 pub fn authentication_type(mut self, input: crate::types::AuthenticationType) -> Self {
264 self.authentication_type = ::std::option::Option::Some(input);
265 self
266 }
267 /// <p>An enumerated string that specifies the authentication type.</p>
268 /// <ul>
269 /// <li>
270 /// <p><code>CUSTOM_AUTH_X509</code> - Use custom authentication and authorization with additional details from the X.509 client certificate.</p></li>
271 /// </ul>
272 /// <ul>
273 /// <li>
274 /// <p><code>CUSTOM_AUTH</code> - Use custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">Custom authentication and authorization</a>.</p></li>
275 /// </ul>
276 /// <ul>
277 /// <li>
278 /// <p><code>AWS_X509</code> - Use X.509 client certificates without custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 client certificates</a>.</p></li>
279 /// </ul>
280 /// <ul>
281 /// <li>
282 /// <p><code>AWS_SIGV4</code> - Use Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">IAM users, groups, and roles</a>.</p></li>
283 /// </ul>
284 /// <ul>
285 /// <li>
286 /// <p><code>DEFAULT </code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
287 /// </ul>
288 pub fn set_authentication_type(mut self, input: ::std::option::Option<crate::types::AuthenticationType>) -> Self {
289 self.authentication_type = input;
290 self
291 }
292 /// <p>An enumerated string that specifies the authentication type.</p>
293 /// <ul>
294 /// <li>
295 /// <p><code>CUSTOM_AUTH_X509</code> - Use custom authentication and authorization with additional details from the X.509 client certificate.</p></li>
296 /// </ul>
297 /// <ul>
298 /// <li>
299 /// <p><code>CUSTOM_AUTH</code> - Use custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">Custom authentication and authorization</a>.</p></li>
300 /// </ul>
301 /// <ul>
302 /// <li>
303 /// <p><code>AWS_X509</code> - Use X.509 client certificates without custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 client certificates</a>.</p></li>
304 /// </ul>
305 /// <ul>
306 /// <li>
307 /// <p><code>AWS_SIGV4</code> - Use Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">IAM users, groups, and roles</a>.</p></li>
308 /// </ul>
309 /// <ul>
310 /// <li>
311 /// <p><code>DEFAULT </code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
312 /// </ul>
313 pub fn get_authentication_type(&self) -> &::std::option::Option<crate::types::AuthenticationType> {
314 &self.authentication_type
315 }
316 /// <p>An enumerated string that specifies the application-layer protocol.</p>
317 /// <ul>
318 /// <li>
319 /// <p><code>SECURE_MQTT</code> - MQTT over TLS.</p></li>
320 /// </ul>
321 /// <ul>
322 /// <li>
323 /// <p><code>MQTT_WSS</code> - MQTT over WebSocket.</p></li>
324 /// </ul>
325 /// <ul>
326 /// <li>
327 /// <p><code>HTTPS</code> - HTTP over TLS.</p></li>
328 /// </ul>
329 /// <ul>
330 /// <li>
331 /// <p><code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
332 /// </ul>
333 pub fn application_protocol(mut self, input: crate::types::ApplicationProtocol) -> Self {
334 self.application_protocol = ::std::option::Option::Some(input);
335 self
336 }
337 /// <p>An enumerated string that specifies the application-layer protocol.</p>
338 /// <ul>
339 /// <li>
340 /// <p><code>SECURE_MQTT</code> - MQTT over TLS.</p></li>
341 /// </ul>
342 /// <ul>
343 /// <li>
344 /// <p><code>MQTT_WSS</code> - MQTT over WebSocket.</p></li>
345 /// </ul>
346 /// <ul>
347 /// <li>
348 /// <p><code>HTTPS</code> - HTTP over TLS.</p></li>
349 /// </ul>
350 /// <ul>
351 /// <li>
352 /// <p><code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
353 /// </ul>
354 pub fn set_application_protocol(mut self, input: ::std::option::Option<crate::types::ApplicationProtocol>) -> Self {
355 self.application_protocol = input;
356 self
357 }
358 /// <p>An enumerated string that specifies the application-layer protocol.</p>
359 /// <ul>
360 /// <li>
361 /// <p><code>SECURE_MQTT</code> - MQTT over TLS.</p></li>
362 /// </ul>
363 /// <ul>
364 /// <li>
365 /// <p><code>MQTT_WSS</code> - MQTT over WebSocket.</p></li>
366 /// </ul>
367 /// <ul>
368 /// <li>
369 /// <p><code>HTTPS</code> - HTTP over TLS.</p></li>
370 /// </ul>
371 /// <ul>
372 /// <li>
373 /// <p><code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li>
374 /// </ul>
375 pub fn get_application_protocol(&self) -> &::std::option::Option<crate::types::ApplicationProtocol> {
376 &self.application_protocol
377 }
378 /// <p>An object that specifies the client certificate configuration for a domain.</p>
379 pub fn client_certificate_config(mut self, input: crate::types::ClientCertificateConfig) -> Self {
380 self.client_certificate_config = ::std::option::Option::Some(input);
381 self
382 }
383 /// <p>An object that specifies the client certificate configuration for a domain.</p>
384 pub fn set_client_certificate_config(mut self, input: ::std::option::Option<crate::types::ClientCertificateConfig>) -> Self {
385 self.client_certificate_config = input;
386 self
387 }
388 /// <p>An object that specifies the client certificate configuration for a domain.</p>
389 pub fn get_client_certificate_config(&self) -> &::std::option::Option<crate::types::ClientCertificateConfig> {
390 &self.client_certificate_config
391 }
392 /// Consumes the builder and constructs a [`UpdateDomainConfigurationInput`](crate::operation::update_domain_configuration::UpdateDomainConfigurationInput).
393 pub fn build(
394 self,
395 ) -> ::std::result::Result<
396 crate::operation::update_domain_configuration::UpdateDomainConfigurationInput,
397 ::aws_smithy_types::error::operation::BuildError,
398 > {
399 ::std::result::Result::Ok(crate::operation::update_domain_configuration::UpdateDomainConfigurationInput {
400 domain_configuration_name: self.domain_configuration_name,
401 authorizer_config: self.authorizer_config,
402 domain_configuration_status: self.domain_configuration_status,
403 remove_authorizer_config: self.remove_authorizer_config,
404 tls_config: self.tls_config,
405 server_certificate_config: self.server_certificate_config,
406 authentication_type: self.authentication_type,
407 application_protocol: self.application_protocol,
408 client_certificate_config: self.client_certificate_config,
409 })
410 }
411}