

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).

# Amazon DevOps Guru
<a name="AWS_DevOpsGuru"></a>

**Resource types**
+ [AWS::DevOpsGuru::LogAnomalyDetectionIntegration](aws-resource-devopsguru-loganomalydetectionintegration.md)
+ [AWS::DevOpsGuru::NotificationChannel](aws-resource-devopsguru-notificationchannel.md)
+ [AWS::DevOpsGuru::ResourceCollection](aws-resource-devopsguru-resourcecollection.md)

# AWS::DevOpsGuru::LogAnomalyDetectionIntegration
<a name="aws-resource-devopsguru-loganomalydetectionintegration"></a>

 Information about the integration of DevOps Guru with CloudWatch log groups for log anomaly detection.

## Syntax
<a name="aws-resource-devopsguru-loganomalydetectionintegration-syntax"></a>

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

### JSON
<a name="aws-resource-devopsguru-loganomalydetectionintegration-syntax.json"></a>

```
{
  "Type" : "AWS::DevOpsGuru::LogAnomalyDetectionIntegration"
}
```

### YAML
<a name="aws-resource-devopsguru-loganomalydetectionintegration-syntax.yaml"></a>

```
Type: AWS::DevOpsGuru::LogAnomalyDetectionIntegration
```

## Return values
<a name="aws-resource-devopsguru-loganomalydetectionintegration-return-values"></a>

### Ref
<a name="aws-resource-devopsguru-loganomalydetectionintegration-return-values-ref"></a>

When the logical ID of this resource is provided to the `Ref` intrinsic function, `Ref` returns the user account ID. For more information about using the `Ref` function, see [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). 

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

`Fn::GetAtt` returns a value for a specified attribute of this type. The following are the available attributes and sample return values. For more information about using `Fn::GetAtt`, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html). 

#### 
<a name="aws-resource-devopsguru-loganomalydetectionintegration-return-values-fn--getatt-fn--getatt"></a>

`AccountId`  <a name="AccountId-fn::getatt"></a>
 The account ID associated with the integration of DevOps Guru with CloudWatch log groups for log anomaly detection.

# AWS::DevOpsGuru::NotificationChannel
<a name="aws-resource-devopsguru-notificationchannel"></a>

 Adds a notification channel to DevOps Guru. A notification channel is used to notify you about important DevOps Guru events, such as when an insight is generated. 

If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see [Permissions for Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).

If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see [Permissions for AWS KMS–encrypted Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).

## Syntax
<a name="aws-resource-devopsguru-notificationchannel-syntax"></a>

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

### JSON
<a name="aws-resource-devopsguru-notificationchannel-syntax.json"></a>

```
{
  "Type" : "AWS::DevOpsGuru::NotificationChannel",
  "Properties" : {
      "[Config](#cfn-devopsguru-notificationchannel-config)" : NotificationChannelConfig
    }
}
```

### YAML
<a name="aws-resource-devopsguru-notificationchannel-syntax.yaml"></a>

```
Type: AWS::DevOpsGuru::NotificationChannel
Properties:
  [Config](#cfn-devopsguru-notificationchannel-config): 
    NotificationChannelConfig
```

## Properties
<a name="aws-resource-devopsguru-notificationchannel-properties"></a>

`Config`  <a name="cfn-devopsguru-notificationchannel-config"></a>
 A `NotificationChannelConfig` object that contains information about configured notification channels.   
*Required*: Yes  
*Type*: [NotificationChannelConfig](aws-properties-devopsguru-notificationchannel-notificationchannelconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-devopsguru-notificationchannel-return-values"></a>

### Ref
<a name="aws-resource-devopsguru-notificationchannel-return-values-ref"></a>

When the logical ID of this resource is provided to the `Ref` intrinsic function, `Ref` returns Amazon Resource Name (ARN) of the `NotificationChannel`. For more information about using the `Ref` function, see [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). 

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

`Fn::GetAtt` returns a value for a specified attribute of this type. The following are the available attributes and sample return values. For more information about using `Fn::GetAtt`, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html). 

#### 
<a name="aws-resource-devopsguru-notificationchannel-return-values-fn--getatt-fn--getatt"></a>

`Id`  <a name="Id-fn::getatt"></a>
The ID of the notification channel. 

## Examples
<a name="aws-resource-devopsguru-notificationchannel--examples"></a>

**Topics**
+ [Create one notification channel with filters](#aws-resource-devopsguru-notificationchannel--examples--Create_one_notification_channel_with_filters)
+ [Create two notification channels](#aws-resource-devopsguru-notificationchannel--examples--Create_two_notification_channels)

### Create one notification channel with filters
<a name="aws-resource-devopsguru-notificationchannel--examples--Create_one_notification_channel_with_filters"></a>

#### JSON
<a name="aws-resource-devopsguru-notificationchannel--examples--Create_one_notification_channel_with_filters--json"></a>

```
{
  "Resources": {
    "MyNotificationChannel": {
      "Type": "AWS::DevOpsGuru::NotificationChannel",
      "Properties": {
        "Config": {
	  "Filters": {
	    "MessageTypes": ["NEW_INSIGHT", "CLOSED_INSIGHT", "SEVERITY_UPGRADED"],
	    "Severities": ["MEDIUM", "HIGH"]
	  }
          "Sns": {
            "TopicArn": "arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel"
          }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-devopsguru-notificationchannel--examples--Create_one_notification_channel_with_filters--yaml"></a>

```
Resources:
  MyNotificationChannel:
    Type: AWS::DevOpsGuru::NotificationChannel
    Properties:
      Config:
      Filters:
	  MessageTypes:
	    - NEW_INSIGHT
	    - CLOSED_INSIGHT
	    - SEVERITY_UPGRADED
	  Severities:
	    - MEDIUM
	    - HIGH
        Sns:
          TopicArn: arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel
```

### Create two notification channels
<a name="aws-resource-devopsguru-notificationchannel--examples--Create_two_notification_channels"></a>

#### JSON
<a name="aws-resource-devopsguru-notificationchannel--examples--Create_two_notification_channels--json"></a>

```
{
  "Resources": {
    "MyNotificationChannel1": {
      "Type": "AWS::DevOpsGuru::NotificationChannel",
      "Properties": {
        "Config": {
          "Sns": {
            "TopicArn": "arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel"
          }
        }
      }
    },
    "MyNotificationChannel2": {
      "Type": "AWS::DevOpsGuru::NotificationChannel",
      "Properties": {
        "Config": {
          "Sns": {
            "TopicArn": "arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel2"
          }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-devopsguru-notificationchannel--examples--Create_two_notification_channels--yaml"></a>

```
Resources:
  MyNotificationChannel1:
    Type: AWS::DevOpsGuru::NotificationChannel
    Properties:
      Config:
        Sns:
          TopicArn: arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel
  MyNotificationChannel2:
    Type: AWS::DevOpsGuru::NotificationChannel
    Properties:
      Config:
        Sns:
          TopicArn: arn:aws:sns:us-east-1:123456789012:DefaultNotificationChannel2
```

# AWS::DevOpsGuru::NotificationChannel NotificationChannelConfig
<a name="aws-properties-devopsguru-notificationchannel-notificationchannelconfig"></a>

 Information about notification channels you have configured with DevOps Guru. The one supported notification channel is Amazon Simple Notification Service (Amazon SNS).

## Syntax
<a name="aws-properties-devopsguru-notificationchannel-notificationchannelconfig-syntax"></a>

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

### JSON
<a name="aws-properties-devopsguru-notificationchannel-notificationchannelconfig-syntax.json"></a>

```
{
  "[Filters](#cfn-devopsguru-notificationchannel-notificationchannelconfig-filters)" : NotificationFilterConfig,
  "[Sns](#cfn-devopsguru-notificationchannel-notificationchannelconfig-sns)" : SnsChannelConfig
}
```

### YAML
<a name="aws-properties-devopsguru-notificationchannel-notificationchannelconfig-syntax.yaml"></a>

```
  [Filters](#cfn-devopsguru-notificationchannel-notificationchannelconfig-filters): 
    NotificationFilterConfig
  [Sns](#cfn-devopsguru-notificationchannel-notificationchannelconfig-sns): 
    SnsChannelConfig
```

## Properties
<a name="aws-properties-devopsguru-notificationchannel-notificationchannelconfig-properties"></a>

`Filters`  <a name="cfn-devopsguru-notificationchannel-notificationchannelconfig-filters"></a>
 The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. If you do not provide filter configurations, the default configurations are to receive notifications for all message types of `High` or `Medium` severity.   
*Required*: No  
*Type*: [NotificationFilterConfig](aws-properties-devopsguru-notificationchannel-notificationfilterconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Sns`  <a name="cfn-devopsguru-notificationchannel-notificationchannelconfig-sns"></a>
 Information about a notification channel configured in DevOps Guru to send notifications when insights are created.   
If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see [Permissions for Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).  
If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see [Permissions for AWS KMS–encrypted Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).  
*Required*: No  
*Type*: [SnsChannelConfig](aws-properties-devopsguru-notificationchannel-snschannelconfig.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::DevOpsGuru::NotificationChannel NotificationFilterConfig
<a name="aws-properties-devopsguru-notificationchannel-notificationfilterconfig"></a>

 The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. You can choose to specify which events or message types to receive notifications for. You can also choose to specify which severity levels to receive notifications for. 

## Syntax
<a name="aws-properties-devopsguru-notificationchannel-notificationfilterconfig-syntax"></a>

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

### JSON
<a name="aws-properties-devopsguru-notificationchannel-notificationfilterconfig-syntax.json"></a>

```
{
  "[MessageTypes](#cfn-devopsguru-notificationchannel-notificationfilterconfig-messagetypes)" : [ String, ... ],
  "[Severities](#cfn-devopsguru-notificationchannel-notificationfilterconfig-severities)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-devopsguru-notificationchannel-notificationfilterconfig-syntax.yaml"></a>

```
  [MessageTypes](#cfn-devopsguru-notificationchannel-notificationfilterconfig-messagetypes): 
    - String
  [Severities](#cfn-devopsguru-notificationchannel-notificationfilterconfig-severities): 
    - String
```

## Properties
<a name="aws-properties-devopsguru-notificationchannel-notificationfilterconfig-properties"></a>

`MessageTypes`  <a name="cfn-devopsguru-notificationchannel-notificationfilterconfig-messagetypes"></a>
 The events that you want to receive notifications for. For example, you can choose to receive notifications only when the severity level is upgraded or a new insight is created.   
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Severities`  <a name="cfn-devopsguru-notificationchannel-notificationfilterconfig-severities"></a>
 The severity levels that you want to receive notifications for. For example, you can choose to receive notifications only for insights with `HIGH` and `MEDIUM` severity levels. For more information, see [Understanding insight severities](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-insights.html#understanding-insights-severities).   
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `3`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::DevOpsGuru::NotificationChannel SnsChannelConfig
<a name="aws-properties-devopsguru-notificationchannel-snschannelconfig"></a>

 Contains the Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic. 

If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see [Permissions for Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-required-permissions.html).

If you use an Amazon SNS topic that is encrypted by an AWS Key Management Service customer-managed key (CMK), then you must add permissions to the CMK. For more information, see [Permissions for AWS KMS–encrypted Amazon SNS topics](https://docs.aws.amazon.com/devops-guru/latest/userguide/sns-kms-permissions.html).

## Syntax
<a name="aws-properties-devopsguru-notificationchannel-snschannelconfig-syntax"></a>

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

### JSON
<a name="aws-properties-devopsguru-notificationchannel-snschannelconfig-syntax.json"></a>

```
{
  "[TopicArn](#cfn-devopsguru-notificationchannel-snschannelconfig-topicarn)" : String
}
```

### YAML
<a name="aws-properties-devopsguru-notificationchannel-snschannelconfig-syntax.yaml"></a>

```
  [TopicArn](#cfn-devopsguru-notificationchannel-snschannelconfig-topicarn): String
```

## Properties
<a name="aws-properties-devopsguru-notificationchannel-snschannelconfig-properties"></a>

`TopicArn`  <a name="cfn-devopsguru-notificationchannel-snschannelconfig-topicarn"></a>
 The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic.   
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\d{12}:[^:]+$`  
*Minimum*: `36`  
*Maximum*: `1024`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::DevOpsGuru::ResourceCollection
<a name="aws-resource-devopsguru-resourcecollection"></a>

 A collection of AWS resources supported by DevOps Guru. The one type of AWS resource collection supported is AWS CloudFormation stacks. DevOps Guru can be configured to analyze only the AWS resources that are defined in the stacks.

## Syntax
<a name="aws-resource-devopsguru-resourcecollection-syntax"></a>

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

### JSON
<a name="aws-resource-devopsguru-resourcecollection-syntax.json"></a>

```
{
  "Type" : "AWS::DevOpsGuru::ResourceCollection",
  "Properties" : {
      "[ResourceCollectionFilter](#cfn-devopsguru-resourcecollection-resourcecollectionfilter)" : ResourceCollectionFilter
    }
}
```

### YAML
<a name="aws-resource-devopsguru-resourcecollection-syntax.yaml"></a>

```
Type: AWS::DevOpsGuru::ResourceCollection
Properties:
  [ResourceCollectionFilter](#cfn-devopsguru-resourcecollection-resourcecollectionfilter): 
    ResourceCollectionFilter
```

## Properties
<a name="aws-resource-devopsguru-resourcecollection-properties"></a>

`ResourceCollectionFilter`  <a name="cfn-devopsguru-resourcecollection-resourcecollectionfilter"></a>
 Information about a filter used to specify which AWS resources are analyzed for anomalous behavior by DevOps Guru.   
*Required*: Yes  
*Type*: [ResourceCollectionFilter](aws-properties-devopsguru-resourcecollection-resourcecollectionfilter.md)  
*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-devopsguru-resourcecollection-return-values"></a>

### Ref
<a name="aws-resource-devopsguru-resourcecollection-return-values-ref"></a>

When the logical ID of this resource is provided to the `Ref` intrinsic function, `Ref` returns Amazon Resource Name (ARN) of the `ResourceCollection`. For more information about using the `Ref` function, see [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). 

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

`Fn::GetAtt` returns a value for a specified attribute of this type. The following are the available attributes and sample return values. For more information about using `Fn::GetAtt`, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html). 

#### 
<a name="aws-resource-devopsguru-resourcecollection-return-values-fn--getatt-fn--getatt"></a>

`ResourceCollectionType`  <a name="ResourceCollectionType-fn::getatt"></a>
The type of AWS resource collections to return. The one valid value is `CLOUD_FORMATION` for AWS CloudFormation stacks.

## Examples
<a name="aws-resource-devopsguru-resourcecollection--examples"></a>

**Topics**
+ [Create a resource collection using two CloudFormation stacks](#aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_using_two_CloudFormation_stacks)
+ [Create a resource collection with all CloudFormation stacks in your account](#aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_with_all_CloudFormation_stacks_in_your_account)
+ [Monitor DevOps Guru resources using tags](#aws-resource-devopsguru-resourcecollection--examples--Monitor_DevOps_Guru_resources_using_tags)

### Create a resource collection using two CloudFormation stacks
<a name="aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_using_two_CloudFormation_stacks"></a>

#### JSON
<a name="aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_using_two_CloudFormation_stacks--json"></a>

```
{
  "Resources": {
    "MyResourceCollection": {
      "Type": "AWS::DevOpsGuru::ResourceCollection",
      "Properties": {
        "ResourceCollectionFilter": {
          "CloudFormation": {
            "StackNames": [
              "StackA",
              "StackB"
            ]
          }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_using_two_CloudFormation_stacks--yaml"></a>

```
Resources:
  MyResourceCollection:
    Type: AWS::DevOpsGuru::ResourceCollection
    Properties:
      ResourceCollectionFilter:
        CloudFormation:
          StackNames:
          - StackA
          - StackB
```

### Create a resource collection with all CloudFormation stacks in your account
<a name="aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_with_all_CloudFormation_stacks_in_your_account"></a>

#### JSON
<a name="aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_with_all_CloudFormation_stacks_in_your_account--json"></a>

```
{
  "Resources": {
    "MyResourceCollection": {
      "Type": "AWS::DevOpsGuru::ResourceCollection",
      "Properties": {
        "ResourceCollectionFilter": {
          "CloudFormation": {
            "StackNames": [
              "*"
            ]
          }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-devopsguru-resourcecollection--examples--Create_a_resource_collection_with_all_CloudFormation_stacks_in_your_account--yaml"></a>

```
Resources:
  MyResourceCollection:
    Type: AWS::DevOpsGuru::ResourceCollection
    Properties:
      ResourceCollectionFilter:
        CloudFormation:
          StackNames:
          - "*"
```

### Monitor DevOps Guru resources using tags
<a name="aws-resource-devopsguru-resourcecollection--examples--Monitor_DevOps_Guru_resources_using_tags"></a>

#### JSON
<a name="aws-resource-devopsguru-resourcecollection--examples--Monitor_DevOps_Guru_resources_using_tags--json"></a>

```
{
"DevOpsGuruResourceCollection": {
  "Type": "AWS::DevOpsGuru::ResourceCollection",
  "Condition": "DevOpsGuruEnable",
  "Properties": {
    "ResourceCollectionFilter": {
      "Tags": [{
        "AppBoundaryKey": "devops-guru-workshop",
        "TagValues": [
          "devops-guru-serverless",
          "devops-guru-aurora"
          ]
        }]
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-devopsguru-resourcecollection--examples--Monitor_DevOps_Guru_resources_using_tags--yaml"></a>

```
DevOpsGuruResourceCollection:
    Type: AWS::DevOpsGuru::ResourceCollection
    Condition: DevOpsGuruEnable
    Properties:
      ResourceCollectionFilter:
        Tags:
          - AppBoundaryKey: devops-guru-workshop
            TagValues:
              - devops-guru-serverless
	      - devops-guru-aurora
```

#### JSON
<a name="aws-resource-devopsguru-resourcecollection--examples--Monitor_DevOps_Guru_resources_using_tags--json"></a>

```
{
 "DevOpsGuruResourceCollection": {
    "Type": "AWS::DevOpsGuru::ResourceCollection",
    "Condition": "DevOpsGuruEnable",
    "Properties": {
      "ResourceCollectionFilter": {
        "Tags": [
          {
            "AppBoundaryKey": "devops-guru-workshop",
            "TagValues": [
              "*"
            ]
          }
        ]
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-devopsguru-resourcecollection--examples--Monitor_DevOps_Guru_resources_using_tags--yaml"></a>

```
DevOpsGuruResourceCollection:
    Type: AWS::DevOpsGuru::ResourceCollection
    Condition: DevOpsGuruEnable
    Properties:
      ResourceCollectionFilter:
        Tags:
          - AppBoundaryKey: devops-guru-workshop
            TagValues:
              - "*"
```

# AWS::DevOpsGuru::ResourceCollection CloudFormationCollectionFilter
<a name="aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter"></a>

 Information about AWS CloudFormation stacks. You can use up to 1000 stacks to specify which AWS resources in your account to analyze. For more information, see [Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) in the *AWS CloudFormation User Guide*. 

## Syntax
<a name="aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter-syntax"></a>

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

### JSON
<a name="aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter-syntax.json"></a>

```
{
  "[StackNames](#cfn-devopsguru-resourcecollection-cloudformationcollectionfilter-stacknames)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter-syntax.yaml"></a>

```
  [StackNames](#cfn-devopsguru-resourcecollection-cloudformationcollectionfilter-stacknames): 
    - String
```

## Properties
<a name="aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter-properties"></a>

`StackNames`  <a name="cfn-devopsguru-resourcecollection-cloudformationcollectionfilter-stacknames"></a>
 An array of CloudFormation stack names.   
*Required*: No  
*Type*: Array of String  
*Minimum*: `1 | 1`  
*Maximum*: `128 | 1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::DevOpsGuru::ResourceCollection ResourceCollectionFilter
<a name="aws-properties-devopsguru-resourcecollection-resourcecollectionfilter"></a>

 Information about a filter used to specify which AWS resources are analyzed for anomalous behavior by DevOps Guru. 

## Syntax
<a name="aws-properties-devopsguru-resourcecollection-resourcecollectionfilter-syntax"></a>

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

### JSON
<a name="aws-properties-devopsguru-resourcecollection-resourcecollectionfilter-syntax.json"></a>

```
{
  "[CloudFormation](#cfn-devopsguru-resourcecollection-resourcecollectionfilter-cloudformation)" : CloudFormationCollectionFilter,
  "[Tags](#cfn-devopsguru-resourcecollection-resourcecollectionfilter-tags)" : [ TagCollection, ... ]
}
```

### YAML
<a name="aws-properties-devopsguru-resourcecollection-resourcecollectionfilter-syntax.yaml"></a>

```
  [CloudFormation](#cfn-devopsguru-resourcecollection-resourcecollectionfilter-cloudformation): 
    CloudFormationCollectionFilter
  [Tags](#cfn-devopsguru-resourcecollection-resourcecollectionfilter-tags): 
    - TagCollection
```

## Properties
<a name="aws-properties-devopsguru-resourcecollection-resourcecollectionfilter-properties"></a>

`CloudFormation`  <a name="cfn-devopsguru-resourcecollection-resourcecollectionfilter-cloudformation"></a>
 Information about AWS CloudFormation stacks. You can use up to 1000 stacks to specify which AWS resources in your account to analyze. For more information, see [Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html) in the *AWS CloudFormation User Guide*.   
*Required*: No  
*Type*: [CloudFormationCollectionFilter](aws-properties-devopsguru-resourcecollection-cloudformationcollectionfilter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-devopsguru-resourcecollection-resourcecollectionfilter-tags"></a>
The AWS tags used to filter the resources in the resource collection.  
Tags help you identify and organize your AWS resources. Many AWS services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an AWS Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper.   
Each AWS tag has two parts.   
+ A tag *key* (for example, `CostCenter`, `Environment`, `Project`, or `Secret`). Tag *keys* are case-sensitive.
+ A field known as a tag *value* (for example, `111122223333`, `Production`, or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys*, tag *values* are case-sensitive. The tag value is a required property when AppBoundaryKey is specified.
Together these are known as *key*-*value* pairs.  
The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-`. The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application`. When you create a *key*, the case of characters in the *key* can be whatever you choose. After you create a *key*, it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS`, and these act as two different *keys*. Possible *key*/*value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers`.
*Required*: No  
*Type*: Array of [TagCollection](aws-properties-devopsguru-resourcecollection-tagcollection.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::DevOpsGuru::ResourceCollection TagCollection
<a name="aws-properties-devopsguru-resourcecollection-tagcollection"></a>

A collection of AWS tags.

Tags help you identify and organize your AWS resources. Many AWS services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an AWS Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper. 

Each AWS tag has two parts. 
+ A tag *key* (for example, `CostCenter`, `Environment`, `Project`, or `Secret`). Tag *keys* are case-sensitive.
+ A field known as a tag *value* (for example, `111122223333`, `Production`, or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys*, tag *values* are case-sensitive. The tag value is a required property when *AppBoundaryKey* is specified.

Together these are known as *key*-*value* pairs.

**Important**  
The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-`. The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application`. When you create a *key*, the case of characters in the *key* can be whatever you choose. After you create a *key*, it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS`, and these act as two different *keys*. Possible *key*/*value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers`.

## Syntax
<a name="aws-properties-devopsguru-resourcecollection-tagcollection-syntax"></a>

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

### JSON
<a name="aws-properties-devopsguru-resourcecollection-tagcollection-syntax.json"></a>

```
{
  "[AppBoundaryKey](#cfn-devopsguru-resourcecollection-tagcollection-appboundarykey)" : String,
  "[TagValues](#cfn-devopsguru-resourcecollection-tagcollection-tagvalues)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-devopsguru-resourcecollection-tagcollection-syntax.yaml"></a>

```
  [AppBoundaryKey](#cfn-devopsguru-resourcecollection-tagcollection-appboundarykey): String
  [TagValues](#cfn-devopsguru-resourcecollection-tagcollection-tagvalues): 
    - String
```

## Properties
<a name="aws-properties-devopsguru-resourcecollection-tagcollection-properties"></a>

`AppBoundaryKey`  <a name="cfn-devopsguru-resourcecollection-tagcollection-appboundarykey"></a>
An AWS tag *key* that is used to identify the AWS resources that DevOps Guru analyzes. All AWS resources in your account and Region tagged with this *key* make up your DevOps Guru application and analysis boundary.  
When you create a *key*, the case of characters in the *key* can be whatever you choose. After you create a *key*, it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS`, and these act as two different *keys*. Possible *key*/*value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers`.
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TagValues`  <a name="cfn-devopsguru-resourcecollection-tagcollection-tagvalues"></a>
The values in an AWS tag collection.  
The tag's *value* is a field used to associate a string with the tag *key* (for example, `111122223333`, `Production`, or a team name). The *key* and *value* are the tag's *key* pair. Omitting the tag *value* is the same as using an empty string. Like tag *keys*, tag *values* are case-sensitive. You can specify a maximum of 256 characters for a tag value. The tag value is a required property when *AppBoundaryKey* is specified.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1 | 1`  
*Maximum*: `256 | 1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)