get Switches
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
A collection of arguments for invoking getSwitches.
Return
A collection of values returned by getSwitches.
Parameters
Filter results by a specific CIDR block. For example: "172.16.0.0/12".
Specifies whether to precheck this request only. Valid values: true
and false
.
A list of vSwitch IDs.
Indicate whether the vSwitch is created by the system.
A regex string to filter results by name.
File name where to save data source results (after running pulumi preview
).
The Id of resource group which VSWitch belongs.
The route table ID of the vSwitch.
The status of the vSwitch. Valid values: Available
and Pending
.
A mapping of tags to assign to the resource.
ID of the VPC that owns the vSwitch.
The name of the vSwitch.
The vSwitch owner id.
The availability zone of the vSwitch.
See also
Return
A collection of values returned by getSwitches.
Parameters
Builder for com.pulumi.alicloud.vpc.kotlin.inputs.GetSwitchesPlainArgs.