AWS::SupportApp::SlackChannelConfiguration - AWS CloudFormation

AWS::SupportApp::SlackChannelConfiguration

You can use the AWS::SupportApp::SlackChannelConfiguration resource to specify your AWS account when you configure the AWS Support App. This resource includes the following information:

  • The Slack channel name and ID

  • The team ID in Slack

  • The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role

  • Whether you want the AWS Support App to notify you when your support cases are created, updated, resolved, or reopened

  • The case severity that you want to get notified for

For more information, see the following topics in the AWS Support User Guide:

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::SupportApp::SlackChannelConfiguration", "Properties" : { "ChannelId" : String, "ChannelName" : String, "ChannelRoleArn" : String, "NotifyOnAddCorrespondenceToCase" : Boolean, "NotifyOnCaseSeverity" : String, "NotifyOnCreateOrReopenCase" : Boolean, "NotifyOnResolveCase" : Boolean, "TeamId" : String } }

YAML

Type: AWS::SupportApp::SlackChannelConfiguration Properties: ChannelId: String ChannelName: String ChannelRoleArn: String NotifyOnAddCorrespondenceToCase: Boolean NotifyOnCaseSeverity: String NotifyOnCreateOrReopenCase: Boolean NotifyOnResolveCase: Boolean TeamId: String

Properties

ChannelId

The channel ID in Slack. This ID identifies a channel within a Slack workspace.

Required: Yes

Type: String

Pattern: ^\S+$

Minimum: 1

Maximum: 256

Update requires: Replacement

ChannelName

The channel name in Slack. This is the channel where you invite the AWS Support App.

Required: No

Type: String

Pattern: ^.+$

Minimum: 1

Maximum: 256

Update requires: No interruption

ChannelRoleArn

The Amazon Resource Name (ARN) of the IAM role for this Slack channel configuration. The AWS Support App uses this role to perform AWS Support and Service Quotas actions on your behalf.

Required: Yes

Type: String

Pattern: ^arn:aws[-a-z0-9]*:iam::[0-9]{12}:role\/(.+)$

Minimum: 31

Maximum: 2048

Update requires: No interruption

NotifyOnAddCorrespondenceToCase

Whether to get notified when a correspondence is added to your support cases.

Required: No

Type: Boolean

Update requires: No interruption

NotifyOnCaseSeverity

The case severity for your support cases that you want to receive notifications. You can specify none, all, or high.

Required: Yes

Type: String

Allowed values: none | all | high

Update requires: No interruption

NotifyOnCreateOrReopenCase

Whether to get notified when your support cases are created or reopened

Required: No

Type: Boolean

Update requires: No interruption

NotifyOnResolveCase

Whether to get notified when your support cases are resolved.

Required: No

Type: Boolean

Update requires: No interruption

TeamId

The team ID in Slack. This ID uniquely identifies a Slack workspace.

Required: Yes

Type: String

Pattern: ^\S+$

Minimum: 1

Maximum: 256

Update requires: Replacement

Examples

The following examples can help you create AWS Support App resources using CloudFormation.

Example

Use this template to create a Slack channel configuration and IAM role for your account or your organization. You must replace the Slack workspace and channel IDs.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Example stack to create a Slack channel configuration", "Resources": { "SlackChannelConfiguration": { "Type": "AWS::SupportApp::SlackChannelConfiguration", "Properties": { "TeamId": "T012ABCDEFG", "ChannelId": "C01234A5BCD", "ChannelName": "cloudformationtemplatechannel", "NotifyOnCreateOrReopenCase": true, "NotifyOnAddCorrespondenceToCase": false, "NotifyOnResolveCase": true, "NotifyOnCaseSeverity": "high", "ChannelRoleArn": {"Fn::GetAtt" : ["AWSSupportSlackAppCFNRole", "Arn"] } } }, "AWSSupportSlackAppCFNRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "supportapp.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "ManagedPolicyArns": [ "arn:aws:iam::aws:policy/AWSSupportAppFullAccess" ] } } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Description: Example stack to create a Slack channel configuration Resources: SlackChannelConfiguration: Type: AWS::SupportApp::SlackChannelConfiguration Properties: TeamId: T012ABCDEFG ChannelId: C01234A5BCD ChannelName: cfntemplatechannel NotifyOnCreateOrReopenCase: true NotifyOnAddCorrespondenceToCase: false NotifyOnResolveCase: true NotifyOnCaseSeverity: high ChannelRoleArn: !GetAtt 'AWSSupportSlackAppCFNRole.Arn' AWSSupportSlackAppCFNRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - supportapp.amazonaws.com Action: - sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/AWSSupportAppFullAccess