ConnectionArgs

data class ConnectionArgs(val bgpConfig: Output<ConnectionBgpConfigArgs>? = null, val customerGatewayId: Output<String>? = null, val effectImmediately: Output<Boolean>? = null, val enableDpd: Output<Boolean>? = null, val enableNatTraversal: Output<Boolean>? = null, val healthCheckConfig: Output<ConnectionHealthCheckConfigArgs>? = null, val ikeConfig: Output<ConnectionIkeConfigArgs>? = null, val ipsecConfig: Output<ConnectionIpsecConfigArgs>? = null, val localSubnets: Output<List<String>>? = null, val name: Output<String>? = null, val remoteSubnets: Output<List<String>>? = null, val vpnGatewayId: Output<String>? = null) : ConvertibleToJava<ConnectionArgs>

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.vpn.Gateway;
import com.pulumi.alicloud.vpn.GatewayArgs;
import com.pulumi.alicloud.vpn.CustomerGateway;
import com.pulumi.alicloud.vpn.CustomerGatewayArgs;
import com.pulumi.alicloud.vpn.Connection;
import com.pulumi.alicloud.vpn.ConnectionArgs;
import com.pulumi.alicloud.vpn.inputs.ConnectionIkeConfigArgs;
import com.pulumi.alicloud.vpn.inputs.ConnectionIpsecConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var fooZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()
.vpcName("terraform-example")
.cidrBlock("172.16.0.0/12")
.build());
var fooSwitch = new Switch("fooSwitch", SwitchArgs.builder()
.vswitchName("terraform-example")
.cidrBlock("172.16.0.0/21")
.vpcId(fooNetwork.id())
.zoneId(fooZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var fooGateway = new Gateway("fooGateway", GatewayArgs.builder()
.vpcId(fooNetwork.id())
.bandwidth("10")
.enableSsl(true)
.instanceChargeType("PrePaid")
.description("test_create_description")
.vswitchId(fooSwitch.id())
.build());
var fooCustomerGateway = new CustomerGateway("fooCustomerGateway", CustomerGatewayArgs.builder()
.ipAddress("42.104.22.210")
.description("terraform-example")
.build());
var fooConnection = new Connection("fooConnection", ConnectionArgs.builder()
.vpnGatewayId(fooGateway.id())
.customerGatewayId(fooCustomerGateway.id())
.localSubnets(
"172.16.0.0/24",
"172.16.1.0/24")
.remoteSubnets(
"10.0.0.0/24",
"10.0.1.0/24")
.effectImmediately(true)
.ikeConfig(ConnectionIkeConfigArgs.builder()
.ikeAuthAlg("md5")
.ikeEncAlg("des")
.ikeVersion("ikev2")
.ikeMode("main")
.ikeLifetime(86400)
.psk("tf-testvpn2")
.ikePfs("group1")
.ikeRemoteId("testbob2")
.ikeLocalId("testalice2")
.build())
.ipsecConfig(ConnectionIpsecConfigArgs.builder()
.ipsecPfs("group5")
.ipsecEncAlg("des")
.ipsecAuthAlg("md5")
.ipsecLifetime(8640)
.build())
.build());
}
}

Import

VPN connection can be imported using the id, e.g.

$ pulumi import alicloud:vpn/connection:Connection example vco-abc123456

Constructors

Link copied to clipboard
fun ConnectionArgs(bgpConfig: Output<ConnectionBgpConfigArgs>? = null, customerGatewayId: Output<String>? = null, effectImmediately: Output<Boolean>? = null, enableDpd: Output<Boolean>? = null, enableNatTraversal: Output<Boolean>? = null, healthCheckConfig: Output<ConnectionHealthCheckConfigArgs>? = null, ikeConfig: Output<ConnectionIkeConfigArgs>? = null, ipsecConfig: Output<ConnectionIpsecConfigArgs>? = null, localSubnets: Output<List<String>>? = null, name: Output<String>? = null, remoteSubnets: Output<List<String>>? = null, vpnGatewayId: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): ConnectionArgs

Properties

Link copied to clipboard
val bgpConfig: Output<ConnectionBgpConfigArgs>? = null

The configurations of the BGP routing protocol. See the following Block bgp_config.

Link copied to clipboard
val customerGatewayId: Output<String>? = null

The ID of the customer gateway.

Link copied to clipboard
val effectImmediately: Output<Boolean>? = null

Whether to delete a successfully negotiated IPsec tunnel and initiate a negotiation again. Valid value:true,false.

Link copied to clipboard
val enableDpd: Output<Boolean>? = null

Specifies whether to enable the dead peer detection (DPD) feature. Valid values: true(default), false.

Link copied to clipboard
val enableNatTraversal: Output<Boolean>? = null

Specifies whether to enable NAT traversal. Valid values: true(default), false.

Link copied to clipboard

The health check configurations. See the following Block health_check_config.

Link copied to clipboard
val ikeConfig: Output<ConnectionIkeConfigArgs>? = null

The configurations of phase-one negotiation. See the following Block ike_config.

Link copied to clipboard

The configurations of phase-two negotiation. See the following Block ipsec_config.

Link copied to clipboard
val localSubnets: Output<List<String>>? = null

The CIDR block of the VPC to be connected with the local data center. This parameter is used for phase-two negotiation.

Link copied to clipboard
val name: Output<String>? = null

The name of the IPsec connection.

Link copied to clipboard
val remoteSubnets: Output<List<String>>? = null

The CIDR block of the local data center. This parameter is used for phase-two negotiation.

Link copied to clipboard
val vpnGatewayId: Output<String>? = null

The ID of the VPN gateway.