/* * 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 CreateClientVpnEndpoint operation. /// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and /// configure to enable and manage client VPN sessions. It is the destination endpoint /// at which all client VPN sessions are terminated. /// public partial class CreateClientVpnEndpointRequest : AmazonEC2Request { private List _authenticationOptions = new List(); private string _clientCidrBlock; private ClientConnectOptions _clientConnectOptions; private ClientLoginBannerOptions _clientLoginBannerOptions; private string _clientToken; private ConnectionLogOptions _connectionLogOptions; private string _description; private List _dnsServers = new List(); private List _securityGroupIds = new List(); private SelfServicePortal _selfServicePortal; private string _serverCertificateArn; private int? _sessionTimeoutHours; private bool? _splitTunnel; private List _tagSpecifications = new List(); private TransportProtocol _transportProtocol; private string _vpcId; private int? _vpnPort; /// /// Gets and sets the property AuthenticationOptions. /// /// Information about the authentication method to be used to authenticate clients. /// /// [AWSProperty(Required=true)] 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 to assign client IP addresses. /// The address range cannot overlap with the local CIDR of the VPC in which the associated /// subnet is located, or the routes that you add manually. The address range cannot be /// changed after the Client VPN endpoint has been created. Client CIDR range must have /// a size of at least /22 and must not be greater than /12. /// /// [AWSProperty(Required=true)] 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 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 ClientToken. /// /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the /// request. For more information, see How /// to ensure idempotency. /// /// public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != 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 /// ///
///
[AWSProperty(Required=true)] 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 for DNS resolution. A Client VPN endpoint /// can have up to two DNS servers. If no DNS server is specified, the DNS address configured /// on the device is used for the DNS server. /// /// 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 one or more security groups to apply to the target network. You must also /// specify the ID of the VPC that contains the security groups. /// /// 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. /// /// /// /// Default Value: enabled /// /// 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. For more information, see the Certificate /// Manager User Guide. /// /// [AWSProperty(Required=true)] 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 on the Client VPN endpoint. /// /// /// /// By default, split-tunnel on a VPN endpoint is disabled. /// /// /// /// 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 TagSpecifications. /// /// The tags to apply to the Client VPN endpoint during creation. /// /// public List TagSpecifications { get { return this._tagSpecifications; } set { this._tagSpecifications = value; } } // Check to see if TagSpecifications property is set internal bool IsSetTagSpecifications() { return this._tagSpecifications != null && this._tagSpecifications.Count > 0; } /// /// Gets and sets the property TransportProtocol. /// /// The transport protocol to be used by the VPN session. /// /// /// /// Default value: udp /// /// 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 to associate with the Client VPN endpoint. If no security group /// IDs are specified in the request, the default security group for the VPC is applied. /// /// 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; } } }