Transit Router Route Entry Args
data class TransitRouterRouteEntryArgs(val dryRun: Output<Boolean>? = null, val transitRouterRouteEntryDescription: Output<String>? = null, val transitRouterRouteEntryDestinationCidrBlock: Output<String>? = null, val transitRouterRouteEntryName: Output<String>? = null, val transitRouterRouteEntryNextHopId: Output<String>? = null, val transitRouterRouteEntryNextHopType: Output<String>? = null, val transitRouterRouteTableId: Output<String>? = null) : ConvertibleToJava<TransitRouterRouteEntryArgs>
Provides a CEN transit router route entry resource.What is Cen Transit Router Route Entry
NOTE: Available since v1.126.0.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const config = new pulumi.Config();
const name = config.get("name") || "tf_example";
const exampleInstance = new alicloud.cen.Instance("example", {
cenInstanceName: name,
description: "an example for cen",
});
const exampleTransitRouter = new alicloud.cen.TransitRouter("example", {
transitRouterName: name,
cenId: exampleInstance.id,
});
const exampleTransitRouterRouteTable = new alicloud.cen.TransitRouterRouteTable("example", {transitRouterId: exampleTransitRouter.transitRouterId});
const example = alicloud.expressconnect.getPhysicalConnections({
nameRegex: "^preserved-NODELETING",
});
const vlanId = new random.index.Integer("vlan_id", {
max: 2999,
min: 1,
});
const exampleVirtualBorderRouter = new alicloud.expressconnect.VirtualBorderRouter("example", {
localGatewayIp: "10.0.0.1",
peerGatewayIp: "10.0.0.2",
peeringSubnetMask: "255.255.255.252",
physicalConnectionId: example.then(example => example.connections?.[0]?.id),
virtualBorderRouterName: name,
vlanId: vlanId.id,
minRxInterval: 1000,
minTxInterval: 1000,
detectMultiplier: 10,
});
const exampleTransitRouterVbrAttachment = new alicloud.cen.TransitRouterVbrAttachment("example", {
vbrId: exampleVirtualBorderRouter.id,
cenId: exampleInstance.id,
transitRouterId: exampleTransitRouter.transitRouterId,
autoPublishRouteEnabled: true,
transitRouterAttachmentName: name,
transitRouterAttachmentDescription: name,
});
const exampleTransitRouterRouteEntry = new alicloud.cen.TransitRouterRouteEntry("example", {
transitRouterRouteTableId: exampleTransitRouterRouteTable.transitRouterRouteTableId,
transitRouterRouteEntryDestinationCidrBlock: "192.168.0.0/24",
transitRouterRouteEntryNextHopType: "Attachment",
transitRouterRouteEntryName: name,
transitRouterRouteEntryDescription: name,
transitRouterRouteEntryNextHopId: exampleTransitRouterVbrAttachment.transitRouterAttachmentId,
});
Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf_example"
example_instance = alicloud.cen.Instance("example",
cen_instance_name=name,
description="an example for cen")
example_transit_router = alicloud.cen.TransitRouter("example",
transit_router_name=name,
cen_id=example_instance.id)
example_transit_router_route_table = alicloud.cen.TransitRouterRouteTable("example", transit_router_id=example_transit_router.transit_router_id)
example = alicloud.expressconnect.get_physical_connections(name_regex="^preserved-NODELETING")
vlan_id = random.index.Integer("vlan_id",
max=2999,
min=1)
example_virtual_border_router = alicloud.expressconnect.VirtualBorderRouter("example",
local_gateway_ip="10.0.0.1",
peer_gateway_ip="10.0.0.2",
peering_subnet_mask="255.255.255.252",
physical_connection_id=example.connections[0].id,
virtual_border_router_name=name,
vlan_id=vlan_id["id"],
min_rx_interval=1000,
min_tx_interval=1000,
detect_multiplier=10)
example_transit_router_vbr_attachment = alicloud.cen.TransitRouterVbrAttachment("example",
vbr_id=example_virtual_border_router.id,
cen_id=example_instance.id,
transit_router_id=example_transit_router.transit_router_id,
auto_publish_route_enabled=True,
transit_router_attachment_name=name,
transit_router_attachment_description=name)
example_transit_router_route_entry = alicloud.cen.TransitRouterRouteEntry("example",
transit_router_route_table_id=example_transit_router_route_table.transit_router_route_table_id,
transit_router_route_entry_destination_cidr_block="192.168.0.0/24",
transit_router_route_entry_next_hop_type="Attachment",
transit_router_route_entry_name=name,
transit_router_route_entry_description=name,
transit_router_route_entry_next_hop_id=example_transit_router_vbr_attachment.transit_router_attachment_id)
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "tf_example";
var exampleInstance = new AliCloud.Cen.Instance("example", new()
{
CenInstanceName = name,
Description = "an example for cen",
});
var exampleTransitRouter = new AliCloud.Cen.TransitRouter("example", new()
{
TransitRouterName = name,
CenId = exampleInstance.Id,
});
var exampleTransitRouterRouteTable = new AliCloud.Cen.TransitRouterRouteTable("example", new()
{
TransitRouterId = exampleTransitRouter.TransitRouterId,
});
var example = AliCloud.ExpressConnect.GetPhysicalConnections.Invoke(new()
{
NameRegex = "^preserved-NODELETING",
});
var vlanId = new Random.Index.Integer("vlan_id", new()
{
Max = 2999,
Min = 1,
});
var exampleVirtualBorderRouter = new AliCloud.ExpressConnect.VirtualBorderRouter("example", new()
{
LocalGatewayIp = "10.0.0.1",
PeerGatewayIp = "10.0.0.2",
PeeringSubnetMask = "255.255.255.252",
PhysicalConnectionId = example.Apply(getPhysicalConnectionsResult => getPhysicalConnectionsResult.Connections[0]?.Id),
VirtualBorderRouterName = name,
VlanId = vlanId.Id,
MinRxInterval = 1000,
MinTxInterval = 1000,
DetectMultiplier = 10,
});
var exampleTransitRouterVbrAttachment = new AliCloud.Cen.TransitRouterVbrAttachment("example", new()
{
VbrId = exampleVirtualBorderRouter.Id,
CenId = exampleInstance.Id,
TransitRouterId = exampleTransitRouter.TransitRouterId,
AutoPublishRouteEnabled = true,
TransitRouterAttachmentName = name,
TransitRouterAttachmentDescription = name,
});
var exampleTransitRouterRouteEntry = new AliCloud.Cen.TransitRouterRouteEntry("example", new()
{
TransitRouterRouteTableId = exampleTransitRouterRouteTable.TransitRouterRouteTableId,
TransitRouterRouteEntryDestinationCidrBlock = "192.168.0.0/24",
TransitRouterRouteEntryNextHopType = "Attachment",
TransitRouterRouteEntryName = name,
TransitRouterRouteEntryDescription = name,
TransitRouterRouteEntryNextHopId = exampleTransitRouterVbrAttachment.TransitRouterAttachmentId,
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"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 := "tf_example"
if param := cfg.Get("name"); param != "" {
name = param
}
exampleInstance, err := cen.NewInstance(ctx, "example", &cen.InstanceArgs{
CenInstanceName: pulumi.String(name),
Description: pulumi.String("an example for cen"),
})
if err != nil {
return err
}
exampleTransitRouter, err := cen.NewTransitRouter(ctx, "example", &cen.TransitRouterArgs{
TransitRouterName: pulumi.String(name),
CenId: exampleInstance.ID(),
})
if err != nil {
return err
}
exampleTransitRouterRouteTable, err := cen.NewTransitRouterRouteTable(ctx, "example", &cen.TransitRouterRouteTableArgs{
TransitRouterId: exampleTransitRouter.TransitRouterId,
})
if err != nil {
return err
}
example, err := expressconnect.GetPhysicalConnections(ctx, &expressconnect.GetPhysicalConnectionsArgs{
NameRegex: pulumi.StringRef("^preserved-NODELETING"),
}, nil)
if err != nil {
return err
}
vlanId, err := random.NewInteger(ctx, "vlan_id", &random.IntegerArgs{
Max: 2999,
Min: 1,
})
if err != nil {
return err
}
exampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, "example", &expressconnect.VirtualBorderRouterArgs{
LocalGatewayIp: pulumi.String("10.0.0.1"),
PeerGatewayIp: pulumi.String("10.0.0.2"),
PeeringSubnetMask: pulumi.String("255.255.255.252"),
PhysicalConnectionId: pulumi.String(example.Connections[0].Id),
VirtualBorderRouterName: pulumi.String(name),
VlanId: vlanId.Id,
MinRxInterval: pulumi.Int(1000),
MinTxInterval: pulumi.Int(1000),
DetectMultiplier: pulumi.Int(10),
})
if err != nil {
return err
}
exampleTransitRouterVbrAttachment, err := cen.NewTransitRouterVbrAttachment(ctx, "example", &cen.TransitRouterVbrAttachmentArgs{
VbrId: exampleVirtualBorderRouter.ID(),
CenId: exampleInstance.ID(),
TransitRouterId: exampleTransitRouter.TransitRouterId,
AutoPublishRouteEnabled: pulumi.Bool(true),
TransitRouterAttachmentName: pulumi.String(name),
TransitRouterAttachmentDescription: pulumi.String(name),
})
if err != nil {
return err
}
_, err = cen.NewTransitRouterRouteEntry(ctx, "example", &cen.TransitRouterRouteEntryArgs{
TransitRouterRouteTableId: exampleTransitRouterRouteTable.TransitRouterRouteTableId,
TransitRouterRouteEntryDestinationCidrBlock: pulumi.String("192.168.0.0/24"),
TransitRouterRouteEntryNextHopType: pulumi.String("Attachment"),
TransitRouterRouteEntryName: pulumi.String(name),
TransitRouterRouteEntryDescription: pulumi.String(name),
TransitRouterRouteEntryNextHopId: exampleTransitRouterVbrAttachment.TransitRouterAttachmentId,
})
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.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.TransitRouterRouteTable;
import com.pulumi.alicloud.cen.TransitRouterRouteTableArgs;
import com.pulumi.alicloud.expressconnect.ExpressconnectFunctions;
import com.pulumi.alicloud.expressconnect.inputs.GetPhysicalConnectionsArgs;
import com.pulumi.random.integer;
import com.pulumi.random.integerArgs;
import com.pulumi.alicloud.expressconnect.VirtualBorderRouter;
import com.pulumi.alicloud.expressconnect.VirtualBorderRouterArgs;
import com.pulumi.alicloud.cen.TransitRouterVbrAttachment;
import com.pulumi.alicloud.cen.TransitRouterVbrAttachmentArgs;
import com.pulumi.alicloud.cen.TransitRouterRouteEntry;
import com.pulumi.alicloud.cen.TransitRouterRouteEntryArgs;
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("tf_example");
var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder()
.cenInstanceName(name)
.description("an example for cen")
.build());
var exampleTransitRouter = new TransitRouter("exampleTransitRouter", TransitRouterArgs.builder()
.transitRouterName(name)
.cenId(exampleInstance.id())
.build());
var exampleTransitRouterRouteTable = new TransitRouterRouteTable("exampleTransitRouterRouteTable", TransitRouterRouteTableArgs.builder()
.transitRouterId(exampleTransitRouter.transitRouterId())
.build());
final var example = ExpressconnectFunctions.getPhysicalConnections(GetPhysicalConnectionsArgs.builder()
.nameRegex("^preserved-NODELETING")
.build());
var vlanId = new Integer("vlanId", IntegerArgs.builder()
.max(2999)
.min(1)
.build());
var exampleVirtualBorderRouter = new VirtualBorderRouter("exampleVirtualBorderRouter", VirtualBorderRouterArgs.builder()
.localGatewayIp("10.0.0.1")
.peerGatewayIp("10.0.0.2")
.peeringSubnetMask("255.255.255.252")
.physicalConnectionId(example.connections()[0].id())
.virtualBorderRouterName(name)
.vlanId(vlanId.id())
.minRxInterval(1000)
.minTxInterval(1000)
.detectMultiplier(10)
.build());
var exampleTransitRouterVbrAttachment = new TransitRouterVbrAttachment("exampleTransitRouterVbrAttachment", TransitRouterVbrAttachmentArgs.builder()
.vbrId(exampleVirtualBorderRouter.id())
.cenId(exampleInstance.id())
.transitRouterId(exampleTransitRouter.transitRouterId())
.autoPublishRouteEnabled(true)
.transitRouterAttachmentName(name)
.transitRouterAttachmentDescription(name)
.build());
var exampleTransitRouterRouteEntry = new TransitRouterRouteEntry("exampleTransitRouterRouteEntry", TransitRouterRouteEntryArgs.builder()
.transitRouterRouteTableId(exampleTransitRouterRouteTable.transitRouterRouteTableId())
.transitRouterRouteEntryDestinationCidrBlock("192.168.0.0/24")
.transitRouterRouteEntryNextHopType("Attachment")
.transitRouterRouteEntryName(name)
.transitRouterRouteEntryDescription(name)
.transitRouterRouteEntryNextHopId(exampleTransitRouterVbrAttachment.transitRouterAttachmentId())
.build());
}
}
Content copied to clipboard
configuration:
name:
type: string
default: tf_example
resources:
exampleInstance:
type: alicloud:cen:Instance
name: example
properties:
cenInstanceName: ${name}
description: an example for cen
exampleTransitRouter:
type: alicloud:cen:TransitRouter
name: example
properties:
transitRouterName: ${name}
cenId: ${exampleInstance.id}
exampleTransitRouterRouteTable:
type: alicloud:cen:TransitRouterRouteTable
name: example
properties:
transitRouterId: ${exampleTransitRouter.transitRouterId}
vlanId:
type: random:integer
name: vlan_id
properties:
max: 2999
min: 1
exampleVirtualBorderRouter:
type: alicloud:expressconnect:VirtualBorderRouter
name: example
properties:
localGatewayIp: 10.0.0.1
peerGatewayIp: 10.0.0.2
peeringSubnetMask: 255.255.255.252
physicalConnectionId: ${example.connections[0].id}
virtualBorderRouterName: ${name}
vlanId: ${vlanId.id}
minRxInterval: 1000
minTxInterval: 1000
detectMultiplier: 10
exampleTransitRouterVbrAttachment:
type: alicloud:cen:TransitRouterVbrAttachment
name: example
properties:
vbrId: ${exampleVirtualBorderRouter.id}
cenId: ${exampleInstance.id}
transitRouterId: ${exampleTransitRouter.transitRouterId}
autoPublishRouteEnabled: true
transitRouterAttachmentName: ${name}
transitRouterAttachmentDescription: ${name}
exampleTransitRouterRouteEntry:
type: alicloud:cen:TransitRouterRouteEntry
name: example
properties:
transitRouterRouteTableId: ${exampleTransitRouterRouteTable.transitRouterRouteTableId}
transitRouterRouteEntryDestinationCidrBlock: 192.168.0.0/24
transitRouterRouteEntryNextHopType: Attachment
transitRouterRouteEntryName: ${name}
transitRouterRouteEntryDescription: ${name}
transitRouterRouteEntryNextHopId: ${exampleTransitRouterVbrAttachment.transitRouterAttachmentId}
variables:
example:
fn::invoke:
function: alicloud:expressconnect:getPhysicalConnections
arguments:
nameRegex: ^preserved-NODELETING
Content copied to clipboard
Import
CEN instance can be imported using the id, e.g.
$ pulumi import alicloud:cen/transitRouterRouteEntry:TransitRouterRouteEntry default vtb-*********:rte-*******
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(dryRun: Output<Boolean>? = null, transitRouterRouteEntryDescription: Output<String>? = null, transitRouterRouteEntryDestinationCidrBlock: Output<String>? = null, transitRouterRouteEntryName: Output<String>? = null, transitRouterRouteEntryNextHopId: Output<String>? = null, transitRouterRouteEntryNextHopType: Output<String>? = null, transitRouterRouteTableId: Output<String>? = null)
Properties
Link copied to clipboard
The description of the transit router route entry.
Link copied to clipboard
The CIDR of the transit router route entry.
Link copied to clipboard
The name of the transit router route entry.
Link copied to clipboard
The ID of the transit router route entry next hop.
Link copied to clipboard
The Type of the transit router route entry next hop,Valid values Attachment
and BlackHole
.
Link copied to clipboard
The ID of the transit router route table.