Slack

v0.2.2 published on Friday, Aug 19, 2022 by Pulumi

Conversation

Manages a Slack channel

Required scopes

This resource requires the following scopes:

The Slack API methods used by the resource are:

If you get missing_scope errors while using this resource check the scopes against the documentation for the methods above.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Slack = Pulumi.Slack;

return await Deployment.RunAsync(() => 
{
    var test = new Slack.Conversation("test", new()
    {
        IsPrivate = true,
        PermanentMembers = new[] {},
        Topic = "The topic for my channel",
    });

});
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.NewConversation(ctx, "test", &slack.ConversationArgs{
			IsPrivate:        pulumi.Bool(true),
			PermanentMembers: pulumi.StringArray{},
			Topic:            pulumi.String("The topic for my channel"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
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 test = new Conversation("test", ConversationArgs.builder()        
            .isPrivate(true)
            .permanentMembers()
            .topic("The topic for my channel")
            .build());

    }
}
import pulumi
import pulumi_slack as slack

test = slack.Conversation("test",
    is_private=True,
    permanent_members=[],
    topic="The topic for my channel")
import * as pulumi from "@pulumi/pulumi";
import * as slack from "@pulumi/slack";

const test = new slack.Conversation("test", {
    isPrivate: true,
    permanentMembers: [],
    topic: "The topic for my channel",
});
resources:
  test:
    type: slack:Conversation
    properties:
      isPrivate: true
      permanentMembers: []
      topic: The topic for my channel

Create a Conversation Resource

new Conversation(name: string, args: ConversationArgs, opts?: CustomResourceOptions);
@overload
def Conversation(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 action_on_destroy: Optional[str] = None,
                 action_on_update_permanent_members: Optional[str] = None,
                 is_archived: Optional[bool] = None,
                 is_private: Optional[bool] = None,
                 name: Optional[str] = None,
                 permanent_members: Optional[Sequence[str]] = None,
                 purpose: Optional[str] = None,
                 topic: Optional[str] = None)
@overload
def Conversation(resource_name: str,
                 args: ConversationArgs,
                 opts: Optional[ResourceOptions] = None)
func NewConversation(ctx *Context, name string, args ConversationArgs, opts ...ResourceOption) (*Conversation, error)
public Conversation(string name, ConversationArgs args, CustomResourceOptions? opts = null)
public Conversation(String name, ConversationArgs args)
public Conversation(String name, ConversationArgs args, CustomResourceOptions options)
type: slack:Conversation
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ConversationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ConversationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ConversationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ConversationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ConversationArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Conversation Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Conversation resource accepts the following input properties:

IsPrivate bool

create a private channel instead of a public one.

ActionOnDestroy string

Either of none or archive

ActionOnUpdatePermanentMembers string

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

IsArchived bool

indicates a conversation is archived. Frozen in time.

Name string

name of the public or private channel.

PermanentMembers List<string>

user IDs to add to the channel.

Purpose string

purpose of the channel.

Topic string

topic for the channel.

IsPrivate bool

create a private channel instead of a public one.

ActionOnDestroy string

Either of none or archive

ActionOnUpdatePermanentMembers string

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

IsArchived bool

indicates a conversation is archived. Frozen in time.

Name string

name of the public or private channel.

PermanentMembers []string

user IDs to add to the channel.

Purpose string

purpose of the channel.

Topic string

topic for the channel.

isPrivate Boolean

create a private channel instead of a public one.

actionOnDestroy String

Either of none or archive

actionOnUpdatePermanentMembers String

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

isArchived Boolean

indicates a conversation is archived. Frozen in time.

name String

name of the public or private channel.

permanentMembers List<String>

user IDs to add to the channel.

purpose String

purpose of the channel.

topic String

topic for the channel.

isPrivate boolean

create a private channel instead of a public one.

actionOnDestroy string

Either of none or archive

actionOnUpdatePermanentMembers string

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

isArchived boolean

indicates a conversation is archived. Frozen in time.

name string

name of the public or private channel.

permanentMembers string[]

user IDs to add to the channel.

purpose string

purpose of the channel.

topic string

topic for the channel.

is_private bool

create a private channel instead of a public one.

action_on_destroy str

Either of none or archive

action_on_update_permanent_members str

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

is_archived bool

indicates a conversation is archived. Frozen in time.

name str

name of the public or private channel.

permanent_members Sequence[str]

user IDs to add to the channel.

purpose str

purpose of the channel.

topic str

topic for the channel.

isPrivate Boolean

create a private channel instead of a public one.

actionOnDestroy String

Either of none or archive

actionOnUpdatePermanentMembers String

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

isArchived Boolean

indicates a conversation is archived. Frozen in time.

name String

name of the public or private channel.

permanentMembers List<String>

user IDs to add to the channel.

purpose String

purpose of the channel.

topic String

topic for the channel.

Outputs

All input properties are implicitly available as output properties. Additionally, the Conversation resource produces the following output properties:

Created int

is a unix timestamp.

Creator string

is the user ID of the member that created this channel.

Id string

The provider-assigned unique ID for this managed resource.

IsExtShared bool

represents this conversation as being part of a Shared Channel with a remote organization.

IsGeneral bool

will be true if this channel is the "general" channel that includes all regular team members.

IsOrgShared bool

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

IsShared bool

means the conversation is in some way shared between multiple workspaces.

Created int

is a unix timestamp.

Creator string

is the user ID of the member that created this channel.

Id string

The provider-assigned unique ID for this managed resource.

IsExtShared bool

represents this conversation as being part of a Shared Channel with a remote organization.

IsGeneral bool

will be true if this channel is the "general" channel that includes all regular team members.

IsOrgShared bool

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

IsShared bool

means the conversation is in some way shared between multiple workspaces.

created Integer

is a unix timestamp.

creator String

is the user ID of the member that created this channel.

id String

The provider-assigned unique ID for this managed resource.

isExtShared Boolean

represents this conversation as being part of a Shared Channel with a remote organization.

isGeneral Boolean

will be true if this channel is the "general" channel that includes all regular team members.

isOrgShared Boolean

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

isShared Boolean

means the conversation is in some way shared between multiple workspaces.

created number

is a unix timestamp.

creator string

is the user ID of the member that created this channel.

id string

The provider-assigned unique ID for this managed resource.

isExtShared boolean

represents this conversation as being part of a Shared Channel with a remote organization.

isGeneral boolean

will be true if this channel is the "general" channel that includes all regular team members.

isOrgShared boolean

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

isShared boolean

means the conversation is in some way shared between multiple workspaces.

created int

is a unix timestamp.

creator str

is the user ID of the member that created this channel.

id str

The provider-assigned unique ID for this managed resource.

is_ext_shared bool

represents this conversation as being part of a Shared Channel with a remote organization.

is_general bool

will be true if this channel is the "general" channel that includes all regular team members.

is_org_shared bool

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

is_shared bool

means the conversation is in some way shared between multiple workspaces.

created Number

is a unix timestamp.

creator String

is the user ID of the member that created this channel.

id String

The provider-assigned unique ID for this managed resource.

isExtShared Boolean

represents this conversation as being part of a Shared Channel with a remote organization.

isGeneral Boolean

will be true if this channel is the "general" channel that includes all regular team members.

isOrgShared Boolean

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

isShared Boolean

means the conversation is in some way shared between multiple workspaces.

Look up an Existing Conversation Resource

Get an existing Conversation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ConversationState, opts?: CustomResourceOptions): Conversation
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        action_on_destroy: Optional[str] = None,
        action_on_update_permanent_members: Optional[str] = None,
        created: Optional[int] = None,
        creator: Optional[str] = None,
        is_archived: Optional[bool] = None,
        is_ext_shared: Optional[bool] = None,
        is_general: Optional[bool] = None,
        is_org_shared: Optional[bool] = None,
        is_private: Optional[bool] = None,
        is_shared: Optional[bool] = None,
        name: Optional[str] = None,
        permanent_members: Optional[Sequence[str]] = None,
        purpose: Optional[str] = None,
        topic: Optional[str] = None) -> Conversation
func GetConversation(ctx *Context, name string, id IDInput, state *ConversationState, opts ...ResourceOption) (*Conversation, error)
public static Conversation Get(string name, Input<string> id, ConversationState? state, CustomResourceOptions? opts = null)
public static Conversation get(String name, Output<String> id, ConversationState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ActionOnDestroy string

Either of none or archive

ActionOnUpdatePermanentMembers string

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

Created int

is a unix timestamp.

Creator string

is the user ID of the member that created this channel.

IsArchived bool

indicates a conversation is archived. Frozen in time.

IsExtShared bool

represents this conversation as being part of a Shared Channel with a remote organization.

IsGeneral bool

will be true if this channel is the "general" channel that includes all regular team members.

IsOrgShared bool

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

IsPrivate bool

create a private channel instead of a public one.

IsShared bool

means the conversation is in some way shared between multiple workspaces.

Name string

name of the public or private channel.

PermanentMembers List<string>

user IDs to add to the channel.

Purpose string

purpose of the channel.

Topic string

topic for the channel.

ActionOnDestroy string

Either of none or archive

ActionOnUpdatePermanentMembers string

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

Created int

is a unix timestamp.

Creator string

is the user ID of the member that created this channel.

IsArchived bool

indicates a conversation is archived. Frozen in time.

IsExtShared bool

represents this conversation as being part of a Shared Channel with a remote organization.

IsGeneral bool

will be true if this channel is the "general" channel that includes all regular team members.

IsOrgShared bool

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

IsPrivate bool

create a private channel instead of a public one.

IsShared bool

means the conversation is in some way shared between multiple workspaces.

Name string

name of the public or private channel.

PermanentMembers []string

user IDs to add to the channel.

Purpose string

purpose of the channel.

Topic string

topic for the channel.

actionOnDestroy String

Either of none or archive

actionOnUpdatePermanentMembers String

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

created Integer

is a unix timestamp.

creator String

is the user ID of the member that created this channel.

isArchived Boolean

indicates a conversation is archived. Frozen in time.

isExtShared Boolean

represents this conversation as being part of a Shared Channel with a remote organization.

isGeneral Boolean

will be true if this channel is the "general" channel that includes all regular team members.

isOrgShared Boolean

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

isPrivate Boolean

create a private channel instead of a public one.

isShared Boolean

means the conversation is in some way shared between multiple workspaces.

name String

name of the public or private channel.

permanentMembers List<String>

user IDs to add to the channel.

purpose String

purpose of the channel.

topic String

topic for the channel.

actionOnDestroy string

Either of none or archive

actionOnUpdatePermanentMembers string

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

created number

is a unix timestamp.

creator string

is the user ID of the member that created this channel.

isArchived boolean

indicates a conversation is archived. Frozen in time.

isExtShared boolean

represents this conversation as being part of a Shared Channel with a remote organization.

isGeneral boolean

will be true if this channel is the "general" channel that includes all regular team members.

isOrgShared boolean

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

isPrivate boolean

create a private channel instead of a public one.

isShared boolean

means the conversation is in some way shared between multiple workspaces.

name string

name of the public or private channel.

permanentMembers string[]

user IDs to add to the channel.

purpose string

purpose of the channel.

topic string

topic for the channel.

action_on_destroy str

Either of none or archive

action_on_update_permanent_members str

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

created int

is a unix timestamp.

creator str

is the user ID of the member that created this channel.

is_archived bool

indicates a conversation is archived. Frozen in time.

is_ext_shared bool

represents this conversation as being part of a Shared Channel with a remote organization.

is_general bool

will be true if this channel is the "general" channel that includes all regular team members.

is_org_shared bool

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

is_private bool

create a private channel instead of a public one.

is_shared bool

means the conversation is in some way shared between multiple workspaces.

name str

name of the public or private channel.

permanent_members Sequence[str]

user IDs to add to the channel.

purpose str

purpose of the channel.

topic str

topic for the channel.

actionOnDestroy String

Either of none or archive

actionOnUpdatePermanentMembers String

indicate whether the members should be kick of the channel when removed from permanent_members. When set to none the user are never kicked, this prevent a side effect on public channels where user that joined the channel are kicked.

created Number

is a unix timestamp.

creator String

is the user ID of the member that created this channel.

isArchived Boolean

indicates a conversation is archived. Frozen in time.

isExtShared Boolean

represents this conversation as being part of a Shared Channel with a remote organization.

isGeneral Boolean

will be true if this channel is the "general" channel that includes all regular team members.

isOrgShared Boolean

explains whether this shared channel is shared between Enterprise Grid workspaces within the same organization.

isPrivate Boolean

create a private channel instead of a public one.

isShared Boolean

means the conversation is in some way shared between multiple workspaces.

name String

name of the public or private channel.

permanentMembers List<String>

user IDs to add to the channel.

purpose String

purpose of the channel.

topic String

topic for the channel.

Import

slack_conversation can be imported using the ID of the conversation/channel, e.g.

 $ pulumi import slack:index/conversation:Conversation my_conversation C023X7QTFHQ

Package Details

Repository
https://github.com/pulumi/pulumi-slack
License
Apache-2.0
Notes

This Pulumi package is based on the slack Terraform Provider.