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. If the target type is <code>lambda</code>, health checks are disabled by default but can be enabled. If the target type is <code>instance</code>, <code>ip</code>, or <code>alb</code>, health checks are always enabled and can't be disabled.</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. If the target type is <code>lambda</code>, health checks are disabled by default but can be enabled. If the target type is <code>instance</code>, <code>ip</code>, or <code>alb</code>, health checks are always enabled and can't be disabled.</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. If the target type is <code>lambda</code>, health checks are disabled by default but can be enabled. If the target type is <code>instance</code>, <code>ip</code>, or <code>alb</code>, health checks are always enabled and can't be disabled.</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}