get Groups
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);
Content copied to clipboard
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)
Content copied to clipboard
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.Apply(getGroupsResult => getGroupsResult.Groups[0]?.GroupName),
};
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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()));
}
}
Content copied to clipboard
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}
Content copied to clipboard
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
group Id Regex
A regex string to filter results by the group name.
group Type
Specify the protocol applicable to the created Group ID. Valid values: tcp
, http
. Default to tcp
.
ids
A list of group names.
instance Id
ID of the ONS Instance that owns the groups.
name Regex
output File
File name where to save data source results (after running pulumi preview
).
tags
A map of tags assigned to the Ons instance.
See also
Return
A collection of values returned by getGroups.
Parameters
argument
Builder for com.pulumi.alicloud.rocketmq.kotlin.inputs.GetGroupsPlainArgs.