getInstances

This data source provides a list of ONS Instances in an Alibaba Cloud account according to the specified filters.

NOTE: Available in 1.52.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "onsInstanceDatasourceName";
const _default = new alicloud.rocketmq.Instance("default", {
name: name,
remark: "default_ons_instance_remark",
});
const instancesDs = alicloud.rocketmq.getInstancesOutput({
ids: [_default.id],
nameRegex: _default.name,
outputFile: "instances.txt",
});
export const firstInstanceId = instancesDs.apply(instancesDs => instancesDs.instances?.[0]?.instanceId);
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "onsInstanceDatasourceName"
default = alicloud.rocketmq.Instance("default",
name=name,
remark="default_ons_instance_remark")
instances_ds = alicloud.rocketmq.get_instances_output(ids=[default.id],
name_regex=default.name,
output_file="instances.txt")
pulumi.export("firstInstanceId", instances_ds.instances[0].instance_id)
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") ?? "onsInstanceDatasourceName";
var @default = new AliCloud.RocketMQ.Instance("default", new()
{
Name = name,
Remark = "default_ons_instance_remark",
});
var instancesDs = AliCloud.RocketMQ.GetInstances.Invoke(new()
{
Ids = new[]
{
@default.Id,
},
NameRegex = @default.Name,
OutputFile = "instances.txt",
});
return new Dictionary<string, object?>
{
["firstInstanceId"] = instancesDs&#46;Apply(getInstancesResult => getInstancesResult&#46;Instances[0]?.InstanceId),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/rocketmq"
"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 := "onsInstanceDatasourceName"
if param := cfg.Get("name"); param != "" {
name = param
}
_default, err := rocketmq.NewInstance(ctx, "default", &rocketmq.InstanceArgs{
Name: pulumi.String(name),
Remark: pulumi.String("default_ons_instance_remark"),
})
if err != nil {
return err
}
instancesDs := rocketmq.GetInstancesOutput(ctx, rocketmq.GetInstancesOutputArgs{
Ids: pulumi.StringArray{
_default.ID(),
},
NameRegex: _default.Name,
OutputFile: pulumi.String("instances.txt"),
}, nil)
ctx.Export("firstInstanceId", instancesDs.ApplyT(func(instancesDs rocketmq.GetInstancesResult) (*string, error) {
return &instancesDs.Instances[0].InstanceId, 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.rocketmq.Instance;
import com.pulumi.alicloud.rocketmq.InstanceArgs;
import com.pulumi.alicloud.rocketmq.RocketmqFunctions;
import com.pulumi.alicloud.rocketmq.inputs.GetInstancesArgs;
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("onsInstanceDatasourceName");
var default_ = new Instance("default", InstanceArgs.builder()
.name(name)
.remark("default_ons_instance_remark")
.build());
final var instancesDs = RocketmqFunctions.getInstances(GetInstancesArgs.builder()
.ids(default_.id())
.nameRegex(default_.name())
.outputFile("instances.txt")
.build());
ctx.export("firstInstanceId", instancesDs.applyValue(getInstancesResult -> getInstancesResult).applyValue(instancesDs -> instancesDs.applyValue(getInstancesResult -> getInstancesResult.instances()[0].instanceId())));
}
}
configuration:
name:
type: string
default: onsInstanceDatasourceName
resources:
default:
type: alicloud:rocketmq:Instance
properties:
name: ${name}
remark: default_ons_instance_remark
variables:
instancesDs:
fn::invoke:
function: alicloud:rocketmq:getInstances
arguments:
ids:
- ${default.id}
nameRegex: ${default.name}
outputFile: instances.txt
outputs:
firstInstanceId: ${instancesDs.instances[0].instanceId}

Return

A collection of values returned by getInstances.

Parameters

argument

A collection of arguments for invoking getInstances.


suspend fun getInstances(enableDetails: Boolean? = null, ids: List<String>? = null, nameRegex: String? = null, outputFile: String? = null, status: Int? = null, tags: Map<String, String>? = null): GetInstancesResult

Return

A collection of values returned by getInstances.

Parameters

enableDetails

Default to false. Set it to true can output more details.

ids

A list of instance IDs to filter results.

nameRegex

A regex string to filter results by the instance name.

outputFile

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

status

The status of Ons instance. Valid values: 0 deploying, 2 arrears, 5 running, 7 upgrading.

tags

A map of tags assigned to the Ons instance.

See also


Return

A collection of values returned by getInstances.

Parameters

argument

Builder for com.pulumi.alicloud.rocketmq.kotlin.inputs.GetInstancesPlainArgs.

See also