aws_sdk_ec2/operation/create_client_vpn_endpoint/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_client_vpn_endpoint::_create_client_vpn_endpoint_output::CreateClientVpnEndpointOutputBuilder;
3
4pub use crate::operation::create_client_vpn_endpoint::_create_client_vpn_endpoint_input::CreateClientVpnEndpointInputBuilder;
5
6impl crate::operation::create_client_vpn_endpoint::builders::CreateClientVpnEndpointInputBuilder {
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::create_client_vpn_endpoint::CreateClientVpnEndpointOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_client_vpn_endpoint::CreateClientVpnEndpointError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_client_vpn_endpoint();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateClientVpnEndpoint`.
24///
25/// <p>Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateClientVpnEndpointFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::create_client_vpn_endpoint::builders::CreateClientVpnEndpointInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::create_client_vpn_endpoint::CreateClientVpnEndpointOutput,
35 crate::operation::create_client_vpn_endpoint::CreateClientVpnEndpointError,
36 > for CreateClientVpnEndpointFluentBuilder
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::create_client_vpn_endpoint::CreateClientVpnEndpointOutput,
44 crate::operation::create_client_vpn_endpoint::CreateClientVpnEndpointError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl CreateClientVpnEndpointFluentBuilder {
51 /// Creates a new `CreateClientVpnEndpointFluentBuilder`.
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 CreateClientVpnEndpoint as a reference.
60 pub fn as_input(&self) -> &crate::operation::create_client_vpn_endpoint::builders::CreateClientVpnEndpointInputBuilder {
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::create_client_vpn_endpoint::CreateClientVpnEndpointOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::create_client_vpn_endpoint::CreateClientVpnEndpointError,
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::create_client_vpn_endpoint::CreateClientVpnEndpoint::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::create_client_vpn_endpoint::CreateClientVpnEndpoint::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::create_client_vpn_endpoint::CreateClientVpnEndpointOutput,
97 crate::operation::create_client_vpn_endpoint::CreateClientVpnEndpointError,
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 IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.</p>
112 pub fn client_cidr_block(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.inner = self.inner.client_cidr_block(input.into());
114 self
115 }
116 /// <p>The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.</p>
117 pub fn set_client_cidr_block(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.inner = self.inner.set_client_cidr_block(input);
119 self
120 }
121 /// <p>The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.</p>
122 pub fn get_client_cidr_block(&self) -> &::std::option::Option<::std::string::String> {
123 self.inner.get_client_cidr_block()
124 }
125 /// <p>The ARN of the server certificate. For more information, see the <a href="https://docs.aws.amazon.com/acm/latest/userguide/">Certificate Manager User Guide</a>.</p>
126 pub fn server_certificate_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127 self.inner = self.inner.server_certificate_arn(input.into());
128 self
129 }
130 /// <p>The ARN of the server certificate. For more information, see the <a href="https://docs.aws.amazon.com/acm/latest/userguide/">Certificate Manager User Guide</a>.</p>
131 pub fn set_server_certificate_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132 self.inner = self.inner.set_server_certificate_arn(input);
133 self
134 }
135 /// <p>The ARN of the server certificate. For more information, see the <a href="https://docs.aws.amazon.com/acm/latest/userguide/">Certificate Manager User Guide</a>.</p>
136 pub fn get_server_certificate_arn(&self) -> &::std::option::Option<::std::string::String> {
137 self.inner.get_server_certificate_arn()
138 }
139 ///
140 /// Appends an item to `AuthenticationOptions`.
141 ///
142 /// To override the contents of this collection use [`set_authentication_options`](Self::set_authentication_options).
143 ///
144 /// <p>Information about the authentication method to be used to authenticate clients.</p>
145 pub fn authentication_options(mut self, input: crate::types::ClientVpnAuthenticationRequest) -> Self {
146 self.inner = self.inner.authentication_options(input);
147 self
148 }
149 /// <p>Information about the authentication method to be used to authenticate clients.</p>
150 pub fn set_authentication_options(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ClientVpnAuthenticationRequest>>) -> Self {
151 self.inner = self.inner.set_authentication_options(input);
152 self
153 }
154 /// <p>Information about the authentication method to be used to authenticate clients.</p>
155 pub fn get_authentication_options(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ClientVpnAuthenticationRequest>> {
156 self.inner.get_authentication_options()
157 }
158 /// <p>Information about the client connection logging options.</p>
159 /// <p>If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:</p>
160 /// <ul>
161 /// <li>
162 /// <p>Client connection requests</p></li>
163 /// <li>
164 /// <p>Client connection results (successful and unsuccessful)</p></li>
165 /// <li>
166 /// <p>Reasons for unsuccessful client connection requests</p></li>
167 /// <li>
168 /// <p>Client connection termination time</p></li>
169 /// </ul>
170 pub fn connection_log_options(mut self, input: crate::types::ConnectionLogOptions) -> Self {
171 self.inner = self.inner.connection_log_options(input);
172 self
173 }
174 /// <p>Information about the client connection logging options.</p>
175 /// <p>If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:</p>
176 /// <ul>
177 /// <li>
178 /// <p>Client connection requests</p></li>
179 /// <li>
180 /// <p>Client connection results (successful and unsuccessful)</p></li>
181 /// <li>
182 /// <p>Reasons for unsuccessful client connection requests</p></li>
183 /// <li>
184 /// <p>Client connection termination time</p></li>
185 /// </ul>
186 pub fn set_connection_log_options(mut self, input: ::std::option::Option<crate::types::ConnectionLogOptions>) -> Self {
187 self.inner = self.inner.set_connection_log_options(input);
188 self
189 }
190 /// <p>Information about the client connection logging options.</p>
191 /// <p>If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:</p>
192 /// <ul>
193 /// <li>
194 /// <p>Client connection requests</p></li>
195 /// <li>
196 /// <p>Client connection results (successful and unsuccessful)</p></li>
197 /// <li>
198 /// <p>Reasons for unsuccessful client connection requests</p></li>
199 /// <li>
200 /// <p>Client connection termination time</p></li>
201 /// </ul>
202 pub fn get_connection_log_options(&self) -> &::std::option::Option<crate::types::ConnectionLogOptions> {
203 self.inner.get_connection_log_options()
204 }
205 ///
206 /// Appends an item to `DnsServers`.
207 ///
208 /// To override the contents of this collection use [`set_dns_servers`](Self::set_dns_servers).
209 ///
210 /// <p>Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.</p>
211 pub fn dns_servers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
212 self.inner = self.inner.dns_servers(input.into());
213 self
214 }
215 /// <p>Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.</p>
216 pub fn set_dns_servers(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
217 self.inner = self.inner.set_dns_servers(input);
218 self
219 }
220 /// <p>Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.</p>
221 pub fn get_dns_servers(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
222 self.inner.get_dns_servers()
223 }
224 /// <p>The transport protocol to be used by the VPN session.</p>
225 /// <p>Default value: <code>udp</code></p>
226 pub fn transport_protocol(mut self, input: crate::types::TransportProtocol) -> Self {
227 self.inner = self.inner.transport_protocol(input);
228 self
229 }
230 /// <p>The transport protocol to be used by the VPN session.</p>
231 /// <p>Default value: <code>udp</code></p>
232 pub fn set_transport_protocol(mut self, input: ::std::option::Option<crate::types::TransportProtocol>) -> Self {
233 self.inner = self.inner.set_transport_protocol(input);
234 self
235 }
236 /// <p>The transport protocol to be used by the VPN session.</p>
237 /// <p>Default value: <code>udp</code></p>
238 pub fn get_transport_protocol(&self) -> &::std::option::Option<crate::types::TransportProtocol> {
239 self.inner.get_transport_protocol()
240 }
241 /// <p>The port number to assign to the Client VPN endpoint for TCP and UDP traffic.</p>
242 /// <p>Valid Values: <code>443</code> | <code>1194</code></p>
243 /// <p>Default Value: <code>443</code></p>
244 pub fn vpn_port(mut self, input: i32) -> Self {
245 self.inner = self.inner.vpn_port(input);
246 self
247 }
248 /// <p>The port number to assign to the Client VPN endpoint for TCP and UDP traffic.</p>
249 /// <p>Valid Values: <code>443</code> | <code>1194</code></p>
250 /// <p>Default Value: <code>443</code></p>
251 pub fn set_vpn_port(mut self, input: ::std::option::Option<i32>) -> Self {
252 self.inner = self.inner.set_vpn_port(input);
253 self
254 }
255 /// <p>The port number to assign to the Client VPN endpoint for TCP and UDP traffic.</p>
256 /// <p>Valid Values: <code>443</code> | <code>1194</code></p>
257 /// <p>Default Value: <code>443</code></p>
258 pub fn get_vpn_port(&self) -> &::std::option::Option<i32> {
259 self.inner.get_vpn_port()
260 }
261 /// <p>A brief description of the Client VPN endpoint.</p>
262 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
263 self.inner = self.inner.description(input.into());
264 self
265 }
266 /// <p>A brief description of the Client VPN endpoint.</p>
267 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
268 self.inner = self.inner.set_description(input);
269 self
270 }
271 /// <p>A brief description of the Client VPN endpoint.</p>
272 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
273 self.inner.get_description()
274 }
275 /// <p>Indicates whether split-tunnel is enabled on the Client VPN endpoint.</p>
276 /// <p>By default, split-tunnel on a VPN endpoint is disabled.</p>
277 /// <p>For information about split-tunnel VPN endpoints, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html">Split-tunnel Client VPN endpoint</a> in the <i>Client VPN Administrator Guide</i>.</p>
278 pub fn split_tunnel(mut self, input: bool) -> Self {
279 self.inner = self.inner.split_tunnel(input);
280 self
281 }
282 /// <p>Indicates whether split-tunnel is enabled on the Client VPN endpoint.</p>
283 /// <p>By default, split-tunnel on a VPN endpoint is disabled.</p>
284 /// <p>For information about split-tunnel VPN endpoints, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html">Split-tunnel Client VPN endpoint</a> in the <i>Client VPN Administrator Guide</i>.</p>
285 pub fn set_split_tunnel(mut self, input: ::std::option::Option<bool>) -> Self {
286 self.inner = self.inner.set_split_tunnel(input);
287 self
288 }
289 /// <p>Indicates whether split-tunnel is enabled on the Client VPN endpoint.</p>
290 /// <p>By default, split-tunnel on a VPN endpoint is disabled.</p>
291 /// <p>For information about split-tunnel VPN endpoints, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html">Split-tunnel Client VPN endpoint</a> in the <i>Client VPN Administrator Guide</i>.</p>
292 pub fn get_split_tunnel(&self) -> &::std::option::Option<bool> {
293 self.inner.get_split_tunnel()
294 }
295 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
296 pub fn dry_run(mut self, input: bool) -> Self {
297 self.inner = self.inner.dry_run(input);
298 self
299 }
300 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
301 pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
302 self.inner = self.inner.set_dry_run(input);
303 self
304 }
305 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
306 pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
307 self.inner.get_dry_run()
308 }
309 /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
310 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
311 self.inner = self.inner.client_token(input.into());
312 self
313 }
314 /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
315 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
316 self.inner = self.inner.set_client_token(input);
317 self
318 }
319 /// <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
320 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
321 self.inner.get_client_token()
322 }
323 ///
324 /// Appends an item to `TagSpecifications`.
325 ///
326 /// To override the contents of this collection use [`set_tag_specifications`](Self::set_tag_specifications).
327 ///
328 /// <p>The tags to apply to the Client VPN endpoint during creation.</p>
329 pub fn tag_specifications(mut self, input: crate::types::TagSpecification) -> Self {
330 self.inner = self.inner.tag_specifications(input);
331 self
332 }
333 /// <p>The tags to apply to the Client VPN endpoint during creation.</p>
334 pub fn set_tag_specifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>>) -> Self {
335 self.inner = self.inner.set_tag_specifications(input);
336 self
337 }
338 /// <p>The tags to apply to the Client VPN endpoint during creation.</p>
339 pub fn get_tag_specifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TagSpecification>> {
340 self.inner.get_tag_specifications()
341 }
342 ///
343 /// Appends an item to `SecurityGroupIds`.
344 ///
345 /// To override the contents of this collection use [`set_security_group_ids`](Self::set_security_group_ids).
346 ///
347 /// <p>The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.</p>
348 pub fn security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
349 self.inner = self.inner.security_group_ids(input.into());
350 self
351 }
352 /// <p>The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.</p>
353 pub fn set_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
354 self.inner = self.inner.set_security_group_ids(input);
355 self
356 }
357 /// <p>The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.</p>
358 pub fn get_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
359 self.inner.get_security_group_ids()
360 }
361 /// <p>The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.</p>
362 pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
363 self.inner = self.inner.vpc_id(input.into());
364 self
365 }
366 /// <p>The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.</p>
367 pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
368 self.inner = self.inner.set_vpc_id(input);
369 self
370 }
371 /// <p>The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.</p>
372 pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
373 self.inner.get_vpc_id()
374 }
375 /// <p>Specify whether to enable the self-service portal for the Client VPN endpoint.</p>
376 /// <p>Default Value: <code>enabled</code></p>
377 pub fn self_service_portal(mut self, input: crate::types::SelfServicePortal) -> Self {
378 self.inner = self.inner.self_service_portal(input);
379 self
380 }
381 /// <p>Specify whether to enable the self-service portal for the Client VPN endpoint.</p>
382 /// <p>Default Value: <code>enabled</code></p>
383 pub fn set_self_service_portal(mut self, input: ::std::option::Option<crate::types::SelfServicePortal>) -> Self {
384 self.inner = self.inner.set_self_service_portal(input);
385 self
386 }
387 /// <p>Specify whether to enable the self-service portal for the Client VPN endpoint.</p>
388 /// <p>Default Value: <code>enabled</code></p>
389 pub fn get_self_service_portal(&self) -> &::std::option::Option<crate::types::SelfServicePortal> {
390 self.inner.get_self_service_portal()
391 }
392 /// <p>The options for managing connection authorization for new client connections.</p>
393 pub fn client_connect_options(mut self, input: crate::types::ClientConnectOptions) -> Self {
394 self.inner = self.inner.client_connect_options(input);
395 self
396 }
397 /// <p>The options for managing connection authorization for new client connections.</p>
398 pub fn set_client_connect_options(mut self, input: ::std::option::Option<crate::types::ClientConnectOptions>) -> Self {
399 self.inner = self.inner.set_client_connect_options(input);
400 self
401 }
402 /// <p>The options for managing connection authorization for new client connections.</p>
403 pub fn get_client_connect_options(&self) -> &::std::option::Option<crate::types::ClientConnectOptions> {
404 self.inner.get_client_connect_options()
405 }
406 /// <p>The maximum VPN session duration time in hours.</p>
407 /// <p>Valid values: <code>8 | 10 | 12 | 24</code></p>
408 /// <p>Default value: <code>24</code></p>
409 pub fn session_timeout_hours(mut self, input: i32) -> Self {
410 self.inner = self.inner.session_timeout_hours(input);
411 self
412 }
413 /// <p>The maximum VPN session duration time in hours.</p>
414 /// <p>Valid values: <code>8 | 10 | 12 | 24</code></p>
415 /// <p>Default value: <code>24</code></p>
416 pub fn set_session_timeout_hours(mut self, input: ::std::option::Option<i32>) -> Self {
417 self.inner = self.inner.set_session_timeout_hours(input);
418 self
419 }
420 /// <p>The maximum VPN session duration time in hours.</p>
421 /// <p>Valid values: <code>8 | 10 | 12 | 24</code></p>
422 /// <p>Default value: <code>24</code></p>
423 pub fn get_session_timeout_hours(&self) -> &::std::option::Option<i32> {
424 self.inner.get_session_timeout_hours()
425 }
426 /// <p>Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is established.</p>
427 pub fn client_login_banner_options(mut self, input: crate::types::ClientLoginBannerOptions) -> Self {
428 self.inner = self.inner.client_login_banner_options(input);
429 self
430 }
431 /// <p>Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is established.</p>
432 pub fn set_client_login_banner_options(mut self, input: ::std::option::Option<crate::types::ClientLoginBannerOptions>) -> Self {
433 self.inner = self.inner.set_client_login_banner_options(input);
434 self
435 }
436 /// <p>Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is established.</p>
437 pub fn get_client_login_banner_options(&self) -> &::std::option::Option<crate::types::ClientLoginBannerOptions> {
438 self.inner.get_client_login_banner_options()
439 }
440 /// <p>Indicates whether the client VPN session is disconnected after the maximum timeout specified in <code>SessionTimeoutHours</code> is reached. If <code>true</code>, users are prompted to reconnect client VPN. If <code>false</code>, client VPN attempts to reconnect automatically. The default value is <code>false</code>.</p>
441 pub fn disconnect_on_session_timeout(mut self, input: bool) -> Self {
442 self.inner = self.inner.disconnect_on_session_timeout(input);
443 self
444 }
445 /// <p>Indicates whether the client VPN session is disconnected after the maximum timeout specified in <code>SessionTimeoutHours</code> is reached. If <code>true</code>, users are prompted to reconnect client VPN. If <code>false</code>, client VPN attempts to reconnect automatically. The default value is <code>false</code>.</p>
446 pub fn set_disconnect_on_session_timeout(mut self, input: ::std::option::Option<bool>) -> Self {
447 self.inner = self.inner.set_disconnect_on_session_timeout(input);
448 self
449 }
450 /// <p>Indicates whether the client VPN session is disconnected after the maximum timeout specified in <code>SessionTimeoutHours</code> is reached. If <code>true</code>, users are prompted to reconnect client VPN. If <code>false</code>, client VPN attempts to reconnect automatically. The default value is <code>false</code>.</p>
451 pub fn get_disconnect_on_session_timeout(&self) -> &::std::option::Option<bool> {
452 self.inner.get_disconnect_on_session_timeout()
453 }
454}