aws_sdk_networkfirewall/operation/update_tls_inspection_configuration/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_tls_inspection_configuration::_update_tls_inspection_configuration_output::UpdateTlsInspectionConfigurationOutputBuilder;
3
4pub use crate::operation::update_tls_inspection_configuration::_update_tls_inspection_configuration_input::UpdateTlsInspectionConfigurationInputBuilder;
5
6impl crate::operation::update_tls_inspection_configuration::builders::UpdateTlsInspectionConfigurationInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::update_tls_inspection_configuration::UpdateTlsInspectionConfigurationOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_tls_inspection_configuration::UpdateTLSInspectionConfigurationError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_tls_inspection_configuration();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateTLSInspectionConfiguration`.
24///
25/// <p>Updates the TLS inspection configuration settings for the specified TLS inspection configuration. You use a TLS inspection configuration by referencing it in one or more firewall policies. When you modify a TLS inspection configuration, you modify all firewall policies that use the TLS inspection configuration.</p>
26/// <p>To update a TLS inspection configuration, first call <code>DescribeTLSInspectionConfiguration</code> to retrieve the current <code>TLSInspectionConfiguration</code> object, update the object as needed, and then provide the updated object to this call.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct UpdateTLSInspectionConfigurationFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::update_tls_inspection_configuration::builders::UpdateTlsInspectionConfigurationInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::update_tls_inspection_configuration::UpdateTlsInspectionConfigurationOutput,
36        crate::operation::update_tls_inspection_configuration::UpdateTLSInspectionConfigurationError,
37    > for UpdateTLSInspectionConfigurationFluentBuilder
38{
39    fn send(
40        self,
41        config_override: crate::config::Builder,
42    ) -> crate::client::customize::internal::BoxFuture<
43        crate::client::customize::internal::SendResult<
44            crate::operation::update_tls_inspection_configuration::UpdateTlsInspectionConfigurationOutput,
45            crate::operation::update_tls_inspection_configuration::UpdateTLSInspectionConfigurationError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl UpdateTLSInspectionConfigurationFluentBuilder {
52    /// Creates a new `UpdateTLSInspectionConfigurationFluentBuilder`.
53    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54        Self {
55            handle,
56            inner: ::std::default::Default::default(),
57            config_override: ::std::option::Option::None,
58        }
59    }
60    /// Access the UpdateTLSInspectionConfiguration as a reference.
61    pub fn as_input(&self) -> &crate::operation::update_tls_inspection_configuration::builders::UpdateTlsInspectionConfigurationInputBuilder {
62        &self.inner
63    }
64    /// Sends the request and returns the response.
65    ///
66    /// If an error occurs, an `SdkError` will be returned with additional details that
67    /// can be matched against.
68    ///
69    /// By default, any retryable failures will be retried twice. Retry behavior
70    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71    /// set when configuring the client.
72    pub async fn send(
73        self,
74    ) -> ::std::result::Result<
75        crate::operation::update_tls_inspection_configuration::UpdateTlsInspectionConfigurationOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::update_tls_inspection_configuration::UpdateTLSInspectionConfigurationError,
78            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79        >,
80    > {
81        let input = self
82            .inner
83            .build()
84            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85        let runtime_plugins = crate::operation::update_tls_inspection_configuration::UpdateTLSInspectionConfiguration::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::update_tls_inspection_configuration::UpdateTLSInspectionConfiguration::orchestrate(&runtime_plugins, input).await
91    }
92
93    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94    pub fn customize(
95        self,
96    ) -> crate::client::customize::CustomizableOperation<
97        crate::operation::update_tls_inspection_configuration::UpdateTlsInspectionConfigurationOutput,
98        crate::operation::update_tls_inspection_configuration::UpdateTLSInspectionConfigurationError,
99        Self,
100    > {
101        crate::client::customize::CustomizableOperation::new(self)
102    }
103    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104        self.set_config_override(::std::option::Option::Some(config_override.into()));
105        self
106    }
107
108    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109        self.config_override = config_override;
110        self
111    }
112    /// <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
113    pub fn tls_inspection_configuration_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.tls_inspection_configuration_arn(input.into());
115        self
116    }
117    /// <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
118    pub fn set_tls_inspection_configuration_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119        self.inner = self.inner.set_tls_inspection_configuration_arn(input);
120        self
121    }
122    /// <p>The Amazon Resource Name (ARN) of the TLS inspection configuration.</p>
123    pub fn get_tls_inspection_configuration_arn(&self) -> &::std::option::Option<::std::string::String> {
124        self.inner.get_tls_inspection_configuration_arn()
125    }
126    /// <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
127    pub fn tls_inspection_configuration_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128        self.inner = self.inner.tls_inspection_configuration_name(input.into());
129        self
130    }
131    /// <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
132    pub fn set_tls_inspection_configuration_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133        self.inner = self.inner.set_tls_inspection_configuration_name(input);
134        self
135    }
136    /// <p>The descriptive name of the TLS inspection configuration. You can't change the name of a TLS inspection configuration after you create it.</p>
137    pub fn get_tls_inspection_configuration_name(&self) -> &::std::option::Option<::std::string::String> {
138        self.inner.get_tls_inspection_configuration_name()
139    }
140    /// <p>The object that defines a TLS inspection configuration. This, along with <code>TLSInspectionConfigurationResponse</code>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <code>DescribeTLSInspectionConfiguration</code>.</p>
141    /// <p>Network Firewall uses a TLS inspection configuration to decrypt traffic. Network Firewall re-encrypts the traffic before sending it to its destination.</p>
142    /// <p>To use a TLS inspection configuration, you add it to a new Network Firewall firewall policy, then you apply the firewall policy to a firewall. Network Firewall acts as a proxy service to decrypt and inspect the traffic traveling through your firewalls. You can reference a TLS inspection configuration from more than one firewall policy, and you can use a firewall policy in more than one firewall. For more information about using TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Inspecting SSL/TLS traffic with TLS inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
143    pub fn tls_inspection_configuration(mut self, input: crate::types::TlsInspectionConfiguration) -> Self {
144        self.inner = self.inner.tls_inspection_configuration(input);
145        self
146    }
147    /// <p>The object that defines a TLS inspection configuration. This, along with <code>TLSInspectionConfigurationResponse</code>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <code>DescribeTLSInspectionConfiguration</code>.</p>
148    /// <p>Network Firewall uses a TLS inspection configuration to decrypt traffic. Network Firewall re-encrypts the traffic before sending it to its destination.</p>
149    /// <p>To use a TLS inspection configuration, you add it to a new Network Firewall firewall policy, then you apply the firewall policy to a firewall. Network Firewall acts as a proxy service to decrypt and inspect the traffic traveling through your firewalls. You can reference a TLS inspection configuration from more than one firewall policy, and you can use a firewall policy in more than one firewall. For more information about using TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Inspecting SSL/TLS traffic with TLS inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
150    pub fn set_tls_inspection_configuration(mut self, input: ::std::option::Option<crate::types::TlsInspectionConfiguration>) -> Self {
151        self.inner = self.inner.set_tls_inspection_configuration(input);
152        self
153    }
154    /// <p>The object that defines a TLS inspection configuration. This, along with <code>TLSInspectionConfigurationResponse</code>, define the TLS inspection configuration. You can retrieve all objects for a TLS inspection configuration by calling <code>DescribeTLSInspectionConfiguration</code>.</p>
155    /// <p>Network Firewall uses a TLS inspection configuration to decrypt traffic. Network Firewall re-encrypts the traffic before sending it to its destination.</p>
156    /// <p>To use a TLS inspection configuration, you add it to a new Network Firewall firewall policy, then you apply the firewall policy to a firewall. Network Firewall acts as a proxy service to decrypt and inspect the traffic traveling through your firewalls. You can reference a TLS inspection configuration from more than one firewall policy, and you can use a firewall policy in more than one firewall. For more information about using TLS inspection configurations, see <a href="https://docs.aws.amazon.com/network-firewall/latest/developerguide/tls-inspection.html">Inspecting SSL/TLS traffic with TLS inspection configurations</a> in the <i>Network Firewall Developer Guide</i>.</p>
157    pub fn get_tls_inspection_configuration(&self) -> &::std::option::Option<crate::types::TlsInspectionConfiguration> {
158        self.inner.get_tls_inspection_configuration()
159    }
160    /// <p>A description of the TLS inspection configuration.</p>
161    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
162        self.inner = self.inner.description(input.into());
163        self
164    }
165    /// <p>A description of the TLS inspection configuration.</p>
166    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
167        self.inner = self.inner.set_description(input);
168        self
169    }
170    /// <p>A description of the TLS inspection configuration.</p>
171    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
172        self.inner.get_description()
173    }
174    /// <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your TLS inspection configuration.</p>
175    pub fn encryption_configuration(mut self, input: crate::types::EncryptionConfiguration) -> Self {
176        self.inner = self.inner.encryption_configuration(input);
177        self
178    }
179    /// <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your TLS inspection configuration.</p>
180    pub fn set_encryption_configuration(mut self, input: ::std::option::Option<crate::types::EncryptionConfiguration>) -> Self {
181        self.inner = self.inner.set_encryption_configuration(input);
182        self
183    }
184    /// <p>A complex type that contains the Amazon Web Services KMS encryption configuration settings for your TLS inspection configuration.</p>
185    pub fn get_encryption_configuration(&self) -> &::std::option::Option<crate::types::EncryptionConfiguration> {
186        self.inner.get_encryption_configuration()
187    }
188    /// <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the TLS inspection configuration. The token marks the state of the TLS inspection configuration resource at the time of the request.</p>
189    /// <p>To make changes to the TLS inspection configuration, you provide the token in your request. Network Firewall uses the token to ensure that the TLS inspection configuration hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the TLS inspection configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
190    pub fn update_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
191        self.inner = self.inner.update_token(input.into());
192        self
193    }
194    /// <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the TLS inspection configuration. The token marks the state of the TLS inspection configuration resource at the time of the request.</p>
195    /// <p>To make changes to the TLS inspection configuration, you provide the token in your request. Network Firewall uses the token to ensure that the TLS inspection configuration hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the TLS inspection configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
196    pub fn set_update_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
197        self.inner = self.inner.set_update_token(input);
198        self
199    }
200    /// <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the TLS inspection configuration. The token marks the state of the TLS inspection configuration resource at the time of the request.</p>
201    /// <p>To make changes to the TLS inspection configuration, you provide the token in your request. Network Firewall uses the token to ensure that the TLS inspection configuration hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the TLS inspection configuration again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
202    pub fn get_update_token(&self) -> &::std::option::Option<::std::string::String> {
203        self.inner.get_update_token()
204    }
205}