We recommend new projects start with resources from the AWS provider.
aws-native.supportapp.SlackChannelConfiguration
Explore with Pulumi AI
We recommend new projects start with resources from the AWS provider.
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,
    });
});
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
	})
}
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,
});
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)
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,
    });
});
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
	})
}
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,
});
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)
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 string
- The unique name of the resource.
- args SlackChannelConfigurationArgs
- 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 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 string
- The unique name of the resource.
- args SlackChannelConfigurationArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SlackChannelConfigurationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args 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 string
- The channel ID in Slack, which identifies a channel within a workspace.
- ChannelRole stringArn 
- The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
- NotifyOn Pulumi.Case Severity Aws Native. Support App. Slack Channel Configuration Notify On Case Severity 
- The severity level of a support case that a customer wants to get notified for.
- TeamId string
- The team ID in Slack, which uniquely identifies a workspace.
- ChannelName string
- The channel name in Slack.
- NotifyOn boolAdd Correspondence To Case 
- Whether to notify when a correspondence is added to a case.
- NotifyOn boolCreate Or Reopen Case 
- Whether to notify when a case is created or reopened.
- NotifyOn boolResolve Case 
- Whether to notify when a case is resolved.
- ChannelId string
- The channel ID in Slack, which identifies a channel within a workspace.
- ChannelRole stringArn 
- The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
- NotifyOn SlackCase Severity Channel Configuration Notify On Case Severity 
- The severity level of a support case that a customer wants to get notified for.
- TeamId string
- The team ID in Slack, which uniquely identifies a workspace.
- ChannelName string
- The channel name in Slack.
- NotifyOn boolAdd Correspondence To Case 
- Whether to notify when a correspondence is added to a case.
- NotifyOn boolCreate Or Reopen Case 
- Whether to notify when a case is created or reopened.
- NotifyOn boolResolve Case 
- Whether to notify when a case is resolved.
- channelId String
- The channel ID in Slack, which identifies a channel within a workspace.
- channelRole StringArn 
- The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
- notifyOn SlackCase Severity Channel Configuration Notify On Case Severity 
- The severity level of a support case that a customer wants to get notified for.
- teamId String
- The team ID in Slack, which uniquely identifies a workspace.
- channelName String
- The channel name in Slack.
- notifyOn BooleanAdd Correspondence To Case 
- Whether to notify when a correspondence is added to a case.
- notifyOn BooleanCreate Or Reopen Case 
- Whether to notify when a case is created or reopened.
- notifyOn BooleanResolve Case 
- Whether to notify when a case is resolved.
- channelId string
- The channel ID in Slack, which identifies a channel within a workspace.
- channelRole stringArn 
- The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
- notifyOn SlackCase Severity Channel Configuration Notify On Case Severity 
- The severity level of a support case that a customer wants to get notified for.
- teamId string
- The team ID in Slack, which uniquely identifies a workspace.
- channelName string
- The channel name in Slack.
- notifyOn booleanAdd Correspondence To Case 
- Whether to notify when a correspondence is added to a case.
- notifyOn booleanCreate Or Reopen Case 
- Whether to notify when a case is created or reopened.
- notifyOn booleanResolve Case 
- Whether to notify when a case is resolved.
- channel_id str
- The channel ID in Slack, which identifies a channel within a workspace.
- channel_role_ strarn 
- The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
- notify_on_ Slackcase_ severity Channel Configuration Notify On Case Severity 
- The severity level of a support case that a customer wants to get notified for.
- team_id str
- The team ID in Slack, which uniquely identifies a workspace.
- channel_name str
- The channel name in Slack.
- notify_on_ booladd_ correspondence_ to_ case 
- Whether to notify when a correspondence is added to a case.
- notify_on_ boolcreate_ or_ reopen_ case 
- Whether to notify when a case is created or reopened.
- notify_on_ boolresolve_ case 
- Whether to notify when a case is resolved.
- channelId String
- The channel ID in Slack, which identifies a channel within a workspace.
- channelRole StringArn 
- The Amazon Resource Name (ARN) of an IAM role that grants the AWS Support App access to perform operations for AWS services.
- notifyOn "none" | "all" | "high"Case Severity 
- The severity level of a support case that a customer wants to get notified for.
- teamId String
- The team ID in Slack, which uniquely identifies a workspace.
- channelName String
- The channel name in Slack.
- notifyOn BooleanAdd Correspondence To Case 
- Whether to notify when a correspondence is added to a case.
- notifyOn BooleanCreate Or Reopen Case 
- Whether to notify when a case is created or reopened.
- notifyOn BooleanResolve Case 
- 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
- SlackChannel Configuration Notify On Case Severity None 
- none
- SlackChannel Configuration Notify On Case Severity All 
- all
- SlackChannel Configuration Notify On Case Severity High 
- 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.