RouterInterfaceArgs

data class RouterInterfaceArgs(val accessPointId: Output<String>? = null, val autoPay: Output<Boolean>? = null, val deleteHealthCheckIp: Output<Boolean>? = null, val description: Output<String>? = null, val hcRate: Output<Int>? = null, val hcThreshold: Output<String>? = null, val healthCheckSourceIp: Output<String>? = null, val healthCheckTargetIp: Output<String>? = null, val oppositeAccessPointId: Output<String>? = null, val oppositeInterfaceId: Output<String>? = null, val oppositeInterfaceOwnerId: Output<String>? = null, val oppositeRegionId: Output<String>? = null, val oppositeRouterId: Output<String>? = null, val oppositeRouterType: Output<String>? = null, val paymentType: Output<String>? = null, val period: Output<Int>? = null, val pricingCycle: Output<String>? = null, val role: Output<String>? = null, val routerId: Output<String>? = null, val routerInterfaceId: Output<String>? = null, val routerInterfaceName: Output<String>? = null, val routerType: Output<String>? = null, val spec: Output<String>? = null, val status: Output<String>? = null) : ConvertibleToJava<RouterInterfaceArgs>

Provides a Express Connect Router Interface resource. For information about Express Connect Router Interface and how to use it, see What is Router Interface.

NOTE: Available since v1.199.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") || "tf_example";
const _default = alicloud.vpc.getNetworks({
nameRegex: "default-NODELETING",
});
const defaultGetRegions = alicloud.getRegions({
current: true,
});
const defaultRouterInterface = new alicloud.expressconnect.RouterInterface("default", {
description: name,
oppositeRegionId: defaultGetRegions.then(defaultGetRegions => defaultGetRegions.regions?.[0]?.id),
routerId: _default.then(_default => _default.vpcs?.[0]?.routerId),
role: "InitiatingSide",
routerType: "VRouter",
paymentType: "PayAsYouGo",
routerInterfaceName: name,
spec: "Mini.2",
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf_example"
default = alicloud.vpc.get_networks(name_regex="default-NODELETING")
default_get_regions = alicloud.get_regions(current=True)
default_router_interface = alicloud.expressconnect.RouterInterface("default",
description=name,
opposite_region_id=default_get_regions.regions[0].id,
router_id=default.vpcs[0].router_id,
role="InitiatingSide",
router_type="VRouter",
payment_type="PayAsYouGo",
router_interface_name=name,
spec="Mini.2")
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") ?? "tf_example";
var @default = AliCloud.Vpc.GetNetworks.Invoke(new()
{
NameRegex = "default-NODELETING",
});
var defaultGetRegions = AliCloud.GetRegions.Invoke(new()
{
Current = true,
});
var defaultRouterInterface = new AliCloud.ExpressConnect.RouterInterface("default", new()
{
Description = name,
OppositeRegionId = defaultGetRegions.Apply(getRegionsResult => getRegionsResult.Regions[0]?.Id),
RouterId = @default.Apply(@default => @default.Apply(getNetworksResult => getNetworksResult.Vpcs[0]?.RouterId)),
Role = "InitiatingSide",
RouterType = "VRouter",
PaymentType = "PayAsYouGo",
RouterInterfaceName = name,
Spec = "Mini.2",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"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
}
_default, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
NameRegex: pulumi.StringRef("default-NODELETING"),
}, nil)
if err != nil {
return err
}
defaultGetRegions, err := alicloud.GetRegions(ctx, &alicloud.GetRegionsArgs{
Current: pulumi.BoolRef(true),
}, nil)
if err != nil {
return err
}
_, err = expressconnect.NewRouterInterface(ctx, "default", &expressconnect.RouterInterfaceArgs{
Description: pulumi.String(name),
OppositeRegionId: pulumi.String(defaultGetRegions.Regions[0].Id),
RouterId: pulumi.String(_default.Vpcs[0].RouterId),
Role: pulumi.String("InitiatingSide"),
RouterType: pulumi.String("VRouter"),
PaymentType: pulumi.String("PayAsYouGo"),
RouterInterfaceName: pulumi.String(name),
Spec: pulumi.String("Mini.2"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetRegionsArgs;
import com.pulumi.alicloud.expressconnect.RouterInterface;
import com.pulumi.alicloud.expressconnect.RouterInterfaceArgs;
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");
final var default = VpcFunctions.getNetworks(GetNetworksArgs.builder()
.nameRegex("default-NODELETING")
.build());
final var defaultGetRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()
.current(true)
.build());
var defaultRouterInterface = new RouterInterface("defaultRouterInterface", RouterInterfaceArgs.builder()
.description(name)
.oppositeRegionId(defaultGetRegions.regions()[0].id())
.routerId(default_.vpcs()[0].routerId())
.role("InitiatingSide")
.routerType("VRouter")
.paymentType("PayAsYouGo")
.routerInterfaceName(name)
.spec("Mini.2")
.build());
}
}
configuration:
name:
type: string
default: tf_example
resources:
defaultRouterInterface:
type: alicloud:expressconnect:RouterInterface
name: default
properties:
description: ${name}
oppositeRegionId: ${defaultGetRegions.regions[0].id}
routerId: ${default.vpcs[0].routerId}
role: InitiatingSide
routerType: VRouter
paymentType: PayAsYouGo
routerInterfaceName: ${name}
spec: Mini.2
variables:
default:
fn::invoke:
function: alicloud:vpc:getNetworks
arguments:
nameRegex: default-NODELETING
defaultGetRegions:
fn::invoke:
function: alicloud:getRegions
arguments:
current: true

Import

Express Connect Router Interface can be imported using the id, e.g.

$ pulumi import alicloud:expressconnect/routerInterface:RouterInterface example <id>

Constructors

Link copied to clipboard
constructor(accessPointId: Output<String>? = null, autoPay: Output<Boolean>? = null, deleteHealthCheckIp: Output<Boolean>? = null, description: Output<String>? = null, hcRate: Output<Int>? = null, hcThreshold: Output<String>? = null, healthCheckSourceIp: Output<String>? = null, healthCheckTargetIp: Output<String>? = null, oppositeAccessPointId: Output<String>? = null, oppositeInterfaceId: Output<String>? = null, oppositeInterfaceOwnerId: Output<String>? = null, oppositeRegionId: Output<String>? = null, oppositeRouterId: Output<String>? = null, oppositeRouterType: Output<String>? = null, paymentType: Output<String>? = null, period: Output<Int>? = null, pricingCycle: Output<String>? = null, role: Output<String>? = null, routerId: Output<String>? = null, routerInterfaceId: Output<String>? = null, routerInterfaceName: Output<String>? = null, routerType: Output<String>? = null, spec: Output<String>? = null, status: Output<String>? = null)

Properties

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

The access point ID to which the VBR belongs.

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

Whether to pay automatically, value:-false (default): automatic payment is not enabled. After generating an order, you need to complete the payment at the order center.-true: Enable automatic payment to automatically pay for orders.>InstanceChargeType is required when the value of the parameter is **PrePaid.

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

Whether to delete the health check IP address configured on the router interface. Value:-true: deletes the health check IP address.-false (default): does not delete the health check IP address.

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

The description of the router interface. The description must be 2 to 256 characters in length and cannot start with http:// or https://.

Link copied to clipboard
val hcRate: Output<Int>? = null

The health check rate. Unit: seconds. The recommended value is 2. This indicates the interval between successive probe messages sent during the specified health check.

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

The health check thresholds. Unit: pcs. The recommended value is 8. This indicates the number of probe messages to be sent during the specified health check.

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

The health check source IP address, must be an unused IP within the local VPC.

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

The IP address for health screening purposes.

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

The Access point ID to which the other end belongs.

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

The Interface ID of the router at the other end.

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

The AliCloud account ID of the owner of the router interface on the other end.

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

The geographical ID of the location of the receiving end of the connection.

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

The id of the router at the other end.

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

The opposite router type of the router on the other side. Valid Values: VRouter, VBR.

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

The payment methods for router interfaces. Valid Values: PayAsYouGo, Subscription.

Link copied to clipboard
val period: Output<Int>? = null

Purchase duration, value:-When you choose to pay on a monthly basis, the value range is **1 to 9 * *.-When you choose to pay per year, the value range is **1 to 3 * *.>InstanceChargeType is required when the value of the parameter is **PrePaid.

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

The billing cycle of the prepaid fee. Valid values:-Month (default): monthly payment.-Year: Pay per Year.>InstanceChargeType is required when the value of the parameter is **PrePaid.

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

The role of the router interface. Valid Values: InitiatingSide, AcceptingSide.

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

The router id associated with the router interface.

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

The first ID of the resource.

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

The name of the resource.

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

The type of router associated with the router interface. Valid Values: VRouter, VBR.

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

The specification of the router interface. Valid Values: Mini.2, Mini.5, Mini.5, Small.2, Small.5, Middle.1, Middle.2, Middle.5, Large.1, Large.2, Large.5, XLarge.1, Negative.

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

The status of the resource. Valid Values: Idle, AcceptingConnecting, Connecting, Activating, Active, Modifying, Deactivating, Inactive, Deleting.

Functions

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