aws_sdk_elasticloadbalancingv2/operation/modify_target_group/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::modify_target_group::_modify_target_group_output::ModifyTargetGroupOutputBuilder;
3
4pub use crate::operation::modify_target_group::_modify_target_group_input::ModifyTargetGroupInputBuilder;
5
6impl crate::operation::modify_target_group::builders::ModifyTargetGroupInputBuilder {
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::modify_target_group::ModifyTargetGroupOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::modify_target_group::ModifyTargetGroupError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.modify_target_group();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ModifyTargetGroup`.
24///
25/// <p>Modifies the health checks used when evaluating the health state of the targets in the specified target group.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct ModifyTargetGroupFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::modify_target_group::builders::ModifyTargetGroupInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::modify_target_group::ModifyTargetGroupOutput,
35        crate::operation::modify_target_group::ModifyTargetGroupError,
36    > for ModifyTargetGroupFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::modify_target_group::ModifyTargetGroupOutput,
44            crate::operation::modify_target_group::ModifyTargetGroupError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl ModifyTargetGroupFluentBuilder {
51    /// Creates a new `ModifyTargetGroupFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the ModifyTargetGroup as a reference.
60    pub fn as_input(&self) -> &crate::operation::modify_target_group::builders::ModifyTargetGroupInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::modify_target_group::ModifyTargetGroupOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::modify_target_group::ModifyTargetGroupError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::modify_target_group::ModifyTargetGroup::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::modify_target_group::ModifyTargetGroup::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::modify_target_group::ModifyTargetGroupOutput,
97        crate::operation::modify_target_group::ModifyTargetGroupError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>The Amazon Resource Name (ARN) of the target group.</p>
112    pub fn target_group_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.target_group_arn(input.into());
114        self
115    }
116    /// <p>The Amazon Resource Name (ARN) of the target group.</p>
117    pub fn set_target_group_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_target_group_arn(input);
119        self
120    }
121    /// <p>The Amazon Resource Name (ARN) of the target group.</p>
122    pub fn get_target_group_arn(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_target_group_arn()
124    }
125    /// <p>The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. It is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.</p>
126    pub fn health_check_protocol(mut self, input: crate::types::ProtocolEnum) -> Self {
127        self.inner = self.inner.health_check_protocol(input);
128        self
129    }
130    /// <p>The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. It is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.</p>
131    pub fn set_health_check_protocol(mut self, input: ::std::option::Option<crate::types::ProtocolEnum>) -> Self {
132        self.inner = self.inner.set_health_check_protocol(input);
133        self
134    }
135    /// <p>The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers and Gateway Load Balancers, the default is TCP. The TCP protocol is not supported for health checks if the protocol of the target group is HTTP or HTTPS. It is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The GENEVE, TLS, UDP, and TCP_UDP protocols are not supported for health checks.</p>
136    pub fn get_health_check_protocol(&self) -> &::std::option::Option<crate::types::ProtocolEnum> {
137        self.inner.get_health_check_protocol()
138    }
139    /// <p>The port the load balancer uses when performing health checks on targets.</p>
140    pub fn health_check_port(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.health_check_port(input.into());
142        self
143    }
144    /// <p>The port the load balancer uses when performing health checks on targets.</p>
145    pub fn set_health_check_port(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_health_check_port(input);
147        self
148    }
149    /// <p>The port the load balancer uses when performing health checks on targets.</p>
150    pub fn get_health_check_port(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_health_check_port()
152    }
153    /// <p>\[HTTP/HTTPS health checks\] The destination for health checks on the targets.</p>
154    /// <p>\[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.</p>
155    /// <p>\[GRPC protocol version\] The path of a custom health check method with the format /package.service/method. The default is /Amazon Web Services.ALB/healthcheck.</p>
156    pub fn health_check_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157        self.inner = self.inner.health_check_path(input.into());
158        self
159    }
160    /// <p>\[HTTP/HTTPS health checks\] The destination for health checks on the targets.</p>
161    /// <p>\[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.</p>
162    /// <p>\[GRPC protocol version\] The path of a custom health check method with the format /package.service/method. The default is /Amazon Web Services.ALB/healthcheck.</p>
163    pub fn set_health_check_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
164        self.inner = self.inner.set_health_check_path(input);
165        self
166    }
167    /// <p>\[HTTP/HTTPS health checks\] The destination for health checks on the targets.</p>
168    /// <p>\[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.</p>
169    /// <p>\[GRPC protocol version\] The path of a custom health check method with the format /package.service/method. The default is /Amazon Web Services.ALB/healthcheck.</p>
170    pub fn get_health_check_path(&self) -> &::std::option::Option<::std::string::String> {
171        self.inner.get_health_check_path()
172    }
173    /// <p>Indicates whether health checks are enabled.</p>
174    pub fn health_check_enabled(mut self, input: bool) -> Self {
175        self.inner = self.inner.health_check_enabled(input);
176        self
177    }
178    /// <p>Indicates whether health checks are enabled.</p>
179    pub fn set_health_check_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
180        self.inner = self.inner.set_health_check_enabled(input);
181        self
182    }
183    /// <p>Indicates whether health checks are enabled.</p>
184    pub fn get_health_check_enabled(&self) -> &::std::option::Option<bool> {
185        self.inner.get_health_check_enabled()
186    }
187    /// <p>The approximate amount of time, in seconds, between health checks of an individual target.</p>
188    pub fn health_check_interval_seconds(mut self, input: i32) -> Self {
189        self.inner = self.inner.health_check_interval_seconds(input);
190        self
191    }
192    /// <p>The approximate amount of time, in seconds, between health checks of an individual target.</p>
193    pub fn set_health_check_interval_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
194        self.inner = self.inner.set_health_check_interval_seconds(input);
195        self
196    }
197    /// <p>The approximate amount of time, in seconds, between health checks of an individual target.</p>
198    pub fn get_health_check_interval_seconds(&self) -> &::std::option::Option<i32> {
199        self.inner.get_health_check_interval_seconds()
200    }
201    /// <p>\[HTTP/HTTPS health checks\] The amount of time, in seconds, during which no response means a failed health check.</p>
202    pub fn health_check_timeout_seconds(mut self, input: i32) -> Self {
203        self.inner = self.inner.health_check_timeout_seconds(input);
204        self
205    }
206    /// <p>\[HTTP/HTTPS health checks\] The amount of time, in seconds, during which no response means a failed health check.</p>
207    pub fn set_health_check_timeout_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
208        self.inner = self.inner.set_health_check_timeout_seconds(input);
209        self
210    }
211    /// <p>\[HTTP/HTTPS health checks\] The amount of time, in seconds, during which no response means a failed health check.</p>
212    pub fn get_health_check_timeout_seconds(&self) -> &::std::option::Option<i32> {
213        self.inner.get_health_check_timeout_seconds()
214    }
215    /// <p>The number of consecutive health checks successes required before considering an unhealthy target healthy.</p>
216    pub fn healthy_threshold_count(mut self, input: i32) -> Self {
217        self.inner = self.inner.healthy_threshold_count(input);
218        self
219    }
220    /// <p>The number of consecutive health checks successes required before considering an unhealthy target healthy.</p>
221    pub fn set_healthy_threshold_count(mut self, input: ::std::option::Option<i32>) -> Self {
222        self.inner = self.inner.set_healthy_threshold_count(input);
223        self
224    }
225    /// <p>The number of consecutive health checks successes required before considering an unhealthy target healthy.</p>
226    pub fn get_healthy_threshold_count(&self) -> &::std::option::Option<i32> {
227        self.inner.get_healthy_threshold_count()
228    }
229    /// <p>The number of consecutive health check failures required before considering the target unhealthy.</p>
230    pub fn unhealthy_threshold_count(mut self, input: i32) -> Self {
231        self.inner = self.inner.unhealthy_threshold_count(input);
232        self
233    }
234    /// <p>The number of consecutive health check failures required before considering the target unhealthy.</p>
235    pub fn set_unhealthy_threshold_count(mut self, input: ::std::option::Option<i32>) -> Self {
236        self.inner = self.inner.set_unhealthy_threshold_count(input);
237        self
238    }
239    /// <p>The number of consecutive health check failures required before considering the target unhealthy.</p>
240    pub fn get_unhealthy_threshold_count(&self) -> &::std::option::Option<i32> {
241        self.inner.get_unhealthy_threshold_count()
242    }
243    /// <p>\[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when checking for a successful response from a target. For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.</p>
244    pub fn matcher(mut self, input: crate::types::Matcher) -> Self {
245        self.inner = self.inner.matcher(input);
246        self
247    }
248    /// <p>\[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when checking for a successful response from a target. For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.</p>
249    pub fn set_matcher(mut self, input: ::std::option::Option<crate::types::Matcher>) -> Self {
250        self.inner = self.inner.set_matcher(input);
251        self
252    }
253    /// <p>\[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when checking for a successful response from a target. For target groups with a protocol of TCP, TCP_UDP, UDP or TLS the range is 200-599. For target groups with a protocol of HTTP or HTTPS, the range is 200-499. For target groups with a protocol of GENEVE, the range is 200-399.</p>
254    pub fn get_matcher(&self) -> &::std::option::Option<crate::types::Matcher> {
255        self.inner.get_matcher()
256    }
257}