Class: AWSCDK::EC2::CfnClientVpnEndpointProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EC2::CfnClientVpnEndpointProps
- Defined in:
- ec2/cfn_client_vpn_endpoint_props.rb
Overview
Properties for defining a CfnClientVpnEndpoint.
Instance Attribute Summary collapse
-
#authentication_options ⇒ AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EC2::CfnClientVpnEndpoint::ClientAuthenticationRequestProperty>
readonly
Information about the authentication method to be used to authenticate clients.
-
#client_cidr_block ⇒ String?
readonly
The IPv4 address range, in CIDR notation, from which to assign client IP addresses.
-
#client_connect_options ⇒ AWSCDK::IResolvable, ...
readonly
The options for managing connection authorization for new client connections.
-
#client_login_banner_options ⇒ AWSCDK::IResolvable, ...
readonly
Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.
-
#client_route_enforcement_options ⇒ AWSCDK::IResolvable, ...
readonly
Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN.
-
#connection_log_options ⇒ AWSCDK::IResolvable, AWSCDK::EC2::CfnClientVpnEndpoint::ConnectionLogOptionsProperty
readonly
Information about the client connection logging options.
-
#description ⇒ String?
readonly
A brief description of the Client VPN endpoint.
-
#disconnect_on_session_timeout ⇒ Boolean, ...
readonly
Indicates whether the client VPN session is disconnected after the maximum
sessionTimeoutHoursis reached. -
#dns_servers ⇒ Array<String>?
readonly
Information about the DNS servers to be used for DNS resolution.
-
#endpoint_ip_address_type ⇒ String?
readonly
The IP address type of the Client VPN endpoint.
-
#security_group_ids ⇒ Array<String>?
readonly
The IDs of one or more security groups to apply to the target network.
-
#self_service_portal ⇒ String?
readonly
Specify whether to enable the self-service portal for the Client VPN endpoint.
-
#server_certificate_arn ⇒ String
readonly
The ARN of the server certificate.
-
#session_timeout_hours ⇒ Numeric?
readonly
The maximum VPN session duration time in hours.
-
#split_tunnel ⇒ Boolean, ...
readonly
Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
-
#tag_specifications ⇒ AWSCDK::IResolvable, ...
readonly
The tags to apply to the Client VPN endpoint during creation.
-
#traffic_ip_address_type ⇒ String?
readonly
The IP address type of the Client VPN endpoint.
- #transit_gateway_configuration ⇒ AWSCDK::IResolvable, ... readonly
-
#transport_protocol ⇒ String?
readonly
The transport protocol to be used by the VPN session.
-
#vpc_id ⇒ String?
readonly
The ID of the VPC to associate with the Client VPN endpoint.
-
#vpn_port ⇒ Numeric?
readonly
The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(authentication_options:, connection_log_options:, server_certificate_arn:, client_cidr_block: nil, client_connect_options: nil, client_login_banner_options: nil, client_route_enforcement_options: nil, description: nil, disconnect_on_session_timeout: nil, dns_servers: nil, endpoint_ip_address_type: nil, security_group_ids: nil, self_service_portal: nil, session_timeout_hours: nil, split_tunnel: nil, tag_specifications: nil, traffic_ip_address_type: nil, transit_gateway_configuration: nil, transport_protocol: nil, vpc_id: nil, vpn_port: nil) ⇒ CfnClientVpnEndpointProps
constructor
A new instance of CfnClientVpnEndpointProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(authentication_options:, connection_log_options:, server_certificate_arn:, client_cidr_block: nil, client_connect_options: nil, client_login_banner_options: nil, client_route_enforcement_options: nil, description: nil, disconnect_on_session_timeout: nil, dns_servers: nil, endpoint_ip_address_type: nil, security_group_ids: nil, self_service_portal: nil, session_timeout_hours: nil, split_tunnel: nil, tag_specifications: nil, traffic_ip_address_type: nil, transit_gateway_configuration: nil, transport_protocol: nil, vpc_id: nil, vpn_port: nil) ⇒ CfnClientVpnEndpointProps
Returns a new instance of CfnClientVpnEndpointProps.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 30 def initialize(authentication_options:, connection_log_options:, server_certificate_arn:, client_cidr_block: nil, client_connect_options: nil, client_login_banner_options: nil, client_route_enforcement_options: nil, description: nil, disconnect_on_session_timeout: nil, dns_servers: nil, endpoint_ip_address_type: nil, security_group_ids: nil, self_service_portal: nil, session_timeout_hours: nil, split_tunnel: nil, tag_specifications: nil, traffic_ip_address_type: nil, transit_gateway_configuration: nil, transport_protocol: nil, vpc_id: nil, vpn_port: nil) @authentication_options = Jsii::Type.check_type(@authentication_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkNmbkNsaWVudFZwbkVuZHBvaW50LkNsaWVudEF1dGhlbnRpY2F0aW9uUmVxdWVzdFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "authenticationOptions") @connection_log_options = .is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::ConnectionLogOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@connection_log_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuQ29ubmVjdGlvbkxvZ09wdGlvbnNQcm9wZXJ0eSJ9XX19")), "connectionLogOptions") @server_certificate_arn = server_certificate_arn Jsii::Type.check_type(@server_certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverCertificateArn") @client_cidr_block = client_cidr_block Jsii::Type.check_type(@client_cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clientCidrBlock") unless @client_cidr_block.nil? @client_connect_options = .is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::ClientConnectOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@client_connect_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuQ2xpZW50Q29ubmVjdE9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "clientConnectOptions") unless @client_connect_options.nil? @client_login_banner_options = .is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::ClientLoginBannerOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@client_login_banner_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuQ2xpZW50TG9naW5CYW5uZXJPcHRpb25zUHJvcGVydHkifV19fQ==")), "clientLoginBannerOptions") unless @client_login_banner_options.nil? @client_route_enforcement_options = .is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::ClientRouteEnforcementOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@client_route_enforcement_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuQ2xpZW50Um91dGVFbmZvcmNlbWVudE9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "clientRouteEnforcementOptions") unless @client_route_enforcement_options.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @disconnect_on_session_timeout = disconnect_on_session_timeout Jsii::Type.check_type(@disconnect_on_session_timeout, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "disconnectOnSessionTimeout") unless @disconnect_on_session_timeout.nil? @dns_servers = dns_servers Jsii::Type.check_type(@dns_servers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "dnsServers") unless @dns_servers.nil? @endpoint_ip_address_type = endpoint_ip_address_type Jsii::Type.check_type(@endpoint_ip_address_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointIpAddressType") unless @endpoint_ip_address_type.nil? @security_group_ids = security_group_ids Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil? @self_service_portal = self_service_portal Jsii::Type.check_type(@self_service_portal, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "selfServicePortal") unless @self_service_portal.nil? @session_timeout_hours = session_timeout_hours Jsii::Type.check_type(@session_timeout_hours, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "sessionTimeoutHours") unless @session_timeout_hours.nil? @split_tunnel = split_tunnel Jsii::Type.check_type(@split_tunnel, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "splitTunnel") unless @split_tunnel.nil? @tag_specifications = tag_specifications Jsii::Type.check_type(@tag_specifications, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkNmbkNsaWVudFZwbkVuZHBvaW50LlRhZ1NwZWNpZmljYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "tagSpecifications") unless @tag_specifications.nil? @traffic_ip_address_type = traffic_ip_address_type Jsii::Type.check_type(@traffic_ip_address_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "trafficIpAddressType") unless @traffic_ip_address_type.nil? @transit_gateway_configuration = transit_gateway_configuration.is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::TransitGatewayConfigurationProperty.new(**transit_gateway_configuration.transform_keys(&:to_sym)) : transit_gateway_configuration Jsii::Type.check_type(@transit_gateway_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuVHJhbnNpdEdhdGV3YXlDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "transitGatewayConfiguration") unless @transit_gateway_configuration.nil? @transport_protocol = transport_protocol Jsii::Type.check_type(@transport_protocol, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transportProtocol") unless @transport_protocol.nil? @vpc_id = vpc_id Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcId") unless @vpc_id.nil? @vpn_port = vpn_port Jsii::Type.check_type(@vpn_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "vpnPort") unless @vpn_port.nil? end |
Instance Attribute Details
#authentication_options ⇒ AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EC2::CfnClientVpnEndpoint::ClientAuthenticationRequestProperty> (readonly)
Information about the authentication method to be used to authenticate clients.
79 80 81 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 79 def @authentication_options end |
#client_cidr_block ⇒ String? (readonly)
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.
105 106 107 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 105 def client_cidr_block @client_cidr_block end |
#client_connect_options ⇒ AWSCDK::IResolvable, ... (readonly)
The options for managing connection authorization for new client connections.
110 111 112 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 110 def @client_connect_options end |
#client_login_banner_options ⇒ AWSCDK::IResolvable, ... (readonly)
Options for enabling a customizable text banner that will be displayed on AWS provided clients when a VPN session is established.
115 116 117 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 115 def @client_login_banner_options end |
#client_route_enforcement_options ⇒ AWSCDK::IResolvable, ... (readonly)
Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN.
T his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.
Client route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table, reverting it back to the expected route configurations.
124 125 126 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 124 def @client_route_enforcement_options end |
#connection_log_options ⇒ AWSCDK::IResolvable, AWSCDK::EC2::CfnClientVpnEndpoint::ConnectionLogOptionsProperty (readonly)
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
91 92 93 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 91 def @connection_log_options end |
#description ⇒ String? (readonly)
A brief description of the Client VPN endpoint.
129 130 131 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 129 def description @description end |
#disconnect_on_session_timeout ⇒ Boolean, ... (readonly)
Indicates whether the client VPN session is disconnected after the maximum sessionTimeoutHours is reached.
If true , users are prompted to reconnect client VPN. If false , client VPN attempts to reconnect automatically. The default value is true .
136 137 138 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 136 def disconnect_on_session_timeout @disconnect_on_session_timeout end |
#dns_servers ⇒ Array<String>? (readonly)
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.
143 144 145 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 143 def dns_servers @dns_servers end |
#endpoint_ip_address_type ⇒ String? (readonly)
The IP address type of the Client VPN endpoint.
Possible values are ipv4 for IPv4 addressing only, ipv6 for IPv6 addressing only, or dual-stack for both IPv4 and IPv6 addressing.
150 151 152 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 150 def endpoint_ip_address_type @endpoint_ip_address_type end |
#security_group_ids ⇒ Array<String>? (readonly)
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.
157 158 159 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 157 def security_group_ids @security_group_ids end |
#self_service_portal ⇒ String? (readonly)
Specify whether to enable the self-service portal for the Client VPN endpoint.
Default Value: enabled
164 165 166 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 164 def self_service_portal @self_service_portal end |
#server_certificate_arn ⇒ String (readonly)
The ARN of the server certificate.
For more information, see the Certificate Manager User Guide .
98 99 100 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 98 def server_certificate_arn @server_certificate_arn end |
#session_timeout_hours ⇒ Numeric? (readonly)
The maximum VPN session duration time in hours.
Valid values: 8 | 10 | 12 | 24
Default value: 24
173 174 175 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 173 def session_timeout_hours @session_timeout_hours end |
#split_tunnel ⇒ Boolean, ... (readonly)
Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
By default, split-tunnel on a VPN endpoint is disabled.
For information about split-tunnel VPN endpoints, see Split-tunnel AWS Client VPN endpoint in the AWS Client VPN Administrator Guide .
182 183 184 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 182 def split_tunnel @split_tunnel end |
#tag_specifications ⇒ AWSCDK::IResolvable, ... (readonly)
The tags to apply to the Client VPN endpoint during creation.
187 188 189 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 187 def tag_specifications @tag_specifications end |
#traffic_ip_address_type ⇒ String? (readonly)
The IP address type of the Client VPN endpoint.
Possible values are either ipv4 for IPv4 addressing only, ipv6 for IPv6 addressing only, or dual-stack for both IPv4 and IPv6 addressing.
194 195 196 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 194 def traffic_ip_address_type @traffic_ip_address_type end |
#transit_gateway_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
197 198 199 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 197 def transit_gateway_configuration @transit_gateway_configuration end |
#transport_protocol ⇒ String? (readonly)
The transport protocol to be used by the VPN session.
Default value: udp
204 205 206 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 204 def transport_protocol @transport_protocol end |
#vpc_id ⇒ String? (readonly)
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.
211 212 213 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 211 def vpc_id @vpc_id end |
#vpn_port ⇒ Numeric? (readonly)
The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
Valid Values: 443 | 1194
Default Value: 443
220 221 222 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 220 def vpn_port @vpn_port end |
Class Method Details
.jsii_properties ⇒ Object
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 222 def self.jsii_properties { :authentication_options => "authenticationOptions", :connection_log_options => "connectionLogOptions", :server_certificate_arn => "serverCertificateArn", :client_cidr_block => "clientCidrBlock", :client_connect_options => "clientConnectOptions", :client_login_banner_options => "clientLoginBannerOptions", :client_route_enforcement_options => "clientRouteEnforcementOptions", :description => "description", :disconnect_on_session_timeout => "disconnectOnSessionTimeout", :dns_servers => "dnsServers", :endpoint_ip_address_type => "endpointIpAddressType", :security_group_ids => "securityGroupIds", :self_service_portal => "selfServicePortal", :session_timeout_hours => "sessionTimeoutHours", :split_tunnel => "splitTunnel", :tag_specifications => "tagSpecifications", :traffic_ip_address_type => "trafficIpAddressType", :transit_gateway_configuration => "transitGatewayConfiguration", :transport_protocol => "transportProtocol", :vpc_id => "vpcId", :vpn_port => "vpnPort", } end |
Instance Method Details
#to_jsii ⇒ Object
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 |
# File 'ec2/cfn_client_vpn_endpoint_props.rb', line 248 def to_jsii result = {} result.merge!({ "authenticationOptions" => @authentication_options, "connectionLogOptions" => @connection_log_options, "serverCertificateArn" => @server_certificate_arn, "clientCidrBlock" => @client_cidr_block, "clientConnectOptions" => @client_connect_options, "clientLoginBannerOptions" => @client_login_banner_options, "clientRouteEnforcementOptions" => @client_route_enforcement_options, "description" => @description, "disconnectOnSessionTimeout" => @disconnect_on_session_timeout, "dnsServers" => @dns_servers, "endpointIpAddressType" => @endpoint_ip_address_type, "securityGroupIds" => @security_group_ids, "selfServicePortal" => @self_service_portal, "sessionTimeoutHours" => @session_timeout_hours, "splitTunnel" => @split_tunnel, "tagSpecifications" => @tag_specifications, "trafficIpAddressType" => @traffic_ip_address_type, "transitGatewayConfiguration" => @transit_gateway_configuration, "transportProtocol" => @transport_protocol, "vpcId" => @vpc_id, "vpnPort" => @vpn_port, }) result.compact end |