getClusters

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&#46;Apply(getClustersResult => getClustersResult&#46;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

argument

A collection of arguments for invoking getClusters.


suspend fun getClusters(clusterAliasName: String? = null, enableDetails: Boolean? = null, ids: List<String>? = null, nameRegex: String? = null, outputFile: String? = null, requestPars: String? = null, status: String? = null): GetClustersResult

Return

A collection of values returned by getClusters.

Parameters

clusterAliasName

The alias name of MSE Cluster.

enableDetails

Default to false. Set it to true can output more details about resource attributes.

ids

A list of MSE Cluster ids. It is formatted to <instance_id>

nameRegex

A regex string to filter the results by the cluster alias name.

outputFile

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

requestPars

The extended request parameters. The JSON format is supported.

status

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


suspend fun getClusters(argument: suspend GetClustersPlainArgsBuilder.() -> Unit): GetClustersResult

Return

A collection of values returned by getClusters.

Parameters

argument

Builder for com.pulumi.alicloud.mse.kotlin.inputs.GetClustersPlainArgs.

See also