getRouteEntries

This data source provides a list of Route Entries owned by an Alibaba Cloud account.

NOTE: Available in 1.37.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = alicloud.getZones({
availableResourceCreation: "VSwitch",
});
const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
availabilityZone: _default.zones?.[0]?.id,
cpuCoreCount: 1,
memorySize: 2,
}));
const defaultGetImages = alicloud.ecs.getImages({
nameRegex: "^ubuntu_18.*64",
mostRecent: true,
owners: "system",
});
const config = new pulumi.Config();
const name = config.get("name") || "tf-testAccRouteEntryConfig";
const fooNetwork = new alicloud.vpc.Network("foo", {
name: name,
cidrBlock: "10.1.0.0/21",
});
const fooSwitch = new alicloud.vpc.Switch("foo", {
vpcId: fooNetwork.id,
cidrBlock: "10.1.1.0/24",
availabilityZone: _default.then(_default => _default.zones?.[0]?.id),
vswitchName: name,
});
const tfTestFoo = new alicloud.ecs.SecurityGroup("tf_test_foo", {
name: name,
description: "foo",
vpcId: fooNetwork.id,
});
const fooInstance = new alicloud.ecs.Instance("foo", {
securityGroups: [tfTestFoo.id],
vswitchId: fooSwitch.id,
allocatePublicIp: true,
instanceChargeType: "PostPaid",
instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
internetChargeType: "PayByTraffic",
internetMaxBandwidthOut: 5,
systemDiskCategory: "cloud_efficiency",
imageId: defaultGetImages.then(defaultGetImages => defaultGetImages.images?.[0]?.id),
instanceName: name,
});
const fooRouteEntry = new alicloud.vpc.RouteEntry("foo", {
routeTableId: fooNetwork.routeTableId,
destinationCidrblock: "172.11.1.1/32",
nexthopType: "Instance",
nexthopId: fooInstance.id,
});
const ingress = new alicloud.ecs.SecurityGroupRule("ingress", {
type: "ingress",
ipProtocol: "tcp",
nicType: "intranet",
policy: "accept",
portRange: "22/22",
priority: 1,
securityGroupId: tfTestFoo.id,
cidrIp: "0.0.0.0/0",
});
const foo = alicloud.vpc.getRouteEntriesOutput({
routeTableId: fooRouteEntry.routeTableId,
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.get_zones(available_resource_creation="VSwitch")
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
cpu_core_count=1,
memory_size=2)
default_get_images = alicloud.ecs.get_images(name_regex="^ubuntu_18.*64",
most_recent=True,
owners="system")
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf-testAccRouteEntryConfig"
foo_network = alicloud.vpc.Network("foo",
name=name,
cidr_block="10.1.0.0/21")
foo_switch = alicloud.vpc.Switch("foo",
vpc_id=foo_network.id,
cidr_block="10.1.1.0/24",
availability_zone=default.zones[0].id,
vswitch_name=name)
tf_test_foo = alicloud.ecs.SecurityGroup("tf_test_foo",
name=name,
description="foo",
vpc_id=foo_network.id)
foo_instance = alicloud.ecs.Instance("foo",
security_groups=[tf_test_foo.id],
vswitch_id=foo_switch.id,
allocate_public_ip=True,
instance_charge_type="PostPaid",
instance_type=default_get_instance_types.instance_types[0].id,
internet_charge_type="PayByTraffic",
internet_max_bandwidth_out=5,
system_disk_category="cloud_efficiency",
image_id=default_get_images.images[0].id,
instance_name=name)
foo_route_entry = alicloud.vpc.RouteEntry("foo",
route_table_id=foo_network.route_table_id,
destination_cidrblock="172.11.1.1/32",
nexthop_type="Instance",
nexthop_id=foo_instance.id)
ingress = alicloud.ecs.SecurityGroupRule("ingress",
type="ingress",
ip_protocol="tcp",
nic_type="intranet",
policy="accept",
port_range="22/22",
priority=1,
security_group_id=tf_test_foo.id,
cidr_ip="0.0.0.0/0")
foo = alicloud.vpc.get_route_entries_output(route_table_id=foo_route_entry.route_table_id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "VSwitch",
});
var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
{
AvailabilityZone = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
CpuCoreCount = 1,
MemorySize = 2,
});
var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()
{
NameRegex = "^ubuntu_18.*64",
MostRecent = true,
Owners = "system",
});
var config = new Config();
var name = config.Get("name") ?? "tf-testAccRouteEntryConfig";
var fooNetwork = new AliCloud.Vpc.Network("foo", new()
{
Name = name,
CidrBlock = "10.1.0.0/21",
});
var fooSwitch = new AliCloud.Vpc.Switch("foo", new()
{
VpcId = fooNetwork.Id,
CidrBlock = "10.1.1.0/24",
AvailabilityZone = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
VswitchName = name,
});
var tfTestFoo = new AliCloud.Ecs.SecurityGroup("tf_test_foo", new()
{
Name = name,
Description = "foo",
VpcId = fooNetwork.Id,
});
var fooInstance = new AliCloud.Ecs.Instance("foo", new()
{
SecurityGroups = new[]
{
tfTestFoo.Id,
},
VswitchId = fooSwitch.Id,
AllocatePublicIp = true,
InstanceChargeType = "PostPaid",
InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
InternetChargeType = "PayByTraffic",
InternetMaxBandwidthOut = 5,
SystemDiskCategory = "cloud_efficiency",
ImageId = defaultGetImages.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
InstanceName = name,
});
var fooRouteEntry = new AliCloud.Vpc.RouteEntry("foo", new()
{
RouteTableId = fooNetwork.RouteTableId,
DestinationCidrblock = "172.11.1.1/32",
NexthopType = "Instance",
NexthopId = fooInstance.Id,
});
var ingress = new AliCloud.Ecs.SecurityGroupRule("ingress", new()
{
Type = "ingress",
IpProtocol = "tcp",
NicType = "intranet",
Policy = "accept",
PortRange = "22/22",
Priority = 1,
SecurityGroupId = tfTestFoo.Id,
CidrIp = "0.0.0.0/0",
});
var foo = AliCloud.Vpc.GetRouteEntries.Invoke(new()
{
RouteTableId = fooRouteEntry.RouteTableId,
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"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 {
_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil)
if err != nil {
return err
}
defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
CpuCoreCount: pulumi.IntRef(1),
MemorySize: pulumi.Float64Ref(2),
}, nil)
if err != nil {
return err
}
defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
NameRegex: pulumi.StringRef("^ubuntu_18.*64"),
MostRecent: pulumi.BoolRef(true),
Owners: pulumi.StringRef("system"),
}, nil)
if err != nil {
return err
}
cfg := config.New(ctx, "")
name := "tf-testAccRouteEntryConfig"
if param := cfg.Get("name"); param != "" {
name = param
}
fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
Name: pulumi.String(name),
CidrBlock: pulumi.String("10.1.0.0/21"),
})
if err != nil {
return err
}
fooSwitch, err := vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
VpcId: fooNetwork.ID(),
CidrBlock: pulumi.String("10.1.1.0/24"),
AvailabilityZone: pulumi.String(_default.Zones[0].Id),
VswitchName: pulumi.String(name),
})
if err != nil {
return err
}
tfTestFoo, err := ecs.NewSecurityGroup(ctx, "tf_test_foo", &ecs.SecurityGroupArgs{
Name: pulumi.String(name),
Description: pulumi.String("foo"),
VpcId: fooNetwork.ID(),
})
if err != nil {
return err
}
fooInstance, err := ecs.NewInstance(ctx, "foo", &ecs.InstanceArgs{
SecurityGroups: pulumi.StringArray{
tfTestFoo.ID(),
},
VswitchId: fooSwitch.ID(),
AllocatePublicIp: pulumi.Bool(true),
InstanceChargeType: pulumi.String("PostPaid"),
InstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
InternetChargeType: pulumi.String("PayByTraffic"),
InternetMaxBandwidthOut: pulumi.Int(5),
SystemDiskCategory: pulumi.String("cloud_efficiency"),
ImageId: pulumi.String(defaultGetImages.Images[0].Id),
InstanceName: pulumi.String(name),
})
if err != nil {
return err
}
fooRouteEntry, err := vpc.NewRouteEntry(ctx, "foo", &vpc.RouteEntryArgs{
RouteTableId: fooNetwork.RouteTableId,
DestinationCidrblock: pulumi.String("172.11.1.1/32"),
NexthopType: pulumi.String("Instance"),
NexthopId: fooInstance.ID(),
})
if err != nil {
return err
}
_, err = ecs.NewSecurityGroupRule(ctx, "ingress", &ecs.SecurityGroupRuleArgs{
Type: pulumi.String("ingress"),
IpProtocol: pulumi.String("tcp"),
NicType: pulumi.String("intranet"),
Policy: pulumi.String("accept"),
PortRange: pulumi.String("22/22"),
Priority: pulumi.Int(1),
SecurityGroupId: tfTestFoo.ID(),
CidrIp: pulumi.String("0.0.0.0/0"),
})
if err != nil {
return err
}
_ = vpc.GetRouteEntriesOutput(ctx, vpc.GetRouteEntriesOutputArgs{
RouteTableId: fooRouteEntry.RouteTableId,
}, nil)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.Instance;
import com.pulumi.alicloud.ecs.InstanceArgs;
import com.pulumi.alicloud.vpc.RouteEntry;
import com.pulumi.alicloud.vpc.RouteEntryArgs;
import com.pulumi.alicloud.ecs.SecurityGroupRule;
import com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetRouteEntriesArgs;
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 default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(default_.zones()[0].id())
.cpuCoreCount(1)
.memorySize(2)
.build());
final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_18.*64")
.mostRecent(true)
.owners("system")
.build());
final var name = config.get("name").orElse("tf-testAccRouteEntryConfig");
var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()
.name(name)
.cidrBlock("10.1.0.0/21")
.build());
var fooSwitch = new Switch("fooSwitch", SwitchArgs.builder()
.vpcId(fooNetwork.id())
.cidrBlock("10.1.1.0/24")
.availabilityZone(default_.zones()[0].id())
.vswitchName(name)
.build());
var tfTestFoo = new SecurityGroup("tfTestFoo", SecurityGroupArgs.builder()
.name(name)
.description("foo")
.vpcId(fooNetwork.id())
.build());
var fooInstance = new Instance("fooInstance", InstanceArgs.builder()
.securityGroups(tfTestFoo.id())
.vswitchId(fooSwitch.id())
.allocatePublicIp(true)
.instanceChargeType("PostPaid")
.instanceType(defaultGetInstanceTypes.instanceTypes()[0].id())
.internetChargeType("PayByTraffic")
.internetMaxBandwidthOut(5)
.systemDiskCategory("cloud_efficiency")
.imageId(defaultGetImages.images()[0].id())
.instanceName(name)
.build());
var fooRouteEntry = new RouteEntry("fooRouteEntry", RouteEntryArgs.builder()
.routeTableId(fooNetwork.routeTableId())
.destinationCidrblock("172.11.1.1/32")
.nexthopType("Instance")
.nexthopId(fooInstance.id())
.build());
var ingress = new SecurityGroupRule("ingress", SecurityGroupRuleArgs.builder()
.type("ingress")
.ipProtocol("tcp")
.nicType("intranet")
.policy("accept")
.portRange("22/22")
.priority(1)
.securityGroupId(tfTestFoo.id())
.cidrIp("0.0.0.0/0")
.build());
final var foo = VpcFunctions.getRouteEntries(GetRouteEntriesArgs.builder()
.routeTableId(fooRouteEntry.routeTableId())
.build());
}
}
configuration:
name:
type: string
default: tf-testAccRouteEntryConfig
resources:
fooNetwork:
type: alicloud:vpc:Network
name: foo
properties:
name: ${name}
cidrBlock: 10.1.0.0/21
fooSwitch:
type: alicloud:vpc:Switch
name: foo
properties:
vpcId: ${fooNetwork.id}
cidrBlock: 10.1.1.0/24
availabilityZone: ${default.zones[0].id}
vswitchName: ${name}
fooRouteEntry:
type: alicloud:vpc:RouteEntry
name: foo
properties:
routeTableId: ${fooNetwork.routeTableId}
destinationCidrblock: 172.11.1.1/32
nexthopType: Instance
nexthopId: ${fooInstance.id}
tfTestFoo:
type: alicloud:ecs:SecurityGroup
name: tf_test_foo
properties:
name: ${name}
description: foo
vpcId: ${fooNetwork.id}
ingress:
type: alicloud:ecs:SecurityGroupRule
properties:
type: ingress
ipProtocol: tcp
nicType: intranet
policy: accept
portRange: 22/22
priority: 1
securityGroupId: ${tfTestFoo.id}
cidrIp: 0.0.0.0/0
fooInstance:
type: alicloud:ecs:Instance
name: foo
properties:
securityGroups:
- ${tfTestFoo.id}
vswitchId: ${fooSwitch.id}
allocatePublicIp: true # series III
instanceChargeType: PostPaid
instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}
internetChargeType: PayByTraffic
internetMaxBandwidthOut: 5
systemDiskCategory: cloud_efficiency
imageId: ${defaultGetImages.images[0].id}
instanceName: ${name}
variables:
default:
fn::invoke:
function: alicloud:getZones
arguments:
availableResourceCreation: VSwitch
defaultGetInstanceTypes:
fn::invoke:
function: alicloud:ecs:getInstanceTypes
arguments:
availabilityZone: ${default.zones[0].id}
cpuCoreCount: 1
memorySize: 2
defaultGetImages:
fn::invoke:
function: alicloud:ecs:getImages
arguments:
nameRegex: ^ubuntu_18.*64
mostRecent: true
owners: system
foo:
fn::invoke:
function: alicloud:vpc:getRouteEntries
arguments:
routeTableId: ${fooRouteEntry.routeTableId}

Return

A collection of values returned by getRouteEntries.

Parameters

argument

A collection of arguments for invoking getRouteEntries.


suspend fun getRouteEntries(cidrBlock: String? = null, instanceId: String? = null, outputFile: String? = null, routeTableId: String, type: String? = null): GetRouteEntriesResult

Return

A collection of values returned by getRouteEntries.

Parameters

cidrBlock

The destination CIDR block of the route entry.

instanceId

The instance ID of the next hop.

outputFile

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

routeTableId

The ID of the router table to which the route entry belongs.

type

The type of the route entry.

See also


Return

A collection of values returned by getRouteEntries.

Parameters

argument

Builder for com.pulumi.alicloud.vpc.kotlin.inputs.GetRouteEntriesPlainArgs.

See also