

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS Support App
<a name="AWS_SupportApp"></a>

**Resource types**
+ [AWS::SupportApp::AccountAlias](aws-resource-supportapp-accountalias.md)
+ [AWS::SupportApp::SlackChannelConfiguration](aws-resource-supportapp-slackchannelconfiguration.md)
+ [AWS::SupportApp::SlackWorkspaceConfiguration](aws-resource-supportapp-slackworkspaceconfiguration.md)

# AWS::SupportApp::AccountAlias
<a name="aws-resource-supportapp-accountalias"></a>

You can use the `AWS::SupportApp::AccountAlias` resource to specify your AWS account when you configure the AWS Support App in Slack. Your alias name appears on the AWS Support App page in the Support Center Console and in messages from the AWS Support App. You can use this alias to identify the account you've configured with the AWS Support App.

For more information, see [AWS Support App in Slack](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-app-for-slack.html) in the *AWS Support User Guide*.

## Syntax
<a name="aws-resource-supportapp-accountalias-syntax"></a>

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

### JSON
<a name="aws-resource-supportapp-accountalias-syntax.json"></a>

```
{
  "Type" : "AWS::SupportApp::AccountAlias",
  "Properties" : {
      "[AccountAlias](#cfn-supportapp-accountalias-accountalias)" : String
    }
}
```

### YAML
<a name="aws-resource-supportapp-accountalias-syntax.yaml"></a>

```
Type: AWS::SupportApp::AccountAlias
Properties:
  [AccountAlias](#cfn-supportapp-accountalias-accountalias): String
```

## Properties
<a name="aws-resource-supportapp-accountalias-properties"></a>

`AccountAlias`  <a name="cfn-supportapp-accountalias-accountalias"></a>
An alias or short name for an AWS account.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[\w\- ]+$`  
*Minimum*: `1`  
*Maximum*: `30`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-supportapp-accountalias-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-supportapp-accountalias-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-supportapp-accountalias-return-values-fn--getatt-fn--getatt"></a>

`AccountAliasResourceId`  <a name="AccountAliasResourceId-fn::getatt"></a>
The `AccountAlias` resource type has an attribute `AccountAliasResourceId`. You can use this attribute to identify the resource.  
The `AccountAliasResourceId` will be `AccountAlias_for_accountId`. In this example, `AccountAlias_for_` is the prefix and `accountId` is your AWS account number, such as `AccountAlias_for_123456789012`.

# AWS::SupportApp::SlackChannelConfiguration
<a name="aws-resource-supportapp-slackchannelconfiguration"></a>

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*:
+  [AWS Support App in Slack](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-app-for-slack.html) 
+  [Creating AWS Support App in Slack resources with AWS CloudFormation](https://docs.aws.amazon.com/awssupport/latest/user/creating-resources-with-cloudformation.html) 

## Syntax
<a name="aws-resource-supportapp-slackchannelconfiguration-syntax"></a>

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

### JSON
<a name="aws-resource-supportapp-slackchannelconfiguration-syntax.json"></a>

```
{
  "Type" : "AWS::SupportApp::SlackChannelConfiguration",
  "Properties" : {
      "[ChannelId](#cfn-supportapp-slackchannelconfiguration-channelid)" : String,
      "[ChannelName](#cfn-supportapp-slackchannelconfiguration-channelname)" : String,
      "[ChannelRoleArn](#cfn-supportapp-slackchannelconfiguration-channelrolearn)" : String,
      "[NotifyOnAddCorrespondenceToCase](#cfn-supportapp-slackchannelconfiguration-notifyonaddcorrespondencetocase)" : Boolean,
      "[NotifyOnCaseSeverity](#cfn-supportapp-slackchannelconfiguration-notifyoncaseseverity)" : String,
      "[NotifyOnCreateOrReopenCase](#cfn-supportapp-slackchannelconfiguration-notifyoncreateorreopencase)" : Boolean,
      "[NotifyOnResolveCase](#cfn-supportapp-slackchannelconfiguration-notifyonresolvecase)" : Boolean,
      "[TeamId](#cfn-supportapp-slackchannelconfiguration-teamid)" : String
    }
}
```

### YAML
<a name="aws-resource-supportapp-slackchannelconfiguration-syntax.yaml"></a>

```
Type: AWS::SupportApp::SlackChannelConfiguration
Properties:
  [ChannelId](#cfn-supportapp-slackchannelconfiguration-channelid): String
  [ChannelName](#cfn-supportapp-slackchannelconfiguration-channelname): String
  [ChannelRoleArn](#cfn-supportapp-slackchannelconfiguration-channelrolearn): String
  [NotifyOnAddCorrespondenceToCase](#cfn-supportapp-slackchannelconfiguration-notifyonaddcorrespondencetocase): Boolean
  [NotifyOnCaseSeverity](#cfn-supportapp-slackchannelconfiguration-notifyoncaseseverity): String
  [NotifyOnCreateOrReopenCase](#cfn-supportapp-slackchannelconfiguration-notifyoncreateorreopencase): Boolean
  [NotifyOnResolveCase](#cfn-supportapp-slackchannelconfiguration-notifyonresolvecase): Boolean
  [TeamId](#cfn-supportapp-slackchannelconfiguration-teamid): String
```

## Properties
<a name="aws-resource-supportapp-slackchannelconfiguration-properties"></a>

`ChannelId`  <a name="cfn-supportapp-slackchannelconfiguration-channelid"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ChannelName`  <a name="cfn-supportapp-slackchannelconfiguration-channelname"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ChannelRoleArn`  <a name="cfn-supportapp-slackchannelconfiguration-channelrolearn"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotifyOnAddCorrespondenceToCase`  <a name="cfn-supportapp-slackchannelconfiguration-notifyonaddcorrespondencetocase"></a>
Whether to get notified when a correspondence is added to your support cases.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotifyOnCaseSeverity`  <a name="cfn-supportapp-slackchannelconfiguration-notifyoncaseseverity"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotifyOnCreateOrReopenCase`  <a name="cfn-supportapp-slackchannelconfiguration-notifyoncreateorreopencase"></a>
Whether to get notified when your support cases are created or reopened  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NotifyOnResolveCase`  <a name="cfn-supportapp-slackchannelconfiguration-notifyonresolvecase"></a>
Whether to get notified when your support cases are resolved.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TeamId`  <a name="cfn-supportapp-slackchannelconfiguration-teamid"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Examples
<a name="aws-resource-supportapp-slackchannelconfiguration--examples"></a>

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

### Example
<a name="aws-resource-supportapp-slackchannelconfiguration--examples--Example"></a>

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
<a name="aws-resource-supportapp-slackchannelconfiguration--examples--Example--json"></a>

```
{
    "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
<a name="aws-resource-supportapp-slackchannelconfiguration--examples--Example--yaml"></a>

```
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
```

# AWS::SupportApp::SlackWorkspaceConfiguration
<a name="aws-resource-supportapp-slackworkspaceconfiguration"></a>

You can use the `AWS::SupportApp::SlackWorkspaceConfiguration` resource to specify your Slack workspace configuration. This resource configures your AWS account so that you can use the specified Slack workspace in the AWS Support App. This resource includes the following information:
+ The team ID for the Slack workspace
+ The version ID of the resource to use with AWS CloudFormation

For more information, see the following topics in the *AWS Support User Guide*:
+  [AWS Support App in Slack](https://docs.aws.amazon.com/awssupport/latest/user/aws-support-app-for-slack.html) 
+  [Creating AWS Support App in Slack resources with AWS CloudFormation](https://docs.aws.amazon.com/awssupport/latest/user/creating-resources-with-cloudformation.html) 

## Syntax
<a name="aws-resource-supportapp-slackworkspaceconfiguration-syntax"></a>

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

### JSON
<a name="aws-resource-supportapp-slackworkspaceconfiguration-syntax.json"></a>

```
{
  "Type" : "AWS::SupportApp::SlackWorkspaceConfiguration",
  "Properties" : {
      "[TeamId](#cfn-supportapp-slackworkspaceconfiguration-teamid)" : String,
      "[VersionId](#cfn-supportapp-slackworkspaceconfiguration-versionid)" : String
    }
}
```

### YAML
<a name="aws-resource-supportapp-slackworkspaceconfiguration-syntax.yaml"></a>

```
Type: AWS::SupportApp::SlackWorkspaceConfiguration
Properties:
  [TeamId](#cfn-supportapp-slackworkspaceconfiguration-teamid): String
  [VersionId](#cfn-supportapp-slackworkspaceconfiguration-versionid): String
```

## Properties
<a name="aws-resource-supportapp-slackworkspaceconfiguration-properties"></a>

`TeamId`  <a name="cfn-supportapp-slackworkspaceconfiguration-teamid"></a>
The team ID in Slack. This ID uniquely identifies a Slack workspace, such as `T012ABCDEFG`.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^\S+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`VersionId`  <a name="cfn-supportapp-slackworkspaceconfiguration-versionid"></a>
An identifier used to update an existing Slack workspace configuration in AWS CloudFormation, such as `100`.  
*Required*: No  
*Type*: String  
*Pattern*: `^[0-9]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-supportapp-slackworkspaceconfiguration-return-values"></a>

### Ref
<a name="aws-resource-supportapp-slackworkspaceconfiguration-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the ID of the Slack workspace, such as `T012ABCDEFG`.

For the AWS Support App Slack workspace configuration, `Ref` returns the value of the Slack workspace ID.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

## Examples
<a name="aws-resource-supportapp-slackworkspaceconfiguration--examples"></a>

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

### Example
<a name="aws-resource-supportapp-slackworkspaceconfiguration--examples--Example"></a>

Use this template to create a Slack workspace configuration for your account or your organization. You must replace the Slack workspace ID.

#### JSON
<a name="aws-resource-supportapp-slackworkspaceconfiguration--examples--Example--json"></a>

```
{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Example stack to create a Slack workspace configuration",
    "Resources": {
        "SlackWorkspaceConfiguration": {
            "Type": "AWS::SupportApp::SlackWorkspaceConfiguration",
            "Properties": {
                "TeamId": "T012ABCDEFG",
                "VersionId": "1"
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-supportapp-slackworkspaceconfiguration--examples--Example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Example stack to create a Slack workspace configuration
Resources:
  SlackWorkspaceConfiguration:
    Type: AWS::SupportApp::SlackWorkspaceConfiguration
    Properties:
      TeamId: T012ABCDEFG
      VersionId: '1'
```