getGroups

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

NOTE: Available in 1.53.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") || "onsInstanceName";
const groupName = config.get("groupName") || "GID-onsGroupDatasourceName";
const _default = new alicloud.rocketmq.Instance("default", {
instanceName: name,
remark: "default_ons_instance_remark",
});
const defaultGroup = new alicloud.rocketmq.Group("default", {
groupName: groupName,
instanceId: _default.id,
remark: "dafault_ons_group_remark",
});
const groupsDs = defaultGroup.instanceId.apply(instanceId => alicloud.rocketmq.getGroupsOutput({
instanceId: instanceId,
nameRegex: groupId,
outputFile: "groups.txt",
}));
export const firstGroupName = groupsDs.apply(groupsDs => groupsDs.groups?.[0]?.groupName);
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "onsInstanceName"
group_name = config.get("groupName")
if group_name is None:
group_name = "GID-onsGroupDatasourceName"
default = alicloud.rocketmq.Instance("default",
instance_name=name,
remark="default_ons_instance_remark")
default_group = alicloud.rocketmq.Group("default",
group_name=group_name,
instance_id=default.id,
remark="dafault_ons_group_remark")
groups_ds = default_group.instance_id.apply(lambda instance_id: alicloud.rocketmq.get_groups_output(instance_id=instance_id,
name_regex=group_id,
output_file="groups.txt"))
pulumi.export("firstGroupName", groups_ds.groups[0].group_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") ?? "onsInstanceName";
var groupName = config.Get("groupName") ?? "GID-onsGroupDatasourceName";
var @default = new AliCloud.RocketMQ.Instance("default", new()
{
InstanceName = name,
Remark = "default_ons_instance_remark",
});
var defaultGroup = new AliCloud.RocketMQ.Group("default", new()
{
GroupName = groupName,
InstanceId = @default.Id,
Remark = "dafault_ons_group_remark",
});
var groupsDs = AliCloud.RocketMQ.GetGroups.Invoke(new()
{
InstanceId = defaultGroup.InstanceId,
NameRegex = groupId,
OutputFile = "groups.txt",
});
return new Dictionary<string, object?>
{
["firstGroupName"] = groupsDs&#46;Apply(getGroupsResult => getGroupsResult&#46;Groups[0]?.GroupName),
};
});
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 := "onsInstanceName"
if param := cfg.Get("name"); param != "" {
name = param
}
groupName := "GID-onsGroupDatasourceName"
if param := cfg.Get("groupName"); param != "" {
groupName = param
}
_default, err := rocketmq.NewInstance(ctx, "default", &rocketmq.InstanceArgs{
InstanceName: pulumi.String(name),
Remark: pulumi.String("default_ons_instance_remark"),
})
if err != nil {
return err
}
defaultGroup, err := rocketmq.NewGroup(ctx, "default", &rocketmq.GroupArgs{
GroupName: pulumi.String(groupName),
InstanceId: _default.ID(),
Remark: pulumi.String("dafault_ons_group_remark"),
})
if err != nil {
return err
}
groupsDs := defaultGroup.InstanceId.ApplyT(func(instanceId string) (rocketmq.GetGroupsResult, error) {
return rocketmq.GetGroupsResult(interface{}(rocketmq.GetGroupsOutput(ctx, rocketmq.GetGroupsOutputArgs{
InstanceId: instanceId,
NameRegex: groupId,
OutputFile: "groups.txt",
}, nil))), nil
}).(rocketmq.GetGroupsResultOutput)
ctx.Export("firstGroupName", groupsDs.ApplyT(func(groupsDs rocketmq.GetGroupsResult) (*string, error) {
return &groupsDs.Groups[0].GroupName, 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.Group;
import com.pulumi.alicloud.rocketmq.GroupArgs;
import com.pulumi.alicloud.rocketmq.RocketmqFunctions;
import com.pulumi.alicloud.rocketmq.inputs.GetGroupsArgs;
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("onsInstanceName");
final var groupName = config.get("groupName").orElse("GID-onsGroupDatasourceName");
var default_ = new Instance("default", InstanceArgs.builder()
.instanceName(name)
.remark("default_ons_instance_remark")
.build());
var defaultGroup = new Group("defaultGroup", GroupArgs.builder()
.groupName(groupName)
.instanceId(default_.id())
.remark("dafault_ons_group_remark")
.build());
final var groupsDs = defaultGroup.instanceId().applyValue(_instanceId -> RocketmqFunctions.getGroups(GetGroupsArgs.builder()
.instanceId(_instanceId)
.nameRegex(groupId)
.outputFile("groups.txt")
.build()));
ctx.export("firstGroupName", groupsDs.applyValue(_groupsDs -> _groupsDs.groups()[0].groupName()));
}
}
configuration:
name:
type: string
default: onsInstanceName
groupName:
type: string
default: GID-onsGroupDatasourceName
resources:
default:
type: alicloud:rocketmq:Instance
properties:
instanceName: ${name}
remark: default_ons_instance_remark
defaultGroup:
type: alicloud:rocketmq:Group
name: default
properties:
groupName: ${groupName}
instanceId: ${default.id}
remark: dafault_ons_group_remark
variables:
groupsDs:
fn::invoke:
function: alicloud:rocketmq:getGroups
arguments:
instanceId: ${defaultGroup.instanceId}
nameRegex: ${groupId}
outputFile: groups.txt
outputs:
firstGroupName: ${groupsDs.groups[0].groupName}

Return

A collection of values returned by getGroups.

Parameters

argument

A collection of arguments for invoking getGroups.


suspend fun getGroups(groupIdRegex: String? = null, groupType: String? = null, ids: List<String>? = null, instanceId: String, nameRegex: String? = null, outputFile: String? = null, tags: Map<String, String>? = null): GetGroupsResult

Return

A collection of values returned by getGroups.

Parameters

groupIdRegex

A regex string to filter results by the group name.

groupType

Specify the protocol applicable to the created Group ID. Valid values: tcp, http. Default to tcp.

ids

A list of group names.

instanceId

ID of the ONS Instance that owns the groups.

nameRegex
outputFile

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

tags

A map of tags assigned to the Ons instance.

See also


suspend fun getGroups(argument: suspend GetGroupsPlainArgsBuilder.() -> Unit): GetGroupsResult

Return

A collection of values returned by getGroups.

Parameters

argument

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

See also