Usergroup Args
data class UsergroupArgs(val channels: Output<List<String>>? = null, val description: Output<String>? = null, val handle: Output<String>? = null, val name: Output<String>? = null, val users: Output<List<String>>? = null) : ConvertibleToJava<UsergroupArgs>
Manages a Slack User Group.
Required scopes
This resource requires the following scopes:
usergroups:read The Slack API methods used by the resource are:
usergroups.users.update If you get
missing_scopeerrors while using this resource check the scopes against the documentation for the methods above.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as slack from "@pulumi/slack";
const myGroup = new slack.Usergroup("my_group", {
name: "TestGroup",
handle: "test",
description: "Test user group",
users: ["USER00"],
channels: ["CHANNEL00"],
});Content copied to clipboard
import pulumi
import pulumi_slack as slack
my_group = slack.Usergroup("my_group",
name="TestGroup",
handle="test",
description="Test user group",
users=["USER00"],
channels=["CHANNEL00"])Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Slack = Pulumi.Slack;
return await Deployment.RunAsync(() =>
{
var myGroup = new Slack.Usergroup("my_group", new()
{
Name = "TestGroup",
Handle = "test",
Description = "Test user group",
Users = new[]
{
"USER00",
},
Channels = new[]
{
"CHANNEL00",
},
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-slack/sdk/go/slack"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := slack.NewUsergroup(ctx, "my_group", &slack.UsergroupArgs{
Name: pulumi.String("TestGroup"),
Handle: pulumi.String("test"),
Description: pulumi.String("Test user group"),
Users: pulumi.StringArray{
pulumi.String("USER00"),
},
Channels: pulumi.StringArray{
pulumi.String("CHANNEL00"),
},
})
if err != nil {
return err
}
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.slack.Usergroup;
import com.pulumi.slack.UsergroupArgs;
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) {
var myGroup = new Usergroup("myGroup", UsergroupArgs.builder()
.name("TestGroup")
.handle("test")
.description("Test user group")
.users("USER00")
.channels("CHANNEL00")
.build());
}
}Content copied to clipboard
resources:
myGroup:
type: slack:Usergroup
name: my_group
properties:
name: TestGroup
handle: test
description: Test user group
users:
- USER00
channels:
- CHANNEL00Content copied to clipboard
Note that if a channel is removed from the channels list users are not removed from the channel. In order to keep the users in the groups and in the channel in sync set permanent_users in the channel:
import * as pulumi from "@pulumi/pulumi";
import * as slack from "@pulumi/slack";
const myGroup = new slack.Usergroup("my_group", {
name: "TestGroup",
handle: "test",
description: "Test user group",
users: ["USER00"],
});
const test = new slack.Conversation("test", {
name: "my-channel",
topic: "The topic for my channel",
permanentMembers: myGroup.users,
isPrivate: true,
});Content copied to clipboard
import pulumi
import pulumi_slack as slack
my_group = slack.Usergroup("my_group",
name="TestGroup",
handle="test",
description="Test user group",
users=["USER00"])
test = slack.Conversation("test",
name="my-channel",
topic="The topic for my channel",
permanent_members=my_group.users,
is_private=True)Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Slack = Pulumi.Slack;
return await Deployment.RunAsync(() =>
{
var myGroup = new Slack.Usergroup("my_group", new()
{
Name = "TestGroup",
Handle = "test",
Description = "Test user group",
Users = new[]
{
"USER00",
},
});
var test = new Slack.Conversation("test", new()
{
Name = "my-channel",
Topic = "The topic for my channel",
PermanentMembers = myGroup.Users,
IsPrivate = true,
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-slack/sdk/go/slack"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
myGroup, err := slack.NewUsergroup(ctx, "my_group", &slack.UsergroupArgs{
Name: pulumi.String("TestGroup"),
Handle: pulumi.String("test"),
Description: pulumi.String("Test user group"),
Users: pulumi.StringArray{
pulumi.String("USER00"),
},
})
if err != nil {
return err
}
_, err = slack.NewConversation(ctx, "test", &slack.ConversationArgs{
Name: pulumi.String("my-channel"),
Topic: pulumi.String("The topic for my channel"),
PermanentMembers: myGroup.Users,
IsPrivate: pulumi.Bool(true),
})
if err != nil {
return err
}
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.slack.Usergroup;
import com.pulumi.slack.UsergroupArgs;
import com.pulumi.slack.Conversation;
import com.pulumi.slack.ConversationArgs;
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) {
var myGroup = new Usergroup("myGroup", UsergroupArgs.builder()
.name("TestGroup")
.handle("test")
.description("Test user group")
.users("USER00")
.build());
var test = new Conversation("test", ConversationArgs.builder()
.name("my-channel")
.topic("The topic for my channel")
.permanentMembers(myGroup.users())
.isPrivate(true)
.build());
}
}Content copied to clipboard
resources:
myGroup:
type: slack:Usergroup
name: my_group
properties:
name: TestGroup
handle: test
description: Test user group
users:
- USER00
test:
type: slack:Conversation
properties:
name: my-channel
topic: The topic for my channel
permanentMembers: ${myGroup.users}
isPrivate: trueContent copied to clipboard
Import
slack_usergroup can be imported using the ID of the group, e.g.
$ pulumi import slack:index/usergroup:Usergroup my_group S022GE79E9GContent copied to clipboard