getSwitches

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

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "vswitchDatasourceName";
const _default = alicloud.getZones({});
const vpc = new alicloud.vpc.Network("vpc", {
cidrBlock: "172.16.0.0/16",
vpcName: name,
});
const vswitch = new alicloud.vpc.Switch("vswitch", {
vswitchName: name,
cidrBlock: "172.16.0.0/24",
vpcId: vpc.id,
availabilityZone: _default.then(_default => _default.zones?.[0]?.id),
});
const defaultGetSwitches = alicloud.vpc.getSwitchesOutput({
nameRegex: vswitch.vswitchName,
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "vswitchDatasourceName"
default = alicloud.get_zones()
vpc = alicloud.vpc.Network("vpc",
cidr_block="172.16.0.0/16",
vpc_name=name)
vswitch = alicloud.vpc.Switch("vswitch",
vswitch_name=name,
cidr_block="172.16.0.0/24",
vpc_id=vpc.id,
availability_zone=default.zones[0].id)
default_get_switches = alicloud.vpc.get_switches_output(name_regex=vswitch.vswitch_name)
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") ?? "vswitchDatasourceName";
var @default = AliCloud.GetZones.Invoke();
var vpc = new AliCloud.Vpc.Network("vpc", new()
{
CidrBlock = "172.16.0.0/16",
VpcName = name,
});
var vswitch = new AliCloud.Vpc.Switch("vswitch", new()
{
VswitchName = name,
CidrBlock = "172.16.0.0/24",
VpcId = vpc.Id,
AvailabilityZone = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
});
var defaultGetSwitches = AliCloud.Vpc.GetSwitches.Invoke(new()
{
NameRegex = vswitch.VswitchName,
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"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 := "vswitchDatasourceName"
if param := cfg.Get("name"); param != "" {
name = param
}
_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{}, nil)
if err != nil {
return err
}
vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
CidrBlock: pulumi.String("172.16.0.0/16"),
VpcName: pulumi.String(name),
})
if err != nil {
return err
}
vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
VswitchName: pulumi.String(name),
CidrBlock: pulumi.String("172.16.0.0/24"),
VpcId: vpc.ID(),
AvailabilityZone: pulumi.String(_default.Zones[0].Id),
})
if err != nil {
return err
}
_ = vpc.GetSwitchesOutput(ctx, vpc.GetSwitchesOutputArgs{
NameRegex: vswitch.VswitchName,
}, 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.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
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("vswitchDatasourceName");
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.build());
var vpc = new Network("vpc", NetworkArgs.builder()
.cidrBlock("172.16.0.0/16")
.vpcName(name)
.build());
var vswitch = new Switch("vswitch", SwitchArgs.builder()
.vswitchName(name)
.cidrBlock("172.16.0.0/24")
.vpcId(vpc.id())
.availabilityZone(default_.zones()[0].id())
.build());
final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
.nameRegex(vswitch.vswitchName())
.build());
}
}
configuration:
name:
type: string
default: vswitchDatasourceName
resources:
vpc:
type: alicloud:vpc:Network
properties:
cidrBlock: 172.16.0.0/16
vpcName: ${name}
vswitch:
type: alicloud:vpc:Switch
properties:
vswitchName: ${name}
cidrBlock: 172.16.0.0/24
vpcId: ${vpc.id}
availabilityZone: ${default.zones[0].id}
variables:
default:
fn::invoke:
function: alicloud:getZones
arguments: {}
defaultGetSwitches:
fn::invoke:
function: alicloud:vpc:getSwitches
arguments:
nameRegex: ${vswitch.vswitchName}

Return

A collection of values returned by getSwitches.

Parameters

argument

A collection of arguments for invoking getSwitches.


suspend fun getSwitches(cidrBlock: String? = null, dryRun: Boolean? = null, ids: List<String>? = null, isDefault: Boolean? = null, nameRegex: String? = null, outputFile: String? = null, resourceGroupId: String? = null, routeTableId: String? = null, status: String? = null, tags: Map<String, String>? = null, vpcId: String? = null, vswitchName: String? = null, vswitchOwnerId: Int? = null, zoneId: String? = null): GetSwitchesResult

Return

A collection of values returned by getSwitches.

Parameters

cidrBlock

Filter results by a specific CIDR block. For example: "172.16.0.0/12".

dryRun

Specifies whether to precheck this request only. Valid values: true and false.

ids

A list of vSwitch IDs.

isDefault

Indicate whether the vSwitch is created by the system.

nameRegex

A regex string to filter results by name.

outputFile

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

resourceGroupId

The Id of resource group which VSWitch belongs.

routeTableId

The route table ID of the vSwitch.

status

The status of the vSwitch. Valid values: Available and Pending.

tags

A mapping of tags to assign to the resource.

vpcId

ID of the VPC that owns the vSwitch.

vswitchName

The name of the vSwitch.

vswitchOwnerId

The vSwitch owner id.

zoneId

The availability zone of the vSwitch.

See also


suspend fun getSwitches(argument: suspend GetSwitchesPlainArgsBuilder.() -> Unit): GetSwitchesResult

Return

A collection of values returned by getSwitches.

Parameters

argument

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

See also