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
, orhigh
.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