/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ec2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; import com.amazonaws.Request; import com.amazonaws.services.ec2.model.transform.ModifyClientVpnEndpointRequestMarshaller; /** * */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ModifyClientVpnEndpointRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest { /** *

* The ID of the Client VPN endpoint to modify. *

*/ private String clientVpnEndpointId; /** *

* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager * (ACM). *

*/ private String serverCertificateArn; /** *

* Information about the client connection logging options. *

*

* If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. * The following information is logged: *

* */ private ConnectionLogOptions connectionLogOptions; /** *

* Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two * DNS servers. *

*/ private DnsServersOptionsModifyStructure dnsServers; /** *

* The port number to assign to the Client VPN endpoint for TCP and UDP traffic. *

*

* Valid Values: 443 | 1194 *

*

* Default Value: 443 *

*/ private Integer vpnPort; /** *

* A brief description of the Client VPN endpoint. *

*/ private String description; /** *

* Indicates whether the VPN is split-tunnel. *

*

* For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN * endpoint in the Client VPN Administrator Guide. *

*/ private Boolean splitTunnel; /** *

* The IDs of one or more security groups to apply to the target network. *

*/ private com.amazonaws.internal.SdkInternalList securityGroupIds; /** *

* The ID of the VPC to associate with the Client VPN endpoint. *

*/ private String vpcId; /** *

* Specify whether to enable the self-service portal for the Client VPN endpoint. *

*/ private String selfServicePortal; /** *

* The options for managing connection authorization for new client connections. *

*/ private ClientConnectOptions clientConnectOptions; /** *

* The maximum VPN session duration time in hours. *

*

* Valid values: 8 | 10 | 12 | 24 *

*

* Default value: 24 *

*/ private Integer sessionTimeoutHours; /** *

* Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients * when a VPN session is established. *

*/ private ClientLoginBannerOptions clientLoginBannerOptions; /** *

* The ID of the Client VPN endpoint to modify. *

* * @param clientVpnEndpointId * The ID of the Client VPN endpoint to modify. */ public void setClientVpnEndpointId(String clientVpnEndpointId) { this.clientVpnEndpointId = clientVpnEndpointId; } /** *

* The ID of the Client VPN endpoint to modify. *

* * @return The ID of the Client VPN endpoint to modify. */ public String getClientVpnEndpointId() { return this.clientVpnEndpointId; } /** *

* The ID of the Client VPN endpoint to modify. *

* * @param clientVpnEndpointId * The ID of the Client VPN endpoint to modify. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withClientVpnEndpointId(String clientVpnEndpointId) { setClientVpnEndpointId(clientVpnEndpointId); return this; } /** *

* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager * (ACM). *

* * @param serverCertificateArn * The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate * Manager (ACM). */ public void setServerCertificateArn(String serverCertificateArn) { this.serverCertificateArn = serverCertificateArn; } /** *

* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager * (ACM). *

* * @return The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate * Manager (ACM). */ public String getServerCertificateArn() { return this.serverCertificateArn; } /** *

* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager * (ACM). *

* * @param serverCertificateArn * The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate * Manager (ACM). * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withServerCertificateArn(String serverCertificateArn) { setServerCertificateArn(serverCertificateArn); return this; } /** *

* Information about the client connection logging options. *

*

* If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. * The following information is logged: *

* * * @param connectionLogOptions * Information about the client connection logging options.

*

* If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log * stream. The following information is logged: *

*