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}