Class: AWSCDK::EC2::CfnVPNConnectionProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EC2::CfnVPNConnectionProps
- Defined in:
- ec2/cfn_vpn_connection_props.rb
Overview
Properties for defining a CfnVPNConnection.
Instance Attribute Summary collapse
-
#customer_gateway_id ⇒ String, AWSCDK::Interfaces::AWSEC2::ICustomerGatewayRef
readonly
The ID of the customer gateway at your end of the VPN connection.
-
#enable_acceleration ⇒ Boolean, ...
readonly
Indicate whether to enable acceleration for the VPN connection.
-
#local_ipv4_network_cidr ⇒ String?
readonly
The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
-
#local_ipv6_network_cidr ⇒ String?
readonly
The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
-
#outside_ip_address_type ⇒ String?
readonly
The type of IP address assigned to the outside interface of the customer gateway device.
-
#pre_shared_key_storage ⇒ String?
readonly
Describes the storage location for an instance store-backed AMI.
-
#remote_ipv4_network_cidr ⇒ String?
readonly
The IPv4 CIDR on the AWS side of the VPN connection.
-
#remote_ipv6_network_cidr ⇒ String?
readonly
The IPv6 CIDR on the AWS side of the VPN connection.
-
#static_routes_only ⇒ Boolean, ...
readonly
Indicates whether the VPN connection uses static routes only.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Any tags assigned to the VPN connection.
-
#transit_gateway_id ⇒ String, ...
readonly
The ID of the transit gateway associated with the VPN connection.
-
#transport_transit_gateway_attachment_id ⇒ String?
readonly
The transit gateway attachment ID to use for the VPN tunnel.
-
#tunnel_bandwidth ⇒ String?
readonly
The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity.
-
#tunnel_inside_ip_version ⇒ String?
readonly
Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
-
#type ⇒ String
readonly
The type of VPN connection.
-
#vpn_concentrator_id ⇒ String?
readonly
The ID of the VPN concentrator to associate with the VPN connection.
-
#vpn_gateway_id ⇒ String, ...
readonly
The ID of the virtual private gateway at the AWS side of the VPN connection.
-
#vpn_tunnel_options_specifications ⇒ AWSCDK::IResolvable, ...
readonly
The tunnel options for the VPN connection.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(customer_gateway_id:, type:, enable_acceleration: nil, local_ipv4_network_cidr: nil, local_ipv6_network_cidr: nil, outside_ip_address_type: nil, pre_shared_key_storage: nil, remote_ipv4_network_cidr: nil, remote_ipv6_network_cidr: nil, static_routes_only: nil, tags: nil, transit_gateway_id: nil, transport_transit_gateway_attachment_id: nil, tunnel_bandwidth: nil, tunnel_inside_ip_version: nil, vpn_concentrator_id: nil, vpn_gateway_id: nil, vpn_tunnel_options_specifications: nil) ⇒ CfnVPNConnectionProps
constructor
A new instance of CfnVPNConnectionProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(customer_gateway_id:, type:, enable_acceleration: nil, local_ipv4_network_cidr: nil, local_ipv6_network_cidr: nil, outside_ip_address_type: nil, pre_shared_key_storage: nil, remote_ipv4_network_cidr: nil, remote_ipv6_network_cidr: nil, static_routes_only: nil, tags: nil, transit_gateway_id: nil, transport_transit_gateway_attachment_id: nil, tunnel_bandwidth: nil, tunnel_inside_ip_version: nil, vpn_concentrator_id: nil, vpn_gateway_id: nil, vpn_tunnel_options_specifications: nil) ⇒ CfnVPNConnectionProps
Returns a new instance of CfnVPNConnectionProps.
27 28 29 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 |
# File 'ec2/cfn_vpn_connection_props.rb', line 27 def initialize(customer_gateway_id:, type:, enable_acceleration: nil, local_ipv4_network_cidr: nil, local_ipv6_network_cidr: nil, outside_ip_address_type: nil, pre_shared_key_storage: nil, remote_ipv4_network_cidr: nil, remote_ipv6_network_cidr: nil, static_routes_only: nil, tags: nil, transit_gateway_id: nil, transport_transit_gateway_attachment_id: nil, tunnel_bandwidth: nil, tunnel_inside_ip_version: nil, vpn_concentrator_id: nil, vpn_gateway_id: nil, vpn_tunnel_options_specifications: nil) @customer_gateway_id = customer_gateway_id Jsii::Type.check_type(@customer_gateway_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSUN1c3RvbWVyR2F0ZXdheVJlZiJ9XX19")), "customerGatewayId") @type = type Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") @enable_acceleration = enable_acceleration Jsii::Type.check_type(@enable_acceleration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enableAcceleration") unless @enable_acceleration.nil? @local_ipv4_network_cidr = local_ipv4_network_cidr Jsii::Type.check_type(@local_ipv4_network_cidr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "localIpv4NetworkCidr") unless @local_ipv4_network_cidr.nil? @local_ipv6_network_cidr = local_ipv6_network_cidr Jsii::Type.check_type(@local_ipv6_network_cidr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "localIpv6NetworkCidr") unless @local_ipv6_network_cidr.nil? @outside_ip_address_type = outside_ip_address_type Jsii::Type.check_type(@outside_ip_address_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "outsideIpAddressType") unless @outside_ip_address_type.nil? @pre_shared_key_storage = pre_shared_key_storage Jsii::Type.check_type(@pre_shared_key_storage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preSharedKeyStorage") unless @pre_shared_key_storage.nil? @remote_ipv4_network_cidr = remote_ipv4_network_cidr Jsii::Type.check_type(@remote_ipv4_network_cidr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "remoteIpv4NetworkCidr") unless @remote_ipv4_network_cidr.nil? @remote_ipv6_network_cidr = remote_ipv6_network_cidr Jsii::Type.check_type(@remote_ipv6_network_cidr, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "remoteIpv6NetworkCidr") unless @remote_ipv6_network_cidr.nil? @static_routes_only = static_routes_only Jsii::Type.check_type(@static_routes_only, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "staticRoutesOnly") unless @static_routes_only.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @transit_gateway_id = transit_gateway_id Jsii::Type.check_type(@transit_gateway_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVRyYW5zaXRHYXRld2F5UmVmIn1dfX0=")), "transitGatewayId") unless @transit_gateway_id.nil? @transport_transit_gateway_attachment_id = Jsii::Type.check_type(@transport_transit_gateway_attachment_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "transportTransitGatewayAttachmentId") unless @transport_transit_gateway_attachment_id.nil? @tunnel_bandwidth = tunnel_bandwidth Jsii::Type.check_type(@tunnel_bandwidth, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tunnelBandwidth") unless @tunnel_bandwidth.nil? @tunnel_inside_ip_version = tunnel_inside_ip_version Jsii::Type.check_type(@tunnel_inside_ip_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tunnelInsideIpVersion") unless @tunnel_inside_ip_version.nil? @vpn_concentrator_id = vpn_concentrator_id Jsii::Type.check_type(@vpn_concentrator_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpnConcentratorId") unless @vpn_concentrator_id.nil? @vpn_gateway_id = vpn_gateway_id Jsii::Type.check_type(@vpn_gateway_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19lYzIuSVZQTkdhdGV3YXlSZWYifV19fQ==")), "vpnGatewayId") unless @vpn_gateway_id.nil? @vpn_tunnel_options_specifications = Jsii::Type.check_type(@vpn_tunnel_options_specifications, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkNmblZQTkNvbm5lY3Rpb24uVnBuVHVubmVsT3B0aW9uc1NwZWNpZmljYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "vpnTunnelOptionsSpecifications") unless @vpn_tunnel_options_specifications.nil? end |
Instance Attribute Details
#customer_gateway_id ⇒ String, AWSCDK::Interfaces::AWSEC2::ICustomerGatewayRef (readonly)
The ID of the customer gateway at your end of the VPN connection.
70 71 72 |
# File 'ec2/cfn_vpn_connection_props.rb', line 70 def customer_gateway_id @customer_gateway_id end |
#enable_acceleration ⇒ Boolean, ... (readonly)
Indicate whether to enable acceleration for the VPN connection.
Default: false
82 83 84 |
# File 'ec2/cfn_vpn_connection_props.rb', line 82 def enable_acceleration @enable_acceleration end |
#local_ipv4_network_cidr ⇒ String? (readonly)
The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: 0.0.0.0/0
89 90 91 |
# File 'ec2/cfn_vpn_connection_props.rb', line 89 def local_ipv4_network_cidr @local_ipv4_network_cidr end |
#local_ipv6_network_cidr ⇒ String? (readonly)
The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
Default: ::/0
96 97 98 |
# File 'ec2/cfn_vpn_connection_props.rb', line 96 def local_ipv6_network_cidr @local_ipv6_network_cidr end |
#outside_ip_address_type ⇒ String? (readonly)
The type of IP address assigned to the outside interface of the customer gateway device.
Valid values: PrivateIpv4 | PublicIpv4 | Ipv6
Default: PublicIpv4
105 106 107 |
# File 'ec2/cfn_vpn_connection_props.rb', line 105 def outside_ip_address_type @outside_ip_address_type end |
#pre_shared_key_storage ⇒ String? (readonly)
Describes the storage location for an instance store-backed AMI.
110 111 112 |
# File 'ec2/cfn_vpn_connection_props.rb', line 110 def pre_shared_key_storage @pre_shared_key_storage end |
#remote_ipv4_network_cidr ⇒ String? (readonly)
The IPv4 CIDR on the AWS side of the VPN connection.
Default: 0.0.0.0/0
117 118 119 |
# File 'ec2/cfn_vpn_connection_props.rb', line 117 def remote_ipv4_network_cidr @remote_ipv4_network_cidr end |
#remote_ipv6_network_cidr ⇒ String? (readonly)
The IPv6 CIDR on the AWS side of the VPN connection.
Default: ::/0
124 125 126 |
# File 'ec2/cfn_vpn_connection_props.rb', line 124 def remote_ipv6_network_cidr @remote_ipv6_network_cidr end |
#static_routes_only ⇒ Boolean, ... (readonly)
Indicates whether the VPN connection uses static routes only.
Static routes must be used for devices that don't support BGP.
If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify true .
133 134 135 |
# File 'ec2/cfn_vpn_connection_props.rb', line 133 def static_routes_only @static_routes_only end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
Any tags assigned to the VPN connection.
138 139 140 |
# File 'ec2/cfn_vpn_connection_props.rb', line 138 def @tags end |
#transit_gateway_id ⇒ String, ... (readonly)
The ID of the transit gateway associated with the VPN connection.
You must specify either TransitGatewayId or VpnGatewayId , but not both.
145 146 147 |
# File 'ec2/cfn_vpn_connection_props.rb', line 145 def transit_gateway_id @transit_gateway_id end |
#transport_transit_gateway_attachment_id ⇒ String? (readonly)
The transit gateway attachment ID to use for the VPN tunnel.
Required if OutsideIpAddressType is set to PrivateIpv4 .
152 153 154 |
# File 'ec2/cfn_vpn_connection_props.rb', line 152 def @transport_transit_gateway_attachment_id end |
#tunnel_bandwidth ⇒ String? (readonly)
Default: - "standard"
The desired bandwidth specification for the VPN tunnel, used when creating or modifying VPN connection options to set the tunnel's throughput capacity.
standard supports up to 1.25 Gbps per tunnel, while large supports up to 5 Gbps per tunnel. The default value is standard . Existing VPN connections without a bandwidth setting will automatically default to standard .
160 161 162 |
# File 'ec2/cfn_vpn_connection_props.rb', line 160 def tunnel_bandwidth @tunnel_bandwidth end |
#tunnel_inside_ip_version ⇒ String? (readonly)
Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
Default: ipv4
167 168 169 |
# File 'ec2/cfn_vpn_connection_props.rb', line 167 def tunnel_inside_ip_version @tunnel_inside_ip_version end |
#type ⇒ String (readonly)
The type of VPN connection.
75 76 77 |
# File 'ec2/cfn_vpn_connection_props.rb', line 75 def type @type end |
#vpn_concentrator_id ⇒ String? (readonly)
The ID of the VPN concentrator to associate with the VPN connection.
172 173 174 |
# File 'ec2/cfn_vpn_connection_props.rb', line 172 def vpn_concentrator_id @vpn_concentrator_id end |
#vpn_gateway_id ⇒ String, ... (readonly)
The ID of the virtual private gateway at the AWS side of the VPN connection.
You must specify either TransitGatewayId or VpnGatewayId , but not both.
179 180 181 |
# File 'ec2/cfn_vpn_connection_props.rb', line 179 def vpn_gateway_id @vpn_gateway_id end |
#vpn_tunnel_options_specifications ⇒ AWSCDK::IResolvable, ... (readonly)
The tunnel options for the VPN connection.
184 185 186 |
# File 'ec2/cfn_vpn_connection_props.rb', line 184 def @vpn_tunnel_options_specifications end |
Class Method Details
.jsii_properties ⇒ Object
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
# File 'ec2/cfn_vpn_connection_props.rb', line 186 def self.jsii_properties { :customer_gateway_id => "customerGatewayId", :type => "type", :enable_acceleration => "enableAcceleration", :local_ipv4_network_cidr => "localIpv4NetworkCidr", :local_ipv6_network_cidr => "localIpv6NetworkCidr", :outside_ip_address_type => "outsideIpAddressType", :pre_shared_key_storage => "preSharedKeyStorage", :remote_ipv4_network_cidr => "remoteIpv4NetworkCidr", :remote_ipv6_network_cidr => "remoteIpv6NetworkCidr", :static_routes_only => "staticRoutesOnly", :tags => "tags", :transit_gateway_id => "transitGatewayId", :transport_transit_gateway_attachment_id => "transportTransitGatewayAttachmentId", :tunnel_bandwidth => "tunnelBandwidth", :tunnel_inside_ip_version => "tunnelInsideIpVersion", :vpn_concentrator_id => "vpnConcentratorId", :vpn_gateway_id => "vpnGatewayId", :vpn_tunnel_options_specifications => "vpnTunnelOptionsSpecifications", } end |
Instance Method Details
#to_jsii ⇒ Object
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 |
# File 'ec2/cfn_vpn_connection_props.rb', line 209 def to_jsii result = {} result.merge!({ "customerGatewayId" => @customer_gateway_id, "type" => @type, "enableAcceleration" => @enable_acceleration, "localIpv4NetworkCidr" => @local_ipv4_network_cidr, "localIpv6NetworkCidr" => @local_ipv6_network_cidr, "outsideIpAddressType" => @outside_ip_address_type, "preSharedKeyStorage" => @pre_shared_key_storage, "remoteIpv4NetworkCidr" => @remote_ipv4_network_cidr, "remoteIpv6NetworkCidr" => @remote_ipv6_network_cidr, "staticRoutesOnly" => @static_routes_only, "tags" => @tags, "transitGatewayId" => @transit_gateway_id, "transportTransitGatewayAttachmentId" => @transport_transit_gateway_attachment_id, "tunnelBandwidth" => @tunnel_bandwidth, "tunnelInsideIpVersion" => @tunnel_inside_ip_version, "vpnConcentratorId" => @vpn_concentrator_id, "vpnGatewayId" => @vpn_gateway_id, "vpnTunnelOptionsSpecifications" => @vpn_tunnel_options_specifications, }) result.compact end |