1. Packages
  2. AWS Cloud Control
  3. API Docs
  4. supportapp
  5. SlackChannelConfiguration

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

aws-native.supportapp.SlackChannelConfiguration

Explore with Pulumi AI

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi

An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations.

Example Usage

Example

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var awsSupportSlackAppCFNRole = new AwsNative.Iam.Role("awsSupportSlackAppCFNRole", new()
    {
        AssumeRolePolicyDocument = new Dictionary<string, object?>
        {
            ["version"] = "2012-10-17",
            ["statement"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["effect"] = "Allow",
                    ["principal"] = new Dictionary<string, object?>
                    {
                        ["service"] = new[]
                        {
                            "supportapp.amazonaws.com",
                        },
                    },
                    ["action"] = new[]
                    {
                        "sts:AssumeRole",
                    },
                },
            },
        },
        ManagedPolicyArns = new[]
        {
            "arn:aws:iam::aws:policy/AWSSupportAppFullAccess",
        },
    });

    var slackChannelConfiguration = new AwsNative.SupportApp.SlackChannelConfiguration("slackChannelConfiguration", new()
    {
        TeamId = "T012ABCDEFG",
        ChannelId = "C01234A5BCD",
        ChannelName = "cloudformationtemplatechannel",
        NotifyOnCreateOrReopenCase = true,
        NotifyOnAddCorrespondenceToCase = false,
        NotifyOnResolveCase = true,
        NotifyOnCaseSeverity = AwsNative.SupportApp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
        ChannelRoleArn = awsSupportSlackAppCFNRole.Arn,
    });

});
Copy
package main

import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/iam"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/supportapp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsSupportSlackAppCFNRole, err := iam.NewRole(ctx, "awsSupportSlackAppCFNRole", &iam.RoleArgs{
			AssumeRolePolicyDocument: pulumi.Any(map[string]interface{}{
				"version": "2012-10-17",
				"statement": []map[string]interface{}{
					map[string]interface{}{
						"effect": "Allow",
						"principal": map[string]interface{}{
							"service": []string{
								"supportapp.amazonaws.com",
							},
						},
						"action": []string{
							"sts:AssumeRole",
						},
					},
				},
			}),
			ManagedPolicyArns: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws:policy/AWSSupportAppFullAccess"),
			},
		})
		if err != nil {
			return err
		}
		_, err = supportapp.NewSlackChannelConfiguration(ctx, "slackChannelConfiguration", &supportapp.SlackChannelConfigurationArgs{
			TeamId:                          pulumi.String("T012ABCDEFG"),
			ChannelId:                       pulumi.String("C01234A5BCD"),
			ChannelName:                     pulumi.String("cloudformationtemplatechannel"),
			NotifyOnCreateOrReopenCase:      pulumi.Bool(true),
			NotifyOnAddCorrespondenceToCase: pulumi.Bool(false),
			NotifyOnResolveCase:             pulumi.Bool(true),
			NotifyOnCaseSeverity:            supportapp.SlackChannelConfigurationNotifyOnCaseSeverityHigh,
			ChannelRoleArn:                  awsSupportSlackAppCFNRole.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const awsSupportSlackAppCFNRole = new aws_native.iam.Role("awsSupportSlackAppCFNRole", {
    assumeRolePolicyDocument: {
        version: "2012-10-17",
        statement: [{
            effect: "Allow",
            principal: {
                service: ["supportapp.amazonaws.com"],
            },
            action: ["sts:AssumeRole"],
        }],
    },
    managedPolicyArns: ["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"],
});
const slackChannelConfiguration = new aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration", {
    teamId: "T012ABCDEFG",
    channelId: "C01234A5BCD",
    channelName: "cloudformationtemplatechannel",
    notifyOnCreateOrReopenCase: true,
    notifyOnAddCorrespondenceToCase: false,
    notifyOnResolveCase: true,
    notifyOnCaseSeverity: aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
    channelRoleArn: awsSupportSlackAppCFNRole.arn,
});
Copy
import pulumi
import pulumi_aws_native as aws_native

aws_support_slack_app_cfn_role = aws_native.iam.Role("awsSupportSlackAppCFNRole",
    assume_role_policy_document={
        "version": "2012-10-17",
        "statement": [{
            "effect": "Allow",
            "principal": {
                "service": ["supportapp.amazonaws.com"],
            },
            "action": ["sts:AssumeRole"],
        }],
    },
    managed_policy_arns=["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"])
slack_channel_configuration = aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration",
    team_id="T012ABCDEFG",
    channel_id="C01234A5BCD",
    channel_name="cloudformationtemplatechannel",
    notify_on_create_or_reopen_case=True,
    notify_on_add_correspondence_to_case=False,
    notify_on_resolve_case=True,
    notify_on_case_severity=aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.HIGH,
    channel_role_arn=aws_support_slack_app_cfn_role.arn)
Copy

Coming soon!

Example

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AwsNative = Pulumi.AwsNative;

return await Deployment.RunAsync(() => 
{
    var awsSupportSlackAppCFNRole = new AwsNative.Iam.Role("awsSupportSlackAppCFNRole", new()
    {
        AssumeRolePolicyDocument = new Dictionary<string, object?>
        {
            ["version"] = "2012-10-17",
            ["statement"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["effect"] = "Allow",
                    ["principal"] = new Dictionary<string, object?>
                    {
                        ["service"] = new[]
                        {
                            "supportapp.amazonaws.com",
                        },
                    },
                    ["action"] = new[]
                    {
                        "sts:AssumeRole",
                    },
                },
            },
        },
        ManagedPolicyArns = new[]
        {
            "arn:aws:iam::aws:policy/AWSSupportAppFullAccess",
        },
    });

    var slackChannelConfiguration = new AwsNative.SupportApp.SlackChannelConfiguration("slackChannelConfiguration", new()
    {
        TeamId = "T012ABCDEFG",
        ChannelId = "C01234A5BCD",
        ChannelName = "cfntemplatechannel",
        NotifyOnCreateOrReopenCase = true,
        NotifyOnAddCorrespondenceToCase = false,
        NotifyOnResolveCase = true,
        NotifyOnCaseSeverity = AwsNative.SupportApp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
        ChannelRoleArn = awsSupportSlackAppCFNRole.Arn,
    });

});
Copy
package main

import (
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/iam"
	"github.com/pulumi/pulumi-aws-native/sdk/go/aws/supportapp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		awsSupportSlackAppCFNRole, err := iam.NewRole(ctx, "awsSupportSlackAppCFNRole", &iam.RoleArgs{
			AssumeRolePolicyDocument: pulumi.Any(map[string]interface{}{
				"version": "2012-10-17",
				"statement": []map[string]interface{}{
					map[string]interface{}{
						"effect": "Allow",
						"principal": map[string]interface{}{
							"service": []string{
								"supportapp.amazonaws.com",
							},
						},
						"action": []string{
							"sts:AssumeRole",
						},
					},
				},
			}),
			ManagedPolicyArns: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws:policy/AWSSupportAppFullAccess"),
			},
		})
		if err != nil {
			return err
		}
		_, err = supportapp.NewSlackChannelConfiguration(ctx, "slackChannelConfiguration", &supportapp.SlackChannelConfigurationArgs{
			TeamId:                          pulumi.String("T012ABCDEFG"),
			ChannelId:                       pulumi.String("C01234A5BCD"),
			ChannelName:                     pulumi.String("cfntemplatechannel"),
			NotifyOnCreateOrReopenCase:      pulumi.Bool(true),
			NotifyOnAddCorrespondenceToCase: pulumi.Bool(false),
			NotifyOnResolveCase:             pulumi.Bool(true),
			NotifyOnCaseSeverity:            supportapp.SlackChannelConfigurationNotifyOnCaseSeverityHigh,
			ChannelRoleArn:                  awsSupportSlackAppCFNRole.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as aws_native from "@pulumi/aws-native";

const awsSupportSlackAppCFNRole = new aws_native.iam.Role("awsSupportSlackAppCFNRole", {
    assumeRolePolicyDocument: {
        version: "2012-10-17",
        statement: [{
            effect: "Allow",
            principal: {
                service: ["supportapp.amazonaws.com"],
            },
            action: ["sts:AssumeRole"],
        }],
    },
    managedPolicyArns: ["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"],
});
const slackChannelConfiguration = new aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration", {
    teamId: "T012ABCDEFG",
    channelId: "C01234A5BCD",
    channelName: "cfntemplatechannel",
    notifyOnCreateOrReopenCase: true,
    notifyOnAddCorrespondenceToCase: false,
    notifyOnResolveCase: true,
    notifyOnCaseSeverity: aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.High,
    channelRoleArn: awsSupportSlackAppCFNRole.arn,
});
Copy
import pulumi
import pulumi_aws_native as aws_native

aws_support_slack_app_cfn_role = aws_native.iam.Role("awsSupportSlackAppCFNRole",
    assume_role_policy_document={
        "version": "2012-10-17",
        "statement": [{
            "effect": "Allow",
            "principal": {
                "service": ["supportapp.amazonaws.com"],
            },
            "action": ["sts:AssumeRole"],
        }],
    },
    managed_policy_arns=["arn:aws:iam::aws:policy/AWSSupportAppFullAccess"])
slack_channel_configuration = aws_native.supportapp.SlackChannelConfiguration("slackChannelConfiguration",
    team_id="T012ABCDEFG",
    channel_id="C01234A5BCD",
    channel_name="cfntemplatechannel",
    notify_on_create_or_reopen_case=True,
    notify_on_add_correspondence_to_case=False,
    notify_on_resolve_case=True,
    notify_on_case_severity=aws_native.supportapp.SlackChannelConfigurationNotifyOnCaseSeverity.HIGH,
    channel_role_arn=aws_support_slack_app_cfn_role.arn)
Copy

Coming soon!

Create SlackChannelConfiguration Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new SlackChannelConfiguration(name: string, args: SlackChannelConfigurationArgs, opts?: CustomResourceOptions);
@overload
def SlackChannelConfiguration(resource_name: str,
                              args: SlackChannelConfigurationArgs,
                              opts: Optional[ResourceOptions] = None)

@overload
def SlackChannelConfiguration(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              channel_id: Optional[str] = None,
                              channel_role_arn: Optional[str] = None,
                              notify_on_case_severity: Optional[SlackChannelConfigurationNotifyOnCaseSeverity] = None,
                              team_id: Optional[str] = None,
                              channel_name: Optional[str] = None,
                              notify_on_add_correspondence_to_case: Optional[bool] = None,
                              notify_on_create_or_reopen_case: Optional[bool] = None,
                              notify_on_resolve_case: Optional[bool] = None)
func NewSlackChannelConfiguration(ctx *Context, name string, args SlackChannelConfigurationArgs, opts ...ResourceOption) (*SlackChannelConfiguration, error)
public SlackChannelConfiguration(string name, SlackChannelConfigurationArgs args, CustomResourceOptions? opts = null)
public SlackChannelConfiguration(String name, SlackChannelConfigurationArgs args)
public SlackChannelConfiguration(String name, SlackChannelConfigurationArgs args, CustomResourceOptions options)
type: aws-native:supportapp:SlackChannelConfiguration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

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

SlackChannelConfiguration Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The SlackChannelConfiguration resource accepts the following input properties:

ChannelId This property is required. string
The channel ID in Slack, which identifies a channel within a workspace.
ChannelRoleArn This property is required. string
The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
NotifyOnCaseSeverity This property is required. Pulumi.AwsNative.SupportApp.SlackChannelConfigurationNotifyOnCaseSeverity
The severity level of a support case that a customer wants to get notified for.
TeamId This property is required. string
The team ID in Slack, which uniquely identifies a workspace.
ChannelName string
The channel name in Slack.
NotifyOnAddCorrespondenceToCase bool
Whether to notify when a correspondence is added to a case.
NotifyOnCreateOrReopenCase bool
Whether to notify when a case is created or reopened.
NotifyOnResolveCase bool
Whether to notify when a case is resolved.
ChannelId This property is required. string
The channel ID in Slack, which identifies a channel within a workspace.
ChannelRoleArn This property is required. string
The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
NotifyOnCaseSeverity This property is required. SlackChannelConfigurationNotifyOnCaseSeverity
The severity level of a support case that a customer wants to get notified for.
TeamId This property is required. string
The team ID in Slack, which uniquely identifies a workspace.
ChannelName string
The channel name in Slack.
NotifyOnAddCorrespondenceToCase bool
Whether to notify when a correspondence is added to a case.
NotifyOnCreateOrReopenCase bool
Whether to notify when a case is created or reopened.
NotifyOnResolveCase bool
Whether to notify when a case is resolved.
channelId This property is required. String
The channel ID in Slack, which identifies a channel within a workspace.
channelRoleArn This property is required. String
The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
notifyOnCaseSeverity This property is required. SlackChannelConfigurationNotifyOnCaseSeverity
The severity level of a support case that a customer wants to get notified for.
teamId This property is required. String
The team ID in Slack, which uniquely identifies a workspace.
channelName String
The channel name in Slack.
notifyOnAddCorrespondenceToCase Boolean
Whether to notify when a correspondence is added to a case.
notifyOnCreateOrReopenCase Boolean
Whether to notify when a case is created or reopened.
notifyOnResolveCase Boolean
Whether to notify when a case is resolved.
channelId This property is required. string
The channel ID in Slack, which identifies a channel within a workspace.
channelRoleArn This property is required. string
The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
notifyOnCaseSeverity This property is required. SlackChannelConfigurationNotifyOnCaseSeverity
The severity level of a support case that a customer wants to get notified for.
teamId This property is required. string
The team ID in Slack, which uniquely identifies a workspace.
channelName string
The channel name in Slack.
notifyOnAddCorrespondenceToCase boolean
Whether to notify when a correspondence is added to a case.
notifyOnCreateOrReopenCase boolean
Whether to notify when a case is created or reopened.
notifyOnResolveCase boolean
Whether to notify when a case is resolved.
channel_id This property is required. str
The channel ID in Slack, which identifies a channel within a workspace.
channel_role_arn This property is required. str
The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
notify_on_case_severity This property is required. SlackChannelConfigurationNotifyOnCaseSeverity
The severity level of a support case that a customer wants to get notified for.
team_id This property is required. str
The team ID in Slack, which uniquely identifies a workspace.
channel_name str
The channel name in Slack.
notify_on_add_correspondence_to_case bool
Whether to notify when a correspondence is added to a case.
notify_on_create_or_reopen_case bool
Whether to notify when a case is created or reopened.
notify_on_resolve_case bool
Whether to notify when a case is resolved.
channelId This property is required. String
The channel ID in Slack, which identifies a channel within a workspace.
channelRoleArn This property is required. String
The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
notifyOnCaseSeverity This property is required. "none" | "all" | "high"
The severity level of a support case that a customer wants to get notified for.
teamId This property is required. String
The team ID in Slack, which uniquely identifies a workspace.
channelName String
The channel name in Slack.
notifyOnAddCorrespondenceToCase Boolean
Whether to notify when a correspondence is added to a case.
notifyOnCreateOrReopenCase Boolean
Whether to notify when a case is created or reopened.
notifyOnResolveCase Boolean
Whether to notify when a case is resolved.

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Supporting Types

SlackChannelConfigurationNotifyOnCaseSeverity
, SlackChannelConfigurationNotifyOnCaseSeverityArgs

None
none
All
all
High
high
SlackChannelConfigurationNotifyOnCaseSeverityNone
none
SlackChannelConfigurationNotifyOnCaseSeverityAll
all
SlackChannelConfigurationNotifyOnCaseSeverityHigh
high
None
none
All
all
High
high
None
none
All
all
High
high
NONE
none
ALL
all
HIGH
high
"none"
none
"all"
all
"high"
high

Package Details

Repository
AWS Native pulumi/pulumi-aws-native
License
Apache-2.0

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.27.0 published on Monday, Apr 14, 2025 by Pulumi