Pbr Route Entry Args
data class PbrRouteEntryArgs(val nextHop: Output<String>? = null, val publishVpc: Output<Boolean>? = null, val routeDest: Output<String>? = null, val routeSource: Output<String>? = null, val vpnGatewayId: Output<String>? = null, val weight: Output<Int>? = null) : ConvertibleToJava<PbrRouteEntryArgs>
Provides a VPN Pbr Route Entry resource.
NOTE: Available since v1.162.0+. For information about VPN Pbr Route Entry and how to use it, see What is VPN Pbr Route Entry.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "tfacc";
const default = alicloud.vpn.getGateways({});
const defaultCustomerGateway = new alicloud.vpn.CustomerGateway("default", {
name: name,
ipAddress: "192.168.1.1",
});
const defaultConnection = new alicloud.vpn.Connection("default", {
name: name,
customerGatewayId: defaultCustomerGateway.id,
vpnGatewayId: _default.then(_default => _default.ids?.[0]),
localSubnets: ["192.168.2.0/24"],
remoteSubnets: ["192.168.3.0/24"],
});
const defaultPbrRouteEntry = new alicloud.vpn.PbrRouteEntry("default", {
vpnGatewayId: _default.then(_default => _default.ids?.[0]),
routeSource: "192.168.1.0/24",
routeDest: "10.0.0.0/24",
nextHop: defaultConnection.id,
weight: 0,
publishVpc: false,
});Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tfacc"
default = alicloud.vpn.get_gateways()
default_customer_gateway = alicloud.vpn.CustomerGateway("default",
name=name,
ip_address="192.168.1.1")
default_connection = alicloud.vpn.Connection("default",
name=name,
customer_gateway_id=default_customer_gateway.id,
vpn_gateway_id=default.ids[0],
local_subnets=["192.168.2.0/24"],
remote_subnets=["192.168.3.0/24"])
default_pbr_route_entry = alicloud.vpn.PbrRouteEntry("default",
vpn_gateway_id=default.ids[0],
route_source="192.168.1.0/24",
route_dest="10.0.0.0/24",
next_hop=default_connection.id,
weight=0,
publish_vpc=False)Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "tfacc";
var @default = AliCloud.Vpn.GetGateways.Invoke();
var defaultCustomerGateway = new AliCloud.Vpn.CustomerGateway("default", new()
{
Name = name,
IpAddress = "192.168.1.1",
});
var defaultConnection = new AliCloud.Vpn.Connection("default", new()
{
Name = name,
CustomerGatewayId = defaultCustomerGateway.Id,
VpnGatewayId = @default.Apply(@default => @default.Apply(getGatewaysResult => getGatewaysResult.Ids[0])),
LocalSubnets = new[]
{
"192.168.2.0/24",
},
RemoteSubnets = new[]
{
"192.168.3.0/24",
},
});
var defaultPbrRouteEntry = new AliCloud.Vpn.PbrRouteEntry("default", new()
{
VpnGatewayId = @default.Apply(@default => @default.Apply(getGatewaysResult => getGatewaysResult.Ids[0])),
RouteSource = "192.168.1.0/24",
RouteDest = "10.0.0.0/24",
NextHop = defaultConnection.Id,
Weight = 0,
PublishVpc = false,
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "tfacc"
if param := cfg.Get("name"); param != "" {
name = param
}
_default, err := vpn.GetGateways(ctx, nil, nil)
if err != nil {
return err
}
defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "default", &vpn.CustomerGatewayArgs{
Name: pulumi.String(name),
IpAddress: pulumi.String("192.168.1.1"),
})
if err != nil {
return err
}
defaultConnection, err := vpn.NewConnection(ctx, "default", &vpn.ConnectionArgs{
Name: pulumi.String(name),
CustomerGatewayId: defaultCustomerGateway.ID(),
VpnGatewayId: pulumi.String(_default.Ids[0]),
LocalSubnets: pulumi.StringArray{
pulumi.String("192.168.2.0/24"),
},
RemoteSubnets: pulumi.StringArray{
pulumi.String("192.168.3.0/24"),
},
})
if err != nil {
return err
}
_, err = vpn.NewPbrRouteEntry(ctx, "default", &vpn.PbrRouteEntryArgs{
VpnGatewayId: pulumi.String(_default.Ids[0]),
RouteSource: pulumi.String("192.168.1.0/24"),
RouteDest: pulumi.String("10.0.0.0/24"),
NextHop: defaultConnection.ID(),
Weight: pulumi.Int(0),
PublishVpc: pulumi.Bool(false),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.vpn.VpnFunctions;
import com.pulumi.alicloud.vpn.inputs.GetGatewaysArgs;
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.PbrRouteEntry;
import com.pulumi.alicloud.vpn.PbrRouteEntryArgs;
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 config = ctx.config();
final var name = config.get("name").orElse("tfacc");
final var default = VpnFunctions.getGateways();
var defaultCustomerGateway = new CustomerGateway("defaultCustomerGateway", CustomerGatewayArgs.builder()
.name(name)
.ipAddress("192.168.1.1")
.build());
var defaultConnection = new Connection("defaultConnection", ConnectionArgs.builder()
.name(name)
.customerGatewayId(defaultCustomerGateway.id())
.vpnGatewayId(default_.ids()[0])
.localSubnets("192.168.2.0/24")
.remoteSubnets("192.168.3.0/24")
.build());
var defaultPbrRouteEntry = new PbrRouteEntry("defaultPbrRouteEntry", PbrRouteEntryArgs.builder()
.vpnGatewayId(default_.ids()[0])
.routeSource("192.168.1.0/24")
.routeDest("10.0.0.0/24")
.nextHop(defaultConnection.id())
.weight(0)
.publishVpc(false)
.build());
}
}Content copied to clipboard
configuration:
name:
type: string
default: tfacc
resources:
defaultCustomerGateway:
type: alicloud:vpn:CustomerGateway
name: default
properties:
name: ${name}
ipAddress: 192.168.1.1
defaultConnection:
type: alicloud:vpn:Connection
name: default
properties:
name: ${name}
customerGatewayId: ${defaultCustomerGateway.id}
vpnGatewayId: ${default.ids[0]}
localSubnets:
- 192.168.2.0/24
remoteSubnets:
- 192.168.3.0/24
defaultPbrRouteEntry:
type: alicloud:vpn:PbrRouteEntry
name: default
properties:
vpnGatewayId: ${default.ids[0]}
routeSource: 192.168.1.0/24
routeDest: 10.0.0.0/24
nextHop: ${defaultConnection.id}
weight: 0
publishVpc: false
variables:
default:
fn::invoke:
Function: alicloud:vpn:getGateways
Arguments: {}Content copied to clipboard
Import
VPN Pbr route entry can be imported using the id, e.g.
$ pulumi import alicloud:vpn/pbrRouteEntry:PbrRouteEntry example <vpn_gateway_id>:<next_hop>:<route_source>:<route_dest>Content copied to clipboard