get Clusters
This data source provides a list of MSE Clusters in an Alibaba Cloud account according to the specified filters.
NOTE: Available since v1.94.0.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
// Create resource
const example = alicloud.getZones({
availableResourceCreation: "VSwitch",
});
const exampleNetwork = new alicloud.vpc.Network("example", {
vpcName: "terraform-example",
cidrBlock: "172.17.3.0/24",
});
const exampleSwitch = new alicloud.vpc.Switch("example", {
vswitchName: "terraform-example",
cidrBlock: "172.17.3.0/24",
vpcId: exampleNetwork.id,
zoneId: example.then(example => example.zones?.[0]?.id),
});
const exampleCluster = new alicloud.mse.Cluster("example", {
clusterSpecification: "MSE_SC_1_2_60_c",
clusterType: "Nacos-Ans",
clusterVersion: "NACOS_2_0_0",
instanceCount: 3,
netType: "privatenet",
pubNetworkFlow: "1",
connectionType: "slb",
clusterAliasName: "terraform-example",
mseVersion: "mse_pro",
vswitchId: exampleSwitch.id,
vpcId: exampleNetwork.id,
});
// Declare the data source
const exampleGetClusters = pulumi.all([exampleCluster.id, exampleCluster.clusterAliasName]).apply(([id, clusterAliasName]) => alicloud.mse.getClustersOutput({
enableDetails: true,
ids: [id],
status: "INIT_SUCCESS",
nameRegex: clusterAliasName,
}));
export const instanceId = exampleGetClusters.apply(exampleGetClusters => exampleGetClusters.clusters?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
# Create resource
example = alicloud.get_zones(available_resource_creation="VSwitch")
example_network = alicloud.vpc.Network("example",
vpc_name="terraform-example",
cidr_block="172.17.3.0/24")
example_switch = alicloud.vpc.Switch("example",
vswitch_name="terraform-example",
cidr_block="172.17.3.0/24",
vpc_id=example_network.id,
zone_id=example.zones[0].id)
example_cluster = alicloud.mse.Cluster("example",
cluster_specification="MSE_SC_1_2_60_c",
cluster_type="Nacos-Ans",
cluster_version="NACOS_2_0_0",
instance_count=3,
net_type="privatenet",
pub_network_flow="1",
connection_type="slb",
cluster_alias_name="terraform-example",
mse_version="mse_pro",
vswitch_id=example_switch.id,
vpc_id=example_network.id)
# Declare the data source
example_get_clusters = pulumi.Output.all(
id=example_cluster.id,
cluster_alias_name=example_cluster.cluster_alias_name
).apply(lambda resolved_outputs: alicloud.mse.get_clusters_output(enable_details=True,
ids=[resolved_outputs['id']],
status="INIT_SUCCESS",
name_regex=resolved_outputs['cluster_alias_name']))
pulumi.export("instanceId", example_get_clusters.clusters[0].id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
// Create resource
var example = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "VSwitch",
});
var exampleNetwork = new AliCloud.Vpc.Network("example", new()
{
VpcName = "terraform-example",
CidrBlock = "172.17.3.0/24",
});
var exampleSwitch = new AliCloud.Vpc.Switch("example", new()
{
VswitchName = "terraform-example",
CidrBlock = "172.17.3.0/24",
VpcId = exampleNetwork.Id,
ZoneId = example.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
});
var exampleCluster = new AliCloud.Mse.Cluster("example", new()
{
ClusterSpecification = "MSE_SC_1_2_60_c",
ClusterType = "Nacos-Ans",
ClusterVersion = "NACOS_2_0_0",
InstanceCount = 3,
NetType = "privatenet",
PubNetworkFlow = "1",
ConnectionType = "slb",
ClusterAliasName = "terraform-example",
MseVersion = "mse_pro",
VswitchId = exampleSwitch.Id,
VpcId = exampleNetwork.Id,
});
// Declare the data source
var exampleGetClusters = AliCloud.Mse.GetClusters.Invoke(new()
{
EnableDetails = true,
Ids = new[]
{
exampleCluster.Id,
},
Status = "INIT_SUCCESS",
NameRegex = exampleCluster.ClusterAliasName,
});
return new Dictionary<string, object?>
{
["instanceId"] = exampleGetClusters.Apply(getClustersResult => getClustersResult.Clusters[0]?.Id),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/mse"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create resource
example, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil)
if err != nil {
return err
}
exampleNetwork, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
VpcName: pulumi.String("terraform-example"),
CidrBlock: pulumi.String("172.17.3.0/24"),
})
if err != nil {
return err
}
exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
VswitchName: pulumi.String("terraform-example"),
CidrBlock: pulumi.String("172.17.3.0/24"),
VpcId: exampleNetwork.ID(),
ZoneId: pulumi.String(example.Zones[0].Id),
})
if err != nil {
return err
}
exampleCluster, err := mse.NewCluster(ctx, "example", &mse.ClusterArgs{
ClusterSpecification: pulumi.String("MSE_SC_1_2_60_c"),
ClusterType: pulumi.String("Nacos-Ans"),
ClusterVersion: pulumi.String("NACOS_2_0_0"),
InstanceCount: pulumi.Int(3),
NetType: pulumi.String("privatenet"),
PubNetworkFlow: pulumi.String("1"),
ConnectionType: pulumi.String("slb"),
ClusterAliasName: pulumi.String("terraform-example"),
MseVersion: pulumi.String("mse_pro"),
VswitchId: exampleSwitch.ID(),
VpcId: exampleNetwork.ID(),
})
if err != nil {
return err
}
// Declare the data source
exampleGetClusters := pulumi.All(exampleCluster.ID(), exampleCluster.ClusterAliasName).ApplyT(func(_args []interface{}) (mse.GetClustersResult, error) {
id := _args[0].(string)
clusterAliasName := _args[1].(string)
return mse.GetClustersResult(interface{}(mse.GetClustersOutput(ctx, mse.GetClustersOutputArgs{
EnableDetails: true,
Ids: []string{
id,
},
Status: "INIT_SUCCESS",
NameRegex: clusterAliasName,
}, nil))), nil
}).(mse.GetClustersResultOutput)
ctx.Export("instanceId", exampleGetClusters.ApplyT(func(exampleGetClusters mse.GetClustersResult) (*string, error) {
return &exampleGetClusters.Clusters[0].Id, nil
}).(pulumi.StringPtrOutput))
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.mse.Cluster;
import com.pulumi.alicloud.mse.ClusterArgs;
import com.pulumi.alicloud.mse.MseFunctions;
import com.pulumi.alicloud.mse.inputs.GetClustersArgs;
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) {
// Create resource
final var example = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var exampleNetwork = new Network("exampleNetwork", NetworkArgs.builder()
.vpcName("terraform-example")
.cidrBlock("172.17.3.0/24")
.build());
var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
.vswitchName("terraform-example")
.cidrBlock("172.17.3.0/24")
.vpcId(exampleNetwork.id())
.zoneId(example.zones()[0].id())
.build());
var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
.clusterSpecification("MSE_SC_1_2_60_c")
.clusterType("Nacos-Ans")
.clusterVersion("NACOS_2_0_0")
.instanceCount(3)
.netType("privatenet")
.pubNetworkFlow("1")
.connectionType("slb")
.clusterAliasName("terraform-example")
.mseVersion("mse_pro")
.vswitchId(exampleSwitch.id())
.vpcId(exampleNetwork.id())
.build());
// Declare the data source
final var exampleGetClusters = Output.tuple(exampleCluster.id(), exampleCluster.clusterAliasName()).applyValue(values -> {
var id = values.t1;
var clusterAliasName = values.t2;
return MseFunctions.getClusters(GetClustersArgs.builder()
.enableDetails(true)
.ids(id)
.status("INIT_SUCCESS")
.nameRegex(clusterAliasName)
.build());
});
ctx.export("instanceId", exampleGetClusters.applyValue(_exampleGetClusters -> _exampleGetClusters.clusters()[0].id()));
}
}
resources:
exampleNetwork:
type: alicloud:vpc:Network
name: example
properties:
vpcName: terraform-example
cidrBlock: 172.17.3.0/24
exampleSwitch:
type: alicloud:vpc:Switch
name: example
properties:
vswitchName: terraform-example
cidrBlock: 172.17.3.0/24
vpcId: ${exampleNetwork.id}
zoneId: ${example.zones[0].id}
exampleCluster:
type: alicloud:mse:Cluster
name: example
properties:
clusterSpecification: MSE_SC_1_2_60_c
clusterType: Nacos-Ans
clusterVersion: NACOS_2_0_0
instanceCount: 3
netType: privatenet
pubNetworkFlow: '1'
connectionType: slb
clusterAliasName: terraform-example
mseVersion: mse_pro
vswitchId: ${exampleSwitch.id}
vpcId: ${exampleNetwork.id}
variables:
# Create resource
example:
fn::invoke:
function: alicloud:getZones
arguments:
availableResourceCreation: VSwitch
# Declare the data source
exampleGetClusters:
fn::invoke:
function: alicloud:mse:getClusters
arguments:
enableDetails: 'true'
ids:
- ${exampleCluster.id}
status: INIT_SUCCESS
nameRegex: ${exampleCluster.clusterAliasName}
outputs:
instanceId: ${exampleGetClusters.clusters[0].id}
Return
A collection of values returned by getClusters.
Parameters
A collection of arguments for invoking getClusters.
Return
A collection of values returned by getClusters.
Parameters
The alias name of MSE Cluster.
Default to false
. Set it to true
can output more details about resource attributes.
A list of MSE Cluster ids. It is formatted to <instance_id>
A regex string to filter the results by the cluster alias name.
File name where to save data source results (after running pulumi preview
).
The extended request parameters. The JSON format is supported.
The status of MSE Cluster. Valid: DESTROY_FAILED
, DESTROY_ING
, DESTROY_SUCCESS
, INIT_FAILED
, INIT_ING
, INIT_SUCCESS
, INIT_TIME_OUT
, RESTART_FAILED
, RESTART_ING
, RESTART_SUCCESS
, SCALE_FAILED
, SCALE_ING
, SCALE_SUCCESS
See also
Return
A collection of values returned by getClusters.
Parameters
Builder for com.pulumi.alicloud.mse.kotlin.inputs.GetClustersPlainArgs.