getRouteEntries

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

NOTE: Available in 1.37.0+.

Example Usage

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 defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
final var defaultInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.cpuCoreCount(1)
.memorySize(2)
.build());
final var defaultImages = EcsFunctions.getImages(GetImagesArgs.builder()
.mostRecent(true)
.nameRegex("^ubuntu_18.*64")
.owners("system")
.build());
final var name = config.get("name").orElse("tf-testAccRouteEntryConfig");
var fooNetwork = new Network("fooNetwork", NetworkArgs.builder()
.cidrBlock("10.1.0.0/21")
.build());
var fooSwitch = new Switch("fooSwitch", SwitchArgs.builder()
.availabilityZone(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.cidrBlock("10.1.1.0/24")
.vpcId(fooNetwork.id())
.vswitchName(name)
.build());
var tfTestFoo = new SecurityGroup("tfTestFoo", SecurityGroupArgs.builder()
.description("foo")
.vpcId(fooNetwork.id())
.build());
var fooInstance = new Instance("fooInstance", InstanceArgs.builder()
.allocatePublicIp(true)
.imageId(defaultImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.instanceChargeType("PostPaid")
.instanceName(name)
.instanceType(defaultInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.internetChargeType("PayByTraffic")
.internetMaxBandwidthOut(5)
.securityGroups(tfTestFoo.id())
.systemDiskCategory("cloud_efficiency")
.vswitchId(fooSwitch.id())
.build());
var fooRouteEntry = new RouteEntry("fooRouteEntry", RouteEntryArgs.builder()
.destinationCidrblock("172.11.1.1/32")
.nexthopId(fooInstance.id())
.nexthopType("Instance")
.routeTableId(fooNetwork.routeTableId())
.build());
var ingress = new SecurityGroupRule("ingress", SecurityGroupRuleArgs.builder()
.cidrIp("0.0.0.0/0")
.ipProtocol("tcp")
.nicType("intranet")
.policy("accept")
.portRange("22/22")
.priority(1)
.securityGroupId(tfTestFoo.id())
.type("ingress")
.build());
final var fooRouteEntries = VpcFunctions.getRouteEntries(GetRouteEntriesArgs.builder()
.routeTableId(fooRouteEntry.routeTableId())
.build());
}
}

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.

See also

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.


Return

A collection of values returned by getRouteEntries.

See also

Parameters

argument

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