Class: AWSCDK::EC2::CfnVPNConnectionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_vpn_connection_props.rb

Overview

Properties for defining a CfnVPNConnection.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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.

Parameters:

  • customer_gateway_id (String, AWSCDK::Interfaces::AWSEC2::ICustomerGatewayRef)

    The ID of the customer gateway at your end of the VPN connection.

  • type (String)

    The type of VPN connection.

  • enable_acceleration (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicate whether to enable acceleration for the VPN connection.

  • local_ipv4_network_cidr (String, nil) (defaults to: nil)

    The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

  • local_ipv6_network_cidr (String, nil) (defaults to: nil)

    The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

  • outside_ip_address_type (String, nil) (defaults to: nil)

    The type of IP address assigned to the outside interface of the customer gateway device.

  • pre_shared_key_storage (String, nil) (defaults to: nil)

    Describes the storage location for an instance store-backed AMI.

  • remote_ipv4_network_cidr (String, nil) (defaults to: nil)

    The IPv4 CIDR on the AWS side of the VPN connection.

  • remote_ipv6_network_cidr (String, nil) (defaults to: nil)

    The IPv6 CIDR on the AWS side of the VPN connection.

  • static_routes_only (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Indicates whether the VPN connection uses static routes only.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Any tags assigned to the VPN connection.

  • transit_gateway_id (String, AWSCDK::Interfaces::AWSEC2::ITransitGatewayRef, nil) (defaults to: nil)

    The ID of the transit gateway associated with the VPN connection.

  • transport_transit_gateway_attachment_id (String, nil) (defaults to: nil)

    The transit gateway attachment ID to use for the VPN tunnel.

  • tunnel_bandwidth (String, nil) (defaults to: nil)

    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, nil) (defaults to: nil)

    Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

  • vpn_concentrator_id (String, nil) (defaults to: nil)

    The ID of the VPN concentrator to associate with the VPN connection.

  • vpn_gateway_id (String, AWSCDK::Interfaces::AWSEC2::IVPNGatewayRef, nil) (defaults to: nil)

    The ID of the virtual private gateway at the AWS side of the VPN connection.

  • vpn_tunnel_options_specifications (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EC2::CfnVPNConnection::VpnTunnelOptionsSpecificationProperty>, nil) (defaults to: nil)

    The tunnel options for the VPN connection.



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 = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  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 = 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 = 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_idString, 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_accelerationBoolean, ... (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_cidrString? (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_cidrString? (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_typeString? (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_storageString? (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_cidrString? (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_cidrString? (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_onlyBoolean, ... (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

#tagsArray<AWSCDK::CfnTag>? (readonly)

Any tags assigned to the VPN connection.



138
139
140
# File 'ec2/cfn_vpn_connection_props.rb', line 138

def tags
  @tags
end

#transit_gateway_idString, ... (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_idString? (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
  @transport_transit_gateway_attachment_id
end

#tunnel_bandwidthString? (readonly)

Note:

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_versionString? (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

#typeString (readonly)

The type of VPN connection.



75
76
77
# File 'ec2/cfn_vpn_connection_props.rb', line 75

def type
  @type
end

#vpn_concentrator_idString? (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_idString, ... (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_specificationsAWSCDK::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
  @vpn_tunnel_options_specifications
end

Class Method Details

.jsii_propertiesObject



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_jsiiObject



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