Router Tr Association Args
data class RouterTrAssociationArgs(val allowedPrefixes: Output<List<String>>? = null, val associationRegionId: Output<String>? = null, val cenId: Output<String>? = null, val ecrId: Output<String>? = null, val transitRouterId: Output<String>? = null, val transitRouterOwnerId: Output<Int>? = null) : ConvertibleToJava<RouterTrAssociationArgs>
Provides a Express Connect Router Express Connect Router Tr Association resource. Leased line gateway and TR binding relationship object. For information about Express Connect Router Express Connect Router Tr Association and how to use it, see What is Express Connect Router Tr Association.
NOTE: Available since v1.224.0.
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") || "terraform-example";
const alowprefix1 = config.get("alowprefix1") || "10.0.0.0/24";
const allowprefix2 = config.get("allowprefix2") || "10.0.1.0/24";
const allowprefix3 = config.get("allowprefix3") || "10.0.2.0/24";
const allowprefix4 = config.get("allowprefix4") || "10.0.3.0/24";
const asn = config.get("asn") || "4200001003";
const defaultpX0KlC = new alicloud.expressconnect.RouterExpressConnectRouter("defaultpX0KlC", {alibabaSideAsn: asn});
const default418DC9 = new alicloud.cen.Instance("default418DC9", {cenInstanceName: name});
const defaultRYcjsc = new alicloud.cen.TransitRouter("defaultRYcjsc", {cenId: default418DC9.id});
const current = alicloud.getAccount({});
const _default = new alicloud.expressconnect.RouterTrAssociation("default", {
ecrId: defaultpX0KlC.id,
cenId: default418DC9.id,
transitRouterOwnerId: current.then(current => current.id),
allowedPrefixes: [
alowprefix1,
allowprefix3,
allowprefix2,
],
transitRouterId: defaultRYcjsc.transitRouterId,
associationRegionId: "cn-hangzhou",
});
Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
alowprefix1 = config.get("alowprefix1")
if alowprefix1 is None:
alowprefix1 = "10.0.0.0/24"
allowprefix2 = config.get("allowprefix2")
if allowprefix2 is None:
allowprefix2 = "10.0.1.0/24"
allowprefix3 = config.get("allowprefix3")
if allowprefix3 is None:
allowprefix3 = "10.0.2.0/24"
allowprefix4 = config.get("allowprefix4")
if allowprefix4 is None:
allowprefix4 = "10.0.3.0/24"
asn = config.get("asn")
if asn is None:
asn = "4200001003"
defaultp_x0_kl_c = alicloud.expressconnect.RouterExpressConnectRouter("defaultpX0KlC", alibaba_side_asn=asn)
default418_dc9 = alicloud.cen.Instance("default418DC9", cen_instance_name=name)
default_r_ycjsc = alicloud.cen.TransitRouter("defaultRYcjsc", cen_id=default418_dc9.id)
current = alicloud.get_account()
default = alicloud.expressconnect.RouterTrAssociation("default",
ecr_id=defaultp_x0_kl_c.id,
cen_id=default418_dc9.id,
transit_router_owner_id=current.id,
allowed_prefixes=[
alowprefix1,
allowprefix3,
allowprefix2,
],
transit_router_id=default_r_ycjsc.transit_router_id,
association_region_id="cn-hangzhou")
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") ?? "terraform-example";
var alowprefix1 = config.Get("alowprefix1") ?? "10.0.0.0/24";
var allowprefix2 = config.Get("allowprefix2") ?? "10.0.1.0/24";
var allowprefix3 = config.Get("allowprefix3") ?? "10.0.2.0/24";
var allowprefix4 = config.Get("allowprefix4") ?? "10.0.3.0/24";
var asn = config.Get("asn") ?? "4200001003";
var defaultpX0KlC = new AliCloud.ExpressConnect.RouterExpressConnectRouter("defaultpX0KlC", new()
{
AlibabaSideAsn = asn,
});
var default418DC9 = new AliCloud.Cen.Instance("default418DC9", new()
{
CenInstanceName = name,
});
var defaultRYcjsc = new AliCloud.Cen.TransitRouter("defaultRYcjsc", new()
{
CenId = default418DC9.Id,
});
var current = AliCloud.GetAccount.Invoke();
var @default = new AliCloud.ExpressConnect.RouterTrAssociation("default", new()
{
EcrId = defaultpX0KlC.Id,
CenId = default418DC9.Id,
TransitRouterOwnerId = current.Apply(getAccountResult => getAccountResult.Id),
AllowedPrefixes = new[]
{
alowprefix1,
allowprefix3,
allowprefix2,
},
TransitRouterId = defaultRYcjsc.TransitRouterId,
AssociationRegionId = "cn-hangzhou",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect"
"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 := "terraform-example"
if param := cfg.Get("name"); param != "" {
name = param
}
alowprefix1 := "10.0.0.0/24"
if param := cfg.Get("alowprefix1"); param != "" {
alowprefix1 = param
}
allowprefix2 := "10.0.1.0/24"
if param := cfg.Get("allowprefix2"); param != "" {
allowprefix2 = param
}
allowprefix3 := "10.0.2.0/24"
if param := cfg.Get("allowprefix3"); param != "" {
allowprefix3 = param
}
allowprefix4 := "10.0.3.0/24"
if param := cfg.Get("allowprefix4"); param != "" {
allowprefix4 = param
}
asn := "4200001003"
if param := cfg.Get("asn"); param != "" {
asn = param
}
defaultpX0KlC, err := expressconnect.NewRouterExpressConnectRouter(ctx, "defaultpX0KlC", &expressconnect.RouterExpressConnectRouterArgs{
AlibabaSideAsn: pulumi.String(asn),
})
if err != nil {
return err
}
default418DC9, err := cen.NewInstance(ctx, "default418DC9", &cen.InstanceArgs{
CenInstanceName: pulumi.String(name),
})
if err != nil {
return err
}
defaultRYcjsc, err := cen.NewTransitRouter(ctx, "defaultRYcjsc", &cen.TransitRouterArgs{
CenId: default418DC9.ID(),
})
if err != nil {
return err
}
current, err := alicloud.GetAccount(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
_, err = expressconnect.NewRouterTrAssociation(ctx, "default", &expressconnect.RouterTrAssociationArgs{
EcrId: defaultpX0KlC.ID(),
CenId: default418DC9.ID(),
TransitRouterOwnerId: pulumi.String(current.Id),
AllowedPrefixes: pulumi.StringArray{
pulumi.String(alowprefix1),
pulumi.String(allowprefix3),
pulumi.String(allowprefix2),
},
TransitRouterId: defaultRYcjsc.TransitRouterId,
AssociationRegionId: pulumi.String("cn-hangzhou"),
})
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.expressconnect.RouterExpressConnectRouter;
import com.pulumi.alicloud.expressconnect.RouterExpressConnectRouterArgs;
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.AlicloudFunctions;
import com.pulumi.alicloud.expressconnect.RouterTrAssociation;
import com.pulumi.alicloud.expressconnect.RouterTrAssociationArgs;
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("terraform-example");
final var alowprefix1 = config.get("alowprefix1").orElse("10.0.0.0/24");
final var allowprefix2 = config.get("allowprefix2").orElse("10.0.1.0/24");
final var allowprefix3 = config.get("allowprefix3").orElse("10.0.2.0/24");
final var allowprefix4 = config.get("allowprefix4").orElse("10.0.3.0/24");
final var asn = config.get("asn").orElse("4200001003");
var defaultpX0KlC = new RouterExpressConnectRouter("defaultpX0KlC", RouterExpressConnectRouterArgs.builder()
.alibabaSideAsn(asn)
.build());
var default418DC9 = new Instance("default418DC9", InstanceArgs.builder()
.cenInstanceName(name)
.build());
var defaultRYcjsc = new TransitRouter("defaultRYcjsc", TransitRouterArgs.builder()
.cenId(default418DC9.id())
.build());
final var current = AlicloudFunctions.getAccount();
var default_ = new RouterTrAssociation("default", RouterTrAssociationArgs.builder()
.ecrId(defaultpX0KlC.id())
.cenId(default418DC9.id())
.transitRouterOwnerId(current.applyValue(getAccountResult -> getAccountResult.id()))
.allowedPrefixes(
alowprefix1,
allowprefix3,
allowprefix2)
.transitRouterId(defaultRYcjsc.transitRouterId())
.associationRegionId("cn-hangzhou")
.build());
}
}
Content copied to clipboard
configuration:
name:
type: string
default: terraform-example
alowprefix1:
type: string
default: 10.0.0.0/24
allowprefix2:
type: string
default: 10.0.1.0/24
allowprefix3:
type: string
default: 10.0.2.0/24
allowprefix4:
type: string
default: 10.0.3.0/24
asn:
type: string
default: '4200001003'
resources:
defaultpX0KlC:
type: alicloud:expressconnect:RouterExpressConnectRouter
properties:
alibabaSideAsn: ${asn}
default418DC9:
type: alicloud:cen:Instance
properties:
cenInstanceName: ${name}
defaultRYcjsc:
type: alicloud:cen:TransitRouter
properties:
cenId: ${default418DC9.id}
default:
type: alicloud:expressconnect:RouterTrAssociation
properties:
ecrId: ${defaultpX0KlC.id}
cenId: ${default418DC9.id}
transitRouterOwnerId: ${current.id}
allowedPrefixes:
- ${alowprefix1}
- ${allowprefix3}
- ${allowprefix2}
transitRouterId: ${defaultRYcjsc.transitRouterId}
associationRegionId: cn-hangzhou
variables:
current:
fn::invoke:
function: alicloud:getAccount
arguments: {}
Content copied to clipboard
Import
Express Connect Router Express Connect Router Tr Association can be imported using the id, e.g.
$ pulumi import alicloud:expressconnect/routerTrAssociation:RouterTrAssociation example <ecr_id>:<association_id>:<transit_router_id>
Content copied to clipboard