/*
* 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.
*
* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager
* (ACM).
*
* 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:
*
* Client connection requests
*
* Client connection results (successful and unsuccessful)
*
* Reasons for unsuccessful client connection requests
*
* Client connection termination time
*
* Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two
* DNS servers.
*
* The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
*
* Valid Values:
* Default Value:
* A brief description of the Client VPN endpoint.
*
* 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.
*
* The IDs of one or more security groups to apply to the target network.
*
* The ID of the VPC to associate with the Client VPN endpoint.
*
* Specify whether to enable the self-service portal for the Client VPN endpoint.
*
* The options for managing connection authorization for new client connections.
*
* The maximum VPN session duration time in hours.
*
* Valid values:
* Default value:
* Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients
* when a VPN session is established.
*
* The ID of the Client VPN endpoint to modify.
*
* The ID of the Client VPN endpoint to modify.
*
* The ID of the Client VPN endpoint to modify.
*
* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager
* (ACM).
*
* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager
* (ACM).
*
* The ARN of the server certificate to be used. The server certificate must be provisioned in Certificate Manager
* (ACM).
*
* 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:
*
* Client connection requests
*
* Client connection results (successful and unsuccessful)
*
* Reasons for unsuccessful client connection requests
*
* Client connection termination time
*
*
*/
private ConnectionLogOptions connectionLogOptions;
/**
* 443
| 1194
* 443
* 8 | 10 | 12 | 24
* 24
*
*
*
* @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: *
** Client connection requests *
** Client connection results (successful and unsuccessful) *
** Reasons for unsuccessful client connection requests *
** Client connection termination time *
** 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: *
** Client connection requests *
** Client connection results (successful and unsuccessful) *
** Reasons for unsuccessful client connection requests *
** Client connection termination time *
** If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log * stream. The following information is logged: *
** Client connection requests *
** Client connection results (successful and unsuccessful) *
** Reasons for unsuccessful client connection requests *
** Client connection termination time *
** 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: *
** Client connection requests *
** Client connection results (successful and unsuccessful) *
** Reasons for unsuccessful client connection requests *
** Client connection termination time *
** If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log * stream. The following information is logged: *
** Client connection requests *
** Client connection results (successful and unsuccessful) *
** Reasons for unsuccessful client connection requests *
** Client connection termination time *
** Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two * DNS servers. *
* * @param dnsServers * Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up * to two DNS servers. */ public void setDnsServers(DnsServersOptionsModifyStructure dnsServers) { this.dnsServers = dnsServers; } /** ** Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two * DNS servers. *
* * @return Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up * to two DNS servers. */ public DnsServersOptionsModifyStructure getDnsServers() { return this.dnsServers; } /** ** Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two * DNS servers. *
* * @param dnsServers * Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up * to two DNS servers. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withDnsServers(DnsServersOptionsModifyStructure dnsServers) { setDnsServers(dnsServers); return this; } /** ** The port number to assign to the Client VPN endpoint for TCP and UDP traffic. *
*
* Valid Values: 443
| 1194
*
* Default Value: 443
*
* Valid Values: 443
| 1194
*
* Default Value: 443
*/
public void setVpnPort(Integer vpnPort) {
this.vpnPort = vpnPort;
}
/**
*
* The port number to assign to the Client VPN endpoint for TCP and UDP traffic. *
*
* Valid Values: 443
| 1194
*
* Default Value: 443
*
* Valid Values: 443
| 1194
*
* Default Value: 443
*/
public Integer getVpnPort() {
return this.vpnPort;
}
/**
*
* The port number to assign to the Client VPN endpoint for TCP and UDP traffic. *
*
* Valid Values: 443
| 1194
*
* Default Value: 443
*
* Valid Values: 443
| 1194
*
* Default Value: 443
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClientVpnEndpointRequest withVpnPort(Integer vpnPort) {
setVpnPort(vpnPort);
return this;
}
/**
*
* A brief description of the Client VPN endpoint. *
* * @param description * A brief description of the Client VPN endpoint. */ public void setDescription(String description) { this.description = description; } /** ** A brief description of the Client VPN endpoint. *
* * @return A brief description of the Client VPN endpoint. */ public String getDescription() { return this.description; } /** ** A brief description of the Client VPN endpoint. *
* * @param description * A brief description of the Client VPN endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withDescription(String description) { setDescription(description); return this; } /** ** 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. *
* * @param splitTunnel * 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. */ public void setSplitTunnel(Boolean splitTunnel) { this.splitTunnel = splitTunnel; } /** *
* 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. *
* * @return 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. */ public Boolean getSplitTunnel() { return this.splitTunnel; } /** *
* 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. *
* * @param splitTunnel * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withSplitTunnel(Boolean splitTunnel) { setSplitTunnel(splitTunnel); return this; } /** *
* 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. *
* * @return 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. */ public Boolean isSplitTunnel() { return this.splitTunnel; } /** *
* The IDs of one or more security groups to apply to the target network. *
* * @return The IDs of one or more security groups to apply to the target network. */ public java.util.List* The IDs of one or more security groups to apply to the target network. *
* * @param securityGroupIds * The IDs of one or more security groups to apply to the target network. */ public void setSecurityGroupIds(java.util.Collection* The IDs of one or more security groups to apply to the target network. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you * want to override the existing values. *
* * @param securityGroupIds * The IDs of one or more security groups to apply to the target network. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withSecurityGroupIds(String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new com.amazonaws.internal.SdkInternalList* The IDs of one or more security groups to apply to the target network. *
* * @param securityGroupIds * The IDs of one or more security groups to apply to the target network. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withSecurityGroupIds(java.util.Collection* The ID of the VPC to associate with the Client VPN endpoint. *
* * @param vpcId * The ID of the VPC to associate with the Client VPN endpoint. */ public void setVpcId(String vpcId) { this.vpcId = vpcId; } /** ** The ID of the VPC to associate with the Client VPN endpoint. *
* * @return The ID of the VPC to associate with the Client VPN endpoint. */ public String getVpcId() { return this.vpcId; } /** ** The ID of the VPC to associate with the Client VPN endpoint. *
* * @param vpcId * The ID of the VPC to associate with the Client VPN endpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withVpcId(String vpcId) { setVpcId(vpcId); return this; } /** ** Specify whether to enable the self-service portal for the Client VPN endpoint. *
* * @param selfServicePortal * Specify whether to enable the self-service portal for the Client VPN endpoint. * @see SelfServicePortal */ public void setSelfServicePortal(String selfServicePortal) { this.selfServicePortal = selfServicePortal; } /** ** Specify whether to enable the self-service portal for the Client VPN endpoint. *
* * @return Specify whether to enable the self-service portal for the Client VPN endpoint. * @see SelfServicePortal */ public String getSelfServicePortal() { return this.selfServicePortal; } /** ** Specify whether to enable the self-service portal for the Client VPN endpoint. *
* * @param selfServicePortal * Specify whether to enable the self-service portal for the Client VPN endpoint. * @return Returns a reference to this object so that method calls can be chained together. * @see SelfServicePortal */ public ModifyClientVpnEndpointRequest withSelfServicePortal(String selfServicePortal) { setSelfServicePortal(selfServicePortal); return this; } /** ** Specify whether to enable the self-service portal for the Client VPN endpoint. *
* * @param selfServicePortal * Specify whether to enable the self-service portal for the Client VPN endpoint. * @return Returns a reference to this object so that method calls can be chained together. * @see SelfServicePortal */ public ModifyClientVpnEndpointRequest withSelfServicePortal(SelfServicePortal selfServicePortal) { this.selfServicePortal = selfServicePortal.toString(); return this; } /** ** The options for managing connection authorization for new client connections. *
* * @param clientConnectOptions * The options for managing connection authorization for new client connections. */ public void setClientConnectOptions(ClientConnectOptions clientConnectOptions) { this.clientConnectOptions = clientConnectOptions; } /** ** The options for managing connection authorization for new client connections. *
* * @return The options for managing connection authorization for new client connections. */ public ClientConnectOptions getClientConnectOptions() { return this.clientConnectOptions; } /** ** The options for managing connection authorization for new client connections. *
* * @param clientConnectOptions * The options for managing connection authorization for new client connections. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withClientConnectOptions(ClientConnectOptions clientConnectOptions) { setClientConnectOptions(clientConnectOptions); return this; } /** ** The maximum VPN session duration time in hours. *
*
* Valid values: 8 | 10 | 12 | 24
*
* Default value: 24
*
* Valid values: 8 | 10 | 12 | 24
*
* Default value: 24
*/
public void setSessionTimeoutHours(Integer sessionTimeoutHours) {
this.sessionTimeoutHours = sessionTimeoutHours;
}
/**
*
* The maximum VPN session duration time in hours. *
*
* Valid values: 8 | 10 | 12 | 24
*
* Default value: 24
*
* Valid values: 8 | 10 | 12 | 24
*
* Default value: 24
*/
public Integer getSessionTimeoutHours() {
return this.sessionTimeoutHours;
}
/**
*
* The maximum VPN session duration time in hours. *
*
* Valid values: 8 | 10 | 12 | 24
*
* Default value: 24
*
* Valid values: 8 | 10 | 12 | 24
*
* Default value: 24
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ModifyClientVpnEndpointRequest withSessionTimeoutHours(Integer sessionTimeoutHours) {
setSessionTimeoutHours(sessionTimeoutHours);
return this;
}
/**
*
* Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients * when a VPN session is established. *
* * @param clientLoginBannerOptions * Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided * clients when a VPN session is established. */ public void setClientLoginBannerOptions(ClientLoginBannerOptions clientLoginBannerOptions) { this.clientLoginBannerOptions = clientLoginBannerOptions; } /** ** Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients * when a VPN session is established. *
* * @return Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided * clients when a VPN session is established. */ public ClientLoginBannerOptions getClientLoginBannerOptions() { return this.clientLoginBannerOptions; } /** ** Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients * when a VPN session is established. *
* * @param clientLoginBannerOptions * Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided * clients when a VPN session is established. * @return Returns a reference to this object so that method calls can be chained together. */ public ModifyClientVpnEndpointRequest withClientLoginBannerOptions(ClientLoginBannerOptions clientLoginBannerOptions) { setClientLoginBannerOptions(clientLoginBannerOptions); return this; } /** * This method is intended for internal use only. Returns the marshaled request configured with additional * parameters to enable operation dry-run. */ @Override public Request