getGatewayVcoRoutes

This data source provides the Vpn Gateway Vco Routes of the current Alibaba Cloud user.

NOTE: Available since v1.183.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const defaultInstance = new alicloud.cen.Instance("default", {cenInstanceName: name});
const defaultTransitRouter = new alicloud.cen.TransitRouter("default", {
cenId: defaultInstance.id,
transitRouterDescription: "desd",
transitRouterName: name,
});
const _default = alicloud.cen.getTransitRouterAvailableResources({});
const defaultCustomerGateway = new alicloud.vpn.CustomerGateway("default", {
name: name,
ipAddress: "42.104.22.210",
asn: "45014",
description: "testAccVpnConnectionDesc",
});
const defaultGatewayVpnAttachment = new alicloud.vpn.GatewayVpnAttachment("default", {
customerGatewayId: defaultCustomerGateway.id,
networkType: "public",
localSubnet: "0.0.0.0/0",
remoteSubnet: "0.0.0.0/0",
effectImmediately: false,
ikeConfig: {
ikeAuthAlg: "md5",
ikeEncAlg: "des",
ikeVersion: "ikev2",
ikeMode: "main",
ikeLifetime: 86400,
psk: "tf-testvpn2",
ikePfs: "group1",
remoteId: "testbob2",
localId: "testalice2",
},
ipsecConfig: {
ipsecPfs: "group5",
ipsecEncAlg: "des",
ipsecAuthAlg: "md5",
ipsecLifetime: 86400,
},
bgpConfig: {
enable: true,
localAsn: 45014,
tunnelCidr: "169.254.11.0/30",
localBgpIp: "169.254.11.1",
},
healthCheckConfig: {
enable: true,
sip: "192.168.1.1",
dip: "10.0.0.1",
interval: 10,
retry: 10,
policy: "revoke_route",
},
enableDpd: true,
enableNatTraversal: true,
vpnAttachmentName: name,
});
const defaultTransitRouterVpnAttachment = new alicloud.cen.TransitRouterVpnAttachment("default", {
autoPublishRouteEnabled: false,
transitRouterAttachmentDescription: name,
transitRouterAttachmentName: name,
cenId: defaultTransitRouter.cenId,
transitRouterId: defaultTransitRouter.transitRouterId,
vpnId: defaultGatewayVpnAttachment.id,
zones: [{
zoneId: _default.then(_default => _default.resources?.[0]?.masterZones?.[0]),
}],
});
const defaultGatewayVcoRoute = new alicloud.vpn.GatewayVcoRoute("default", {
routeDest: "192.168.12.0/24",
nextHop: defaultTransitRouterVpnAttachment.vpnId,
vpnConnectionId: defaultTransitRouterVpnAttachment.vpnId,
weight: 100,
});
const defaultGetGatewayVcoRoutes = alicloud.vpn.getGatewayVcoRoutesOutput({
vpnConnectionId: defaultTransitRouterVpnAttachment.vpnId,
});
export const vpnGatewayVcoRouteId1 = ids.routes[0].id;
import pulumi
import pulumi_alicloud as alicloud
default_instance = alicloud.cen.Instance("default", cen_instance_name=name)
default_transit_router = alicloud.cen.TransitRouter("default",
cen_id=default_instance.id,
transit_router_description="desd",
transit_router_name=name)
default = alicloud.cen.get_transit_router_available_resources()
default_customer_gateway = alicloud.vpn.CustomerGateway("default",
name=name,
ip_address="42.104.22.210",
asn="45014",
description="testAccVpnConnectionDesc")
default_gateway_vpn_attachment = alicloud.vpn.GatewayVpnAttachment("default",
customer_gateway_id=default_customer_gateway.id,
network_type="public",
local_subnet="0.0.0.0/0",
remote_subnet="0.0.0.0/0",
effect_immediately=False,
ike_config={
"ike_auth_alg": "md5",
"ike_enc_alg": "des",
"ike_version": "ikev2",
"ike_mode": "main",
"ike_lifetime": 86400,
"psk": "tf-testvpn2",
"ike_pfs": "group1",
"remote_id": "testbob2",
"local_id": "testalice2",
},
ipsec_config={
"ipsec_pfs": "group5",
"ipsec_enc_alg": "des",
"ipsec_auth_alg": "md5",
"ipsec_lifetime": 86400,
},
bgp_config={
"enable": True,
"local_asn": 45014,
"tunnel_cidr": "169.254.11.0/30",
"local_bgp_ip": "169.254.11.1",
},
health_check_config={
"enable": True,
"sip": "192.168.1.1",
"dip": "10.0.0.1",
"interval": 10,
"retry": 10,
"policy": "revoke_route",
},
enable_dpd=True,
enable_nat_traversal=True,
vpn_attachment_name=name)
default_transit_router_vpn_attachment = alicloud.cen.TransitRouterVpnAttachment("default",
auto_publish_route_enabled=False,
transit_router_attachment_description=name,
transit_router_attachment_name=name,
cen_id=default_transit_router.cen_id,
transit_router_id=default_transit_router.transit_router_id,
vpn_id=default_gateway_vpn_attachment.id,
zones=[{
"zone_id": default.resources[0].master_zones[0],
}])
default_gateway_vco_route = alicloud.vpn.GatewayVcoRoute("default",
route_dest="192.168.12.0/24",
next_hop=default_transit_router_vpn_attachment.vpn_id,
vpn_connection_id=default_transit_router_vpn_attachment.vpn_id,
weight=100)
default_get_gateway_vco_routes = alicloud.vpn.get_gateway_vco_routes_output(vpn_connection_id=default_transit_router_vpn_attachment.vpn_id)
pulumi.export("vpnGatewayVcoRouteId1", ids["routes"][0]["id"])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var defaultInstance = new AliCloud.Cen.Instance("default", new()
{
CenInstanceName = name,
});
var defaultTransitRouter = new AliCloud.Cen.TransitRouter("default", new()
{
CenId = defaultInstance.Id,
TransitRouterDescription = "desd",
TransitRouterName = name,
});
var @default = AliCloud.Cen.GetTransitRouterAvailableResources.Invoke();
var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway("default", new()
{
Name = name,
IpAddress = "42.104.22.210",
Asn = "45014",
Description = "testAccVpnConnectionDesc",
});
var defaultGatewayVpnAttachment = new AliCloud.Vpn.GatewayVpnAttachment("default", new()
{
CustomerGatewayId = defaultCustomerGateway.Id,
NetworkType = "public",
LocalSubnet = "0.0.0.0/0",
RemoteSubnet = "0.0.0.0/0",
EffectImmediately = false,
IkeConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIkeConfigArgs
{
IkeAuthAlg = "md5",
IkeEncAlg = "des",
IkeVersion = "ikev2",
IkeMode = "main",
IkeLifetime = 86400,
Psk = "tf-testvpn2",
IkePfs = "group1",
RemoteId = "testbob2",
LocalId = "testalice2",
},
IpsecConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentIpsecConfigArgs
{
IpsecPfs = "group5",
IpsecEncAlg = "des",
IpsecAuthAlg = "md5",
IpsecLifetime = 86400,
},
BgpConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentBgpConfigArgs
{
Enable = true,
LocalAsn = 45014,
TunnelCidr = "169.254.11.0/30",
LocalBgpIp = "169.254.11.1",
},
HealthCheckConfig = new AliCloud.Vpn.Inputs.GatewayVpnAttachmentHealthCheckConfigArgs
{
Enable = true,
Sip = "192.168.1.1",
Dip = "10.0.0.1",
Interval = 10,
Retry = 10,
Policy = "revoke_route",
},
EnableDpd = true,
EnableNatTraversal = true,
VpnAttachmentName = name,
});
var defaultTransitRouterVpnAttachment = new AliCloud.Cen.TransitRouterVpnAttachment("default", new()
{
AutoPublishRouteEnabled = false,
TransitRouterAttachmentDescription = name,
TransitRouterAttachmentName = name,
CenId = defaultTransitRouter.CenId,
TransitRouterId = defaultTransitRouter.TransitRouterId,
VpnId = defaultGatewayVpnAttachment.Id,
Zones = new[]
{
new AliCloud.Cen.Inputs.TransitRouterVpnAttachmentZoneArgs
{
ZoneId = @default.Apply(@default => @default.Apply(getTransitRouterAvailableResourcesResult => getTransitRouterAvailableResourcesResult.Resources[0]?.MasterZones[0])),
},
},
});
var defaultGatewayVcoRoute = new AliCloud.Vpn.GatewayVcoRoute("default", new()
{
RouteDest = "192.168.12.0/24",
NextHop = defaultTransitRouterVpnAttachment.VpnId,
VpnConnectionId = defaultTransitRouterVpnAttachment.VpnId,
Weight = 100,
});
var defaultGetGatewayVcoRoutes = AliCloud.Vpn.GetGatewayVcoRoutes.Invoke(new()
{
VpnConnectionId = defaultTransitRouterVpnAttachment.VpnId,
});
return new Dictionary<string, object?>
{
["vpnGatewayVcoRouteId1"] = ids&#46;Routes[0].Id,
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
defaultInstance, err := cen.NewInstance(ctx, "default", &cen.InstanceArgs{
CenInstanceName: pulumi.Any(name),
})
if err != nil {
return err
}
defaultTransitRouter, err := cen.NewTransitRouter(ctx, "default", &cen.TransitRouterArgs{
CenId: defaultInstance.ID(),
TransitRouterDescription: pulumi.String("desd"),
TransitRouterName: pulumi.Any(name),
})
if err != nil {
return err
}
_default, err := cen.GetTransitRouterAvailableResources(ctx, &cen.GetTransitRouterAvailableResourcesArgs{}, nil)
if err != nil {
return err
}
defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "default", &vpn.CustomerGatewayArgs{
Name: pulumi.Any(name),
IpAddress: pulumi.String("42.104.22.210"),
Asn: pulumi.String("45014"),
Description: pulumi.String("testAccVpnConnectionDesc"),
})
if err != nil {
return err
}
defaultGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, "default", &vpn.GatewayVpnAttachmentArgs{
CustomerGatewayId: defaultCustomerGateway.ID(),
NetworkType: pulumi.String("public"),
LocalSubnet: pulumi.String("0.0.0.0/0"),
RemoteSubnet: pulumi.String("0.0.0.0/0"),
EffectImmediately: pulumi.Bool(false),
IkeConfig: &vpn.GatewayVpnAttachmentIkeConfigArgs{
IkeAuthAlg: pulumi.String("md5"),
IkeEncAlg: pulumi.String("des"),
IkeVersion: pulumi.String("ikev2"),
IkeMode: pulumi.String("main"),
IkeLifetime: pulumi.Int(86400),
Psk: pulumi.String("tf-testvpn2"),
IkePfs: pulumi.String("group1"),
RemoteId: pulumi.String("testbob2"),
LocalId: pulumi.String("testalice2"),
},
IpsecConfig: &vpn.GatewayVpnAttachmentIpsecConfigArgs{
IpsecPfs: pulumi.String("group5"),
IpsecEncAlg: pulumi.String("des"),
IpsecAuthAlg: pulumi.String("md5"),
IpsecLifetime: pulumi.Int(86400),
},
BgpConfig: &vpn.GatewayVpnAttachmentBgpConfigArgs{
Enable: pulumi.Bool(true),
LocalAsn: pulumi.Int(45014),
TunnelCidr: pulumi.String("169.254.11.0/30"),
LocalBgpIp: pulumi.String("169.254.11.1"),
},
HealthCheckConfig: &vpn.GatewayVpnAttachmentHealthCheckConfigArgs{
Enable: pulumi.Bool(true),
Sip: pulumi.String("192.168.1.1"),
Dip: pulumi.String("10.0.0.1"),
Interval: pulumi.Int(10),
Retry: pulumi.Int(10),
Policy: pulumi.String("revoke_route"),
},
EnableDpd: pulumi.Bool(true),
EnableNatTraversal: pulumi.Bool(true),
VpnAttachmentName: pulumi.Any(name),
})
if err != nil {
return err
}
defaultTransitRouterVpnAttachment, err := cen.NewTransitRouterVpnAttachment(ctx, "default", &cen.TransitRouterVpnAttachmentArgs{
AutoPublishRouteEnabled: pulumi.Bool(false),
TransitRouterAttachmentDescription: pulumi.Any(name),
TransitRouterAttachmentName: pulumi.Any(name),
CenId: defaultTransitRouter.CenId,
TransitRouterId: defaultTransitRouter.TransitRouterId,
VpnId: defaultGatewayVpnAttachment.ID(),
Zones: cen.TransitRouterVpnAttachmentZoneArray{
&cen.TransitRouterVpnAttachmentZoneArgs{
ZoneId: pulumi.String(_default.Resources[0]&#46;MasterZones[0]),
},
},
})
if err != nil {
return err
}
_, err = vpn.NewGatewayVcoRoute(ctx, "default", &vpn.GatewayVcoRouteArgs{
RouteDest: pulumi.String("192.168.12.0/24"),
NextHop: defaultTransitRouterVpnAttachment.VpnId,
VpnConnectionId: defaultTransitRouterVpnAttachment.VpnId,
Weight: pulumi.Int(100),
})
if err != nil {
return err
}
_ = vpn.GetGatewayVcoRoutesOutput(ctx, vpn.GetGatewayVcoRoutesOutputArgs{
VpnConnectionId: defaultTransitRouterVpnAttachment.VpnId,
}, nil)
ctx.Export("vpnGatewayVcoRouteId1", ids.Routes[0].Id)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cen.Instance;
import com.pulumi.alicloud.cen.InstanceArgs;
import com.pulumi.alicloud.cen.TransitRouter;
import com.pulumi.alicloud.cen.TransitRouterArgs;
import com.pulumi.alicloud.cen.CenFunctions;
import com.pulumi.alicloud.cen.inputs.GetTransitRouterAvailableResourcesArgs;
import com.pulumi.alicloud.vpn.CustomerGateway;
import com.pulumi.alicloud.vpn.CustomerGatewayArgs;
import com.pulumi.alicloud.vpn.GatewayVpnAttachment;
import com.pulumi.alicloud.vpn.GatewayVpnAttachmentArgs;
import com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIkeConfigArgs;
import com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentIpsecConfigArgs;
import com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentBgpConfigArgs;
import com.pulumi.alicloud.vpn.inputs.GatewayVpnAttachmentHealthCheckConfigArgs;
import com.pulumi.alicloud.cen.TransitRouterVpnAttachment;
import com.pulumi.alicloud.cen.TransitRouterVpnAttachmentArgs;
import com.pulumi.alicloud.cen.inputs.TransitRouterVpnAttachmentZoneArgs;
import com.pulumi.alicloud.vpn.GatewayVcoRoute;
import com.pulumi.alicloud.vpn.GatewayVcoRouteArgs;
import com.pulumi.alicloud.vpn.VpnFunctions;
import com.pulumi.alicloud.vpn.inputs.GetGatewayVcoRoutesArgs;
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) {
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.cenInstanceName(name)
.build());
var defaultTransitRouter = new TransitRouter("defaultTransitRouter", TransitRouterArgs.builder()
.cenId(defaultInstance.id())
.transitRouterDescription("desd")
.transitRouterName(name)
.build());
final var default = CenFunctions.getTransitRouterAvailableResources(GetTransitRouterAvailableResourcesArgs.builder()
.build());
var defaultCustomerGateway = new CustomerGateway("defaultCustomerGateway", CustomerGatewayArgs.builder()
.name(name)
.ipAddress("42.104.22.210")
.asn("45014")
.description("testAccVpnConnectionDesc")
.build());
var defaultGatewayVpnAttachment = new GatewayVpnAttachment("defaultGatewayVpnAttachment", GatewayVpnAttachmentArgs.builder()
.customerGatewayId(defaultCustomerGateway.id())
.networkType("public")
.localSubnet("0.0.0.0/0")
.remoteSubnet("0.0.0.0/0")
.effectImmediately(false)
.ikeConfig(GatewayVpnAttachmentIkeConfigArgs.builder()
.ikeAuthAlg("md5")
.ikeEncAlg("des")
.ikeVersion("ikev2")
.ikeMode("main")
.ikeLifetime(86400)
.psk("tf-testvpn2")
.ikePfs("group1")
.remoteId("testbob2")
.localId("testalice2")
.build())
.ipsecConfig(GatewayVpnAttachmentIpsecConfigArgs.builder()
.ipsecPfs("group5")
.ipsecEncAlg("des")
.ipsecAuthAlg("md5")
.ipsecLifetime(86400)
.build())
.bgpConfig(GatewayVpnAttachmentBgpConfigArgs.builder()
.enable(true)
.localAsn(45014)
.tunnelCidr("169.254.11.0/30")
.localBgpIp("169.254.11.1")
.build())
.healthCheckConfig(GatewayVpnAttachmentHealthCheckConfigArgs.builder()
.enable(true)
.sip("192.168.1.1")
.dip("10.0.0.1")
.interval(10)
.retry(10)
.policy("revoke_route")
.build())
.enableDpd(true)
.enableNatTraversal(true)
.vpnAttachmentName(name)
.build());
var defaultTransitRouterVpnAttachment = new TransitRouterVpnAttachment("defaultTransitRouterVpnAttachment", TransitRouterVpnAttachmentArgs.builder()
.autoPublishRouteEnabled(false)
.transitRouterAttachmentDescription(name)
.transitRouterAttachmentName(name)
.cenId(defaultTransitRouter.cenId())
.transitRouterId(defaultTransitRouter.transitRouterId())
.vpnId(defaultGatewayVpnAttachment.id())
.zones(TransitRouterVpnAttachmentZoneArgs.builder()
.zoneId(default_.resources()[0]&#46;masterZones()[0])
.build())
.build());
var defaultGatewayVcoRoute = new GatewayVcoRoute("defaultGatewayVcoRoute", GatewayVcoRouteArgs.builder()
.routeDest("192.168.12.0/24")
.nextHop(defaultTransitRouterVpnAttachment.vpnId())
.vpnConnectionId(defaultTransitRouterVpnAttachment.vpnId())
.weight(100)
.build());
final var defaultGetGatewayVcoRoutes = VpnFunctions.getGatewayVcoRoutes(GetGatewayVcoRoutesArgs.builder()
.vpnConnectionId(defaultTransitRouterVpnAttachment.vpnId())
.build());
ctx.export("vpnGatewayVcoRouteId1", ids.routes()[0].id());
}
}
resources:
defaultInstance:
type: alicloud:cen:Instance
name: default
properties:
cenInstanceName: ${name}
defaultTransitRouter:
type: alicloud:cen:TransitRouter
name: default
properties:
cenId: ${defaultInstance.id}
transitRouterDescription: desd
transitRouterName: ${name}
defaultCustomerGateway:
type: alicloud:vpn:CustomerGateway
name: default
properties:
name: ${name}
ipAddress: 42.104.22.210
asn: '45014'
description: testAccVpnConnectionDesc
defaultGatewayVpnAttachment:
type: alicloud:vpn:GatewayVpnAttachment
name: default
properties:
customerGatewayId: ${defaultCustomerGateway.id}
networkType: public
localSubnet: 0.0.0.0/0
remoteSubnet: 0.0.0.0/0
effectImmediately: false
ikeConfig:
ikeAuthAlg: md5
ikeEncAlg: des
ikeVersion: ikev2
ikeMode: main
ikeLifetime: 86400
psk: tf-testvpn2
ikePfs: group1
remoteId: testbob2
localId: testalice2
ipsecConfig:
ipsecPfs: group5
ipsecEncAlg: des
ipsecAuthAlg: md5
ipsecLifetime: 86400
bgpConfig:
enable: true
localAsn: 45014
tunnelCidr: 169.254.11.0/30
localBgpIp: 169.254.11.1
healthCheckConfig:
enable: true
sip: 192.168.1.1
dip: 10.0.0.1
interval: 10
retry: 10
policy: revoke_route
enableDpd: true
enableNatTraversal: true
vpnAttachmentName: ${name}
defaultTransitRouterVpnAttachment:
type: alicloud:cen:TransitRouterVpnAttachment
name: default
properties:
autoPublishRouteEnabled: false
transitRouterAttachmentDescription: ${name}
transitRouterAttachmentName: ${name}
cenId: ${defaultTransitRouter.cenId}
transitRouterId: ${defaultTransitRouter.transitRouterId}
vpnId: ${defaultGatewayVpnAttachment.id}
zones:
- zoneId: ${default.resources[0]&#46;masterZones[0]}
defaultGatewayVcoRoute:
type: alicloud:vpn:GatewayVcoRoute
name: default
properties:
routeDest: 192.168.12.0/24
nextHop: ${defaultTransitRouterVpnAttachment.vpnId}
vpnConnectionId: ${defaultTransitRouterVpnAttachment.vpnId}
weight: 100
variables:
default:
fn::invoke:
function: alicloud:cen:getTransitRouterAvailableResources
arguments: {}
defaultGetGatewayVcoRoutes:
fn::invoke:
function: alicloud:vpn:getGatewayVcoRoutes
arguments:
vpnConnectionId: ${defaultTransitRouterVpnAttachment.vpnId}
outputs:
vpnGatewayVcoRouteId1: ${ids.routes[0].id}

Return

A collection of values returned by getGatewayVcoRoutes.

Parameters

argument

A collection of arguments for invoking getGatewayVcoRoutes.


suspend fun getGatewayVcoRoutes(ids: List<String>? = null, outputFile: String? = null, pageNumber: Int? = null, pageSize: Int? = null, routeEntryType: String? = null, status: String? = null, vpnConnectionId: String): GetGatewayVcoRoutesResult

Return

A collection of values returned by getGatewayVcoRoutes.

Parameters

ids

A list of Vco Route IDs.

outputFile

File name where to save data source results (after running pulumi preview).

pageNumber
pageSize
routeEntryType

The Routing input type. Valid values: custom, bgp.

status

The status of the vpn route entry. Valid values: normal, published.

vpnConnectionId

The id of the vpn connection.

See also


Return

A collection of values returned by getGatewayVcoRoutes.

Parameters

argument

Builder for com.pulumi.alicloud.vpn.kotlin.inputs.GetGatewayVcoRoutesPlainArgs.

See also