/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.EC2.Model
{
///
/// Container for the parameters to the ModifyClientVpnEndpoint operation.
/// Modifies the specified Client VPN endpoint. Modifying the DNS server resets existing
/// client connections.
///
public partial class ModifyClientVpnEndpointRequest : AmazonEC2Request
{
private ClientConnectOptions _clientConnectOptions;
private ClientLoginBannerOptions _clientLoginBannerOptions;
private string _clientVpnEndpointId;
private ConnectionLogOptions _connectionLogOptions;
private string _description;
private DnsServersOptionsModifyStructure _dnsServers;
private List _securityGroupIds = new List();
private SelfServicePortal _selfServicePortal;
private string _serverCertificateArn;
private int? _sessionTimeoutHours;
private bool? _splitTunnel;
private string _vpcId;
private int? _vpnPort;
///
/// Gets and sets the property ClientConnectOptions.
///
/// The options for managing connection authorization for new client connections.
///
///
public ClientConnectOptions ClientConnectOptions
{
get { return this._clientConnectOptions; }
set { this._clientConnectOptions = value; }
}
// Check to see if ClientConnectOptions property is set
internal bool IsSetClientConnectOptions()
{
return this._clientConnectOptions != null;
}
///
/// Gets and sets the property 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 ClientLoginBannerOptions ClientLoginBannerOptions
{
get { return this._clientLoginBannerOptions; }
set { this._clientLoginBannerOptions = value; }
}
// Check to see if ClientLoginBannerOptions property is set
internal bool IsSetClientLoginBannerOptions()
{
return this._clientLoginBannerOptions != null;
}
///
/// Gets and sets the property ClientVpnEndpointId.
///
/// The ID of the Client VPN endpoint to modify.
///
///
[AWSProperty(Required=true)]
public string ClientVpnEndpointId
{
get { return this._clientVpnEndpointId; }
set { this._clientVpnEndpointId = value; }
}
// Check to see if ClientVpnEndpointId property is set
internal bool IsSetClientVpnEndpointId()
{
return this._clientVpnEndpointId != null;
}
///
/// Gets and sets the property 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
///
///
///
public ConnectionLogOptions ConnectionLogOptions
{
get { return this._connectionLogOptions; }
set { this._connectionLogOptions = value; }
}
// Check to see if ConnectionLogOptions property is set
internal bool IsSetConnectionLogOptions()
{
return this._connectionLogOptions != null;
}
///
/// Gets and sets the property Description.
///
/// A brief description of the Client VPN endpoint.
///
///
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property 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 DnsServersOptionsModifyStructure DnsServers
{
get { return this._dnsServers; }
set { this._dnsServers = value; }
}
// Check to see if DnsServers property is set
internal bool IsSetDnsServers()
{
return this._dnsServers != null;
}
///
/// Gets and sets the property SecurityGroupIds.
///
/// The IDs of one or more security groups to apply to the target network.
///
///
public List SecurityGroupIds
{
get { return this._securityGroupIds; }
set { this._securityGroupIds = value; }
}
// Check to see if SecurityGroupIds property is set
internal bool IsSetSecurityGroupIds()
{
return this._securityGroupIds != null && this._securityGroupIds.Count > 0;
}
///
/// Gets and sets the property SelfServicePortal.
///
/// Specify whether to enable the self-service portal for the Client VPN endpoint.
///
///
public SelfServicePortal SelfServicePortal
{
get { return this._selfServicePortal; }
set { this._selfServicePortal = value; }
}
// Check to see if SelfServicePortal property is set
internal bool IsSetSelfServicePortal()
{
return this._selfServicePortal != null;
}
///
/// Gets and sets the property ServerCertificateArn.
///
/// The ARN of the server certificate to be used. The server certificate must be provisioned
/// in Certificate Manager (ACM).
///
///
public string ServerCertificateArn
{
get { return this._serverCertificateArn; }
set { this._serverCertificateArn = value; }
}
// Check to see if ServerCertificateArn property is set
internal bool IsSetServerCertificateArn()
{
return this._serverCertificateArn != null;
}
///
/// Gets and sets the property SessionTimeoutHours.
///
/// The maximum VPN session duration time in hours.
///
///
///
/// Valid values: 8 | 10 | 12 | 24
///
///
///
/// Default value: 24
///
///
public int SessionTimeoutHours
{
get { return this._sessionTimeoutHours.GetValueOrDefault(); }
set { this._sessionTimeoutHours = value; }
}
// Check to see if SessionTimeoutHours property is set
internal bool IsSetSessionTimeoutHours()
{
return this._sessionTimeoutHours.HasValue;
}
///
/// Gets and sets the property 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 bool SplitTunnel
{
get { return this._splitTunnel.GetValueOrDefault(); }
set { this._splitTunnel = value; }
}
// Check to see if SplitTunnel property is set
internal bool IsSetSplitTunnel()
{
return this._splitTunnel.HasValue;
}
///
/// Gets and sets the property VpcId.
///
/// The ID of the VPC to associate with the Client VPN endpoint.
///
///
public string VpcId
{
get { return this._vpcId; }
set { this._vpcId = value; }
}
// Check to see if VpcId property is set
internal bool IsSetVpcId()
{
return this._vpcId != null;
}
///
/// Gets and sets the property VpnPort.
///
/// The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
///
///
///
/// Valid Values: 443
| 1194
///
///
///
/// Default Value: 443
///
///
public int VpnPort
{
get { return this._vpnPort.GetValueOrDefault(); }
set { this._vpnPort = value; }
}
// Check to see if VpnPort property is set
internal bool IsSetVpnPort()
{
return this._vpnPort.HasValue;
}
}
}