/* * 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; } } }