VpnAttachmentProps
Properties for defining a VpnAttachment.
See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-vpc-vpnattachment
Initializer
import com.aliyun.ros.cdk.vpc.VpnAttachmentProps;
VpnAttachmentProps.builder()
.localSubnet(java.lang.String)
.localSubnet(IResolvable)
.remoteSubnet(java.lang.String)
.remoteSubnet(IResolvable)
// .autoConfigRoute(java.lang.Boolean)
// .autoConfigRoute(IResolvable)
// .bgpConfig(IResolvable)
// .bgpConfig(BgpConfigProperty)
// .customerGatewayId(java.lang.String)
// .customerGatewayId(IResolvable)
// .effectImmediately(java.lang.Boolean)
// .effectImmediately(IResolvable)
// .enableDpd(java.lang.Boolean)
// .enableDpd(IResolvable)
// .enableNatTraversal(java.lang.Boolean)
// .enableNatTraversal(IResolvable)
// .enableTunnelsBgp(java.lang.Boolean)
// .enableTunnelsBgp(IResolvable)
// .healthCheckConfig(IResolvable)
// .healthCheckConfig(HealthCheckConfigProperty)
// .ikeConfig(IResolvable)
// .ikeConfig(IkeConfigProperty)
// .ipsecConfig(IResolvable)
// .ipsecConfig(IpsecConfigProperty)
// .name(java.lang.String)
// .name(IResolvable)
// .networkType(java.lang.String)
// .networkType(IResolvable)
// .remoteCaCert(java.lang.String)
// .remoteCaCert(IResolvable)
// .resourceGroupId(java.lang.String)
// .resourceGroupId(IResolvable)
// .tunnelBandwidth(java.lang.String)
// .tunnelBandwidth(IResolvable)
// .tunnelOptionsSpecification(IResolvable)
// .tunnelOptionsSpecification(java.util.List<IResolvable)
// .tunnelOptionsSpecification(TunnelOptionsSpecificationProperty>)
.build();
Properties
| Name | Type | Description |
|---|---|---|
localSubnet | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property localSubnet: The CIDR block on the VPC side. |
remoteSubnet | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property remoteSubnet: The CIDR block on the data center side. |
autoConfigRoute | java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable | Property autoConfigRoute: Specifies whether to automatically configure routes. |
bgpConfig | com.aliyun.ros.cdk.core.IResolvable OR BgpConfigProperty | Property bgpConfig: The Border Gateway Protocol (BGP) configuration. |
customerGatewayId | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property customerGatewayId: The ID of the user gateway. |
effectImmediately | java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable | Property effectImmediately: Whether to delete the currently negotiated IPsec tunnel and re-initiate the negotiation. |
enableDpd | java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable | Property enableDpd: Specifies whether to enable the dead peer detection (DPD) feature. |
enableNatTraversal | java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable | Property enableNatTraversal: Specifies whether to enable NAT traversal. |
enableTunnelsBgp | java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable | Property enableTunnelsBgp: Support configuring this parameter when creating dual-tunnel mode IPsec-VPN connections. |
healthCheckConfig | com.aliyun.ros.cdk.core.IResolvable OR HealthCheckConfigProperty | Property healthCheckConfig: This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode. |
ikeConfig | com.aliyun.ros.cdk.core.IResolvable OR IkeConfigProperty | Property ikeConfig: Configuration information for the first phase of negotiation. |
ipsecConfig | com.aliyun.ros.cdk.core.IResolvable OR IpsecConfigProperty | Property ipsecConfig: Configuration information for the second phase negotiation. |
name | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property name: The name of the IPsec-VPN connection. |
networkType | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property networkType: The network type of the IPsec connection. |
remoteCaCert | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property remoteCaCert: The peer CA certificate when a ShangMi (SM) VPN gateway is used to establish the IPsec-VPN connection. |
resourceGroupId | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property resourceGroupId: The resource group ID to which the IPsec connection belongs. |
tunnelBandwidth | java.lang.String OR com.aliyun.ros.cdk.core.IResolvable | Property tunnelBandwidth: Used to indicate the bandwidth specification of a single VPN tunnel, values: Standard (default value): Standard type, default bandwidth 1Gbps Large: Large type, default bandwidth 3Gbps. |
tunnelOptionsSpecification | com.aliyun.ros.cdk.core.IResolvable OR java.util.List | Property tunnelOptionsSpecification: Configuration of tunnels. |
localSubnetRequired
public java.lang.Object getLocalSubnet();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property localSubnet: The CIDR block on the VPC side.
The CIDR block is used in Phase 2 negotiations. Separate multiple CIDR blocks with commas (,). Example: 192.168.1.0/24,192.168.2.0/24. The following routing modes are supported:
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
remoteSubnetRequired
public java.lang.Object getRemoteSubnet();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property remoteSubnet: The CIDR block on the data center side.
This CIDR block is used in Phase 2 negotiations. Separate multiple CIDR blocks with commas (,). Example: 192.168.3.0/24,192.168.4.0/24. The following routing modes are supported:
- If you set LocalSubnet and RemoteSubnet to 0.0.0.0/0, the routing mode of the IPsec-VPN connection is set to Destination Routing Mode.
- If you set LocalSubnet and RemoteSubnet to specific CIDR blocks, the routing mode of the IPsec-VPN connection is set to Protected Data Flows.
autoConfigRouteOptional
public java.lang.Object getAutoConfigRoute();
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property autoConfigRoute: Specifies whether to automatically configure routes.
Valid values: true (default) false
bgpConfigOptional
public java.lang.Object getBgpConfig();
- Type: com.aliyun.ros.cdk.core.IResolvable OR BgpConfigProperty
Property bgpConfig: The Border Gateway Protocol (BGP) configuration.
This parameter is required when the VPN gateway has dynamic BGP enabled. Before you configure BGP, we recommend that you learn about how BGP works and its limits. For more information, see VPN Gateway supports BGP dynamic routing. We recommend that you use a private ASN to establish a connection with Alibaba Cloud over BGP. Refer to the relevant documentation for the private ASN range.
customerGatewayIdOptional
public java.lang.Object getCustomerGatewayId();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property customerGatewayId: The ID of the user gateway.
effectImmediatelyOptional
public java.lang.Object getEffectImmediately();
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property effectImmediately: Whether to delete the currently negotiated IPsec tunnel and re-initiate the negotiation.
Value: True: Negotiate immediately after the configuration is complete. False (default): Negotiate when traffic enters.
enableDpdOptional
public java.lang.Object getEnableDpd();
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property enableDpd: Specifies whether to enable the dead peer detection (DPD) feature.
Valid values: true (default) The initiator of the IPsec-VPN connection sends DPD packets to verify the existence and availability of the peer. If no response is received from the peer within a specified period of time, the connection fails. ISAKMP SAs and IPsec SAs are deleted. The IPsec tunnel is also deleted. false: disables DPD. The IPsec initiator does not send DPD packets.
enableNatTraversalOptional
public java.lang.Object getEnableNatTraversal();
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property enableNatTraversal: Specifies whether to enable NAT traversal.
Valid values: true (default) After NAT traversal is enabled, the initiator does not check the UDP ports during IKE negotiations and can automatically discover NAT gateway devices along the VPN tunnel. false
enableTunnelsBgpOptional
public java.lang.Object getEnableTunnelsBgp();
- Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable
Property enableTunnelsBgp: Support configuring this parameter when creating dual-tunnel mode IPsec-VPN connections.
Whether to enable BGP function for the tunnel. Values: true or false (default value).
Before adding BGP configuration, it is recommended that you first understand the working mechanism and usage limitations of the BGP dynamic routing function. For more information, please see Configuring BGP Dynamic Routing.
healthCheckConfigOptional
public java.lang.Object getHealthCheckConfig();
- Type: com.aliyun.ros.cdk.core.IResolvable OR HealthCheckConfigProperty
Property healthCheckConfig: This parameter is supported if you create an IPsec-VPN connection in single-tunnel mode.
The health check configurations:
- HealthCheckConfig.enable: indicates whether the health check is enabled. Valid values: true and false (default).
- HealthCheckConfig.dip: the destination IP address configured for health checks. Enter the IP address of the on-premises data center that the VPC can access through the IPsec connection.
- HealthCheckConfig.sip: the source IP address configured for health checks. Enter the IP address of the VPC that the on-premises data center can access through the IPsec connection.
- HealthCheckConfig.interval: the time interval of health check retries. Unit: seconds. Default value: 3.
- HealthCheckConfig.retry: the maximum number of health check retries. Default value: 3.
- HealthCheckConfig.Policy: specifies whether to withdraw published routes when health checks fail. Valid values:
- revoke_route (default): withdraws published routes.
- reserve_route: does not withdraw published routes.
ikeConfigOptional
public java.lang.Object getIkeConfig();
- Type: com.aliyun.ros.cdk.core.IResolvable OR IkeConfigProperty
Property ikeConfig: Configuration information for the first phase of negotiation.
ipsecConfigOptional
public java.lang.Object getIpsecConfig();
- Type: com.aliyun.ros.cdk.core.IResolvable OR IpsecConfigProperty
Property ipsecConfig: Configuration information for the second phase negotiation.
nameOptional
public java.lang.Object getName();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property name: The name of the IPsec-VPN connection.
The name must be 1 to 100 characters in length and cannot start with http:\/\/ or https:\/\/.
networkTypeOptional
public java.lang.Object getNetworkType();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property networkType: The network type of the IPsec connection.
Value: public|private.
remoteCaCertOptional
public java.lang.Object getRemoteCaCert();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property remoteCaCert: The peer CA certificate when a ShangMi (SM) VPN gateway is used to establish the IPsec-VPN connection.
This parameter is required when an SM VPN gateway is used to establish the IPsec-VPN connection. You can ignore this parameter when a standard VPN gateway is used to create the IPsec-VPN connection.
resourceGroupIdOptional
public java.lang.Object getResourceGroupId();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property resourceGroupId: The resource group ID to which the IPsec connection belongs.
- You can call the ListResourceGroups interface to query the resource group ID.
- If you do not specify a resource group ID, the IPsec connection will belong to the default resource group after creation.
tunnelBandwidthOptional
public java.lang.Object getTunnelBandwidth();
- Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable
Property tunnelBandwidth: Used to indicate the bandwidth specification of a single VPN tunnel, values: Standard (default value): Standard type, default bandwidth 1Gbps Large: Large type, default bandwidth 3Gbps.
tunnelOptionsSpecificationOptional
public java.lang.Object getTunnelOptionsSpecification();
- Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List
TunnelOptionsSpecificationProperty>
Property tunnelOptionsSpecification: Configuration of tunnels.
- When creating dual-tunnel mode IPsec-VPN connections, you can configure parameters under TunnelOptionsSpecification array.
- When creating dual-tunnel mode IPsec-VPN connections, you must add two tunnels for the IPsec-VPN connection simultaneously to ensure the IPsec-VPN connection has link redundancy capability. Only two tunnels are supported under an IPsec-VPN connection.