/*
* 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
{
///
/// Describes a Client VPN endpoint.
///
public partial class ClientVpnEndpoint
{
private List _associatedTargetNetworks = new List();
private List _authenticationOptions = new List();
private string _clientCidrBlock;
private ClientConnectResponseOptions _clientConnectOptions;
private ClientLoginBannerResponseOptions _clientLoginBannerOptions;
private string _clientVpnEndpointId;
private ConnectionLogResponseOptions _connectionLogOptions;
private string _creationTime;
private string _deletionTime;
private string _description;
private string _dnsName;
private List _dnsServers = new List();
private List _securityGroupIds = new List();
private string _selfServicePortalUrl;
private string _serverCertificateArn;
private int? _sessionTimeoutHours;
private bool? _splitTunnel;
private ClientVpnEndpointStatus _status;
private List _tags = new List();
private TransportProtocol _transportProtocol;
private string _vpcId;
private int? _vpnPort;
private VpnProtocol _vpnProtocol;
///
/// Gets and sets the property AssociatedTargetNetworks.
///
/// Information about the associated target networks. A target network is a subnet in
/// a VPC.
///
///
[Obsolete("This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.")]
public List AssociatedTargetNetworks
{
get { return this._associatedTargetNetworks; }
set { this._associatedTargetNetworks = value; }
}
// Check to see if AssociatedTargetNetworks property is set
internal bool IsSetAssociatedTargetNetworks()
{
return this._associatedTargetNetworks != null && this._associatedTargetNetworks.Count > 0;
}
///
/// Gets and sets the property AuthenticationOptions.
///
/// Information about the authentication method used by the Client VPN endpoint.
///
///
public List AuthenticationOptions
{
get { return this._authenticationOptions; }
set { this._authenticationOptions = value; }
}
// Check to see if AuthenticationOptions property is set
internal bool IsSetAuthenticationOptions()
{
return this._authenticationOptions != null && this._authenticationOptions.Count > 0;
}
///
/// Gets and sets the property ClientCidrBlock.
///
/// The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.
///
///
public string ClientCidrBlock
{
get { return this._clientCidrBlock; }
set { this._clientCidrBlock = value; }
}
// Check to see if ClientCidrBlock property is set
internal bool IsSetClientCidrBlock()
{
return this._clientCidrBlock != null;
}
///
/// Gets and sets the property ClientConnectOptions.
///
/// The options for managing connection authorization for new client connections.
///
///
public ClientConnectResponseOptions 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 ClientLoginBannerResponseOptions 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.
///
///
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 for the Client VPN endpoint.
///
///
public ConnectionLogResponseOptions 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 CreationTime.
///
/// The date and time the Client VPN endpoint was created.
///
///
public string CreationTime
{
get { return this._creationTime; }
set { this._creationTime = value; }
}
// Check to see if CreationTime property is set
internal bool IsSetCreationTime()
{
return this._creationTime != null;
}
///
/// Gets and sets the property DeletionTime.
///
/// The date and time the Client VPN endpoint was deleted, if applicable.
///
///
public string DeletionTime
{
get { return this._deletionTime; }
set { this._deletionTime = value; }
}
// Check to see if DeletionTime property is set
internal bool IsSetDeletionTime()
{
return this._deletionTime != null;
}
///
/// Gets and sets the property Description.
///
/// A brief description of the 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 DnsName.
///
/// The DNS name to be used by clients when connecting to the Client VPN endpoint.
///
///
public string DnsName
{
get { return this._dnsName; }
set { this._dnsName = value; }
}
// Check to see if DnsName property is set
internal bool IsSetDnsName()
{
return this._dnsName != null;
}
///
/// Gets and sets the property DnsServers.
///
/// Information about the DNS servers to be used for DNS resolution.
///
///
public List DnsServers
{
get { return this._dnsServers; }
set { this._dnsServers = value; }
}
// Check to see if DnsServers property is set
internal bool IsSetDnsServers()
{
return this._dnsServers != null && this._dnsServers.Count > 0;
}
///
/// Gets and sets the property SecurityGroupIds.
///
/// The IDs of the security groups for 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 SelfServicePortalUrl.
///
/// The URL of the self-service portal.
///
///
public string SelfServicePortalUrl
{
get { return this._selfServicePortalUrl; }
set { this._selfServicePortalUrl = value; }
}
// Check to see if SelfServicePortalUrl property is set
internal bool IsSetSelfServicePortalUrl()
{
return this._selfServicePortalUrl != null;
}
///
/// Gets and sets the property ServerCertificateArn.
///
/// The ARN of the server certificate.
///
///
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 split-tunnel is enabled in the Client VPN endpoint.
///
///
///
/// 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 Status.
///
/// The current state of the Client VPN endpoint.
///
///
public ClientVpnEndpointStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Tags.
///
/// Any tags assigned to the Client VPN endpoint.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TransportProtocol.
///
/// The transport protocol used by the Client VPN endpoint.
///
///
public TransportProtocol TransportProtocol
{
get { return this._transportProtocol; }
set { this._transportProtocol = value; }
}
// Check to see if TransportProtocol property is set
internal bool IsSetTransportProtocol()
{
return this._transportProtocol != null;
}
///
/// Gets and sets the property VpcId.
///
/// The ID of the VPC.
///
///
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 for the Client VPN endpoint.
///
///
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;
}
///
/// Gets and sets the property VpnProtocol.
///
/// The protocol used by the VPN session.
///
///
public VpnProtocol VpnProtocol
{
get { return this._vpnProtocol; }
set { this._vpnProtocol = value; }
}
// Check to see if VpnProtocol property is set
internal bool IsSetVpnProtocol()
{
return this._vpnProtocol != null;
}
}
}