

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::ComputeOptimizer::AutomationRule
<a name="aws-resource-computeoptimizer-automationrule"></a>

The `AWS::ComputeOptimizer::AutomationRule` resource specifies an automation rule that automatically implements recommended actions based on your defined criteria and schedule.

## Syntax
<a name="aws-resource-computeoptimizer-automationrule-syntax"></a>

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

### JSON
<a name="aws-resource-computeoptimizer-automationrule-syntax.json"></a>

```
{
  "Type" : "AWS::ComputeOptimizer::AutomationRule",
  "Properties" : {
      "[Criteria](#cfn-computeoptimizer-automationrule-criteria)" : Criteria,
      "[Description](#cfn-computeoptimizer-automationrule-description)" : String,
      "[Name](#cfn-computeoptimizer-automationrule-name)" : String,
      "[OrganizationConfiguration](#cfn-computeoptimizer-automationrule-organizationconfiguration)" : OrganizationConfiguration,
      "[Priority](#cfn-computeoptimizer-automationrule-priority)" : String,
      "[RecommendedActionTypes](#cfn-computeoptimizer-automationrule-recommendedactiontypes)" : [ String, ... ],
      "[RuleType](#cfn-computeoptimizer-automationrule-ruletype)" : String,
      "[Schedule](#cfn-computeoptimizer-automationrule-schedule)" : Schedule,
      "[Status](#cfn-computeoptimizer-automationrule-status)" : String,
      "[Tags](#cfn-computeoptimizer-automationrule-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-computeoptimizer-automationrule-syntax.yaml"></a>

```
Type: AWS::ComputeOptimizer::AutomationRule
Properties:
  [Criteria](#cfn-computeoptimizer-automationrule-criteria): 
    Criteria
  [Description](#cfn-computeoptimizer-automationrule-description): String
  [Name](#cfn-computeoptimizer-automationrule-name): String
  [OrganizationConfiguration](#cfn-computeoptimizer-automationrule-organizationconfiguration): 
    OrganizationConfiguration
  [Priority](#cfn-computeoptimizer-automationrule-priority): String
  [RecommendedActionTypes](#cfn-computeoptimizer-automationrule-recommendedactiontypes): 
    - String
  [RuleType](#cfn-computeoptimizer-automationrule-ruletype): String
  [Schedule](#cfn-computeoptimizer-automationrule-schedule): 
    Schedule
  [Status](#cfn-computeoptimizer-automationrule-status): String
  [Tags](#cfn-computeoptimizer-automationrule-tags): 
    - Tag
```

## Properties
<a name="aws-resource-computeoptimizer-automationrule-properties"></a>

`Criteria`  <a name="cfn-computeoptimizer-automationrule-criteria"></a>
 A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition.   
*Required*: No  
*Type*: [Criteria](aws-properties-computeoptimizer-automationrule-criteria.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-computeoptimizer-automationrule-description"></a>
A description of the automation rule.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_\-\s@\.]*$`  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-computeoptimizer-automationrule-name"></a>
The name of the automation rule.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_-]*$`  
*Minimum*: `0`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OrganizationConfiguration`  <a name="cfn-computeoptimizer-automationrule-organizationconfiguration"></a>
Configuration settings for organization-wide rules.  
*Required*: No  
*Type*: [OrganizationConfiguration](aws-properties-computeoptimizer-automationrule-organizationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Priority`  <a name="cfn-computeoptimizer-automationrule-priority"></a>
A string representation of a decimal number between 0 and 1 (having up to 30 digits after the decimal point) that determines the priority of the rule. When multiple rules match the same recommended action, Compute Optimizer assigns the action to the rule with the lowest priority value (highest priority), even if that rule is scheduled to run later than other matching rules.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecommendedActionTypes`  <a name="cfn-computeoptimizer-automationrule-recommendedactiontypes"></a>
List of recommended action types that this rule can execute.  
*Required*: Yes  
*Type*: Array of String  
*Allowed values*: `SnapshotAndDeleteUnattachedEbsVolume | UpgradeEbsVolumeType`  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuleType`  <a name="cfn-computeoptimizer-automationrule-ruletype"></a>
The type of automation rule (OrganizationRule or AccountRule).  
*Required*: Yes  
*Type*: String  
*Allowed values*: `AccountRule | OrganizationRule`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Schedule`  <a name="cfn-computeoptimizer-automationrule-schedule"></a>
The schedule configuration for when the automation rule should execute.  
*Required*: Yes  
*Type*: [Schedule](aws-properties-computeoptimizer-automationrule-schedule.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Status`  <a name="cfn-computeoptimizer-automationrule-status"></a>
The current status of the automation rule (Active or Inactive).  
*Required*: Yes  
*Type*: String  
*Allowed values*: `Active | Inactive`  
*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-computeoptimizer-automationrule-tags"></a>
 The tags to associate with the rule.   
*Required*: No  
*Type*: Array of [Tag](aws-properties-computeoptimizer-automationrule-tag.md)  
*Maximum*: `200`  
*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-computeoptimizer-automationrule-return-values"></a>

### Ref
<a name="aws-resource-computeoptimizer-automationrule-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the Amazon Resource Name (ARN) of the automation rule.

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

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

The `Fn::GetAtt` intrinsic function 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 the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-computeoptimizer-automationrule-return-values-fn--getatt-fn--getatt"></a>

`AccountId`  <a name="AccountId-fn::getatt"></a>
The 12-digit AWS account ID that owns this automation rule.

`CreatedTimestamp`  <a name="CreatedTimestamp-fn::getatt"></a>
The timestamp when the automation rule was created.

`LastUpdatedTimestamp`  <a name="LastUpdatedTimestamp-fn::getatt"></a>
The timestamp when the automation rule was last updated.

`RuleArn`  <a name="RuleArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the automation rule.

`RuleId`  <a name="RuleId-fn::getatt"></a>
The unique identifier of the automation rule.

`RuleRevision`  <a name="RuleRevision-fn::getatt"></a>
The revision number of the automation rule.

# AWS::ComputeOptimizer::AutomationRule Criteria
<a name="aws-properties-computeoptimizer-automationrule-criteria"></a>

 A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time. You can specify up to 20 conditions per filter criteria and 20 values per condition. 

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-criteria-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-criteria-syntax.json"></a>

```
{
  "[EbsVolumeSizeInGib](#cfn-computeoptimizer-automationrule-criteria-ebsvolumesizeingib)" : [ IntegerCriteriaCondition, ... ],
  "[EbsVolumeType](#cfn-computeoptimizer-automationrule-criteria-ebsvolumetype)" : [ StringCriteriaCondition, ... ],
  "[EstimatedMonthlySavings](#cfn-computeoptimizer-automationrule-criteria-estimatedmonthlysavings)" : [ DoubleCriteriaCondition, ... ],
  "[LookBackPeriodInDays](#cfn-computeoptimizer-automationrule-criteria-lookbackperiodindays)" : [ IntegerCriteriaCondition, ... ],
  "[Region](#cfn-computeoptimizer-automationrule-criteria-region)" : [ StringCriteriaCondition, ... ],
  "[ResourceArn](#cfn-computeoptimizer-automationrule-criteria-resourcearn)" : [ StringCriteriaCondition, ... ],
  "[ResourceTag](#cfn-computeoptimizer-automationrule-criteria-resourcetag)" : [ ResourceTagsCriteriaCondition, ... ],
  "[RestartNeeded](#cfn-computeoptimizer-automationrule-criteria-restartneeded)" : [ StringCriteriaCondition, ... ]
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-criteria-syntax.yaml"></a>

```
  [EbsVolumeSizeInGib](#cfn-computeoptimizer-automationrule-criteria-ebsvolumesizeingib): 
    - IntegerCriteriaCondition
  [EbsVolumeType](#cfn-computeoptimizer-automationrule-criteria-ebsvolumetype): 
    - StringCriteriaCondition
  [EstimatedMonthlySavings](#cfn-computeoptimizer-automationrule-criteria-estimatedmonthlysavings): 
    - DoubleCriteriaCondition
  [LookBackPeriodInDays](#cfn-computeoptimizer-automationrule-criteria-lookbackperiodindays): 
    - IntegerCriteriaCondition
  [Region](#cfn-computeoptimizer-automationrule-criteria-region): 
    - StringCriteriaCondition
  [ResourceArn](#cfn-computeoptimizer-automationrule-criteria-resourcearn): 
    - StringCriteriaCondition
  [ResourceTag](#cfn-computeoptimizer-automationrule-criteria-resourcetag): 
    - ResourceTagsCriteriaCondition
  [RestartNeeded](#cfn-computeoptimizer-automationrule-criteria-restartneeded): 
    - StringCriteriaCondition
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-criteria-properties"></a>

`EbsVolumeSizeInGib`  <a name="cfn-computeoptimizer-automationrule-criteria-ebsvolumesizeingib"></a>
Filter criteria for EBS volume sizes in gibibytes (GiB).  
*Required*: No  
*Type*: Array of [IntegerCriteriaCondition](aws-properties-computeoptimizer-automationrule-integercriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EbsVolumeType`  <a name="cfn-computeoptimizer-automationrule-criteria-ebsvolumetype"></a>
Filter criteria for EBS volume types, such as gp2, gp3, io1, io2, st1, or sc1.  
*Required*: No  
*Type*: Array of [StringCriteriaCondition](aws-properties-computeoptimizer-automationrule-stringcriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EstimatedMonthlySavings`  <a name="cfn-computeoptimizer-automationrule-criteria-estimatedmonthlysavings"></a>
Filter criteria for estimated monthly cost savings from the recommended action.  
*Required*: No  
*Type*: Array of [DoubleCriteriaCondition](aws-properties-computeoptimizer-automationrule-doublecriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LookBackPeriodInDays`  <a name="cfn-computeoptimizer-automationrule-criteria-lookbackperiodindays"></a>
Filter criteria for the lookback period in days used to analyze resource utilization.  
*Required*: No  
*Type*: Array of [IntegerCriteriaCondition](aws-properties-computeoptimizer-automationrule-integercriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Region`  <a name="cfn-computeoptimizer-automationrule-criteria-region"></a>
Filter criteria for AWS regions where resources must be located.  
*Required*: No  
*Type*: Array of [StringCriteriaCondition](aws-properties-computeoptimizer-automationrule-stringcriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceArn`  <a name="cfn-computeoptimizer-automationrule-criteria-resourcearn"></a>
Filter criteria for specific resource ARNs to include or exclude.  
*Required*: No  
*Type*: Array of [StringCriteriaCondition](aws-properties-computeoptimizer-automationrule-stringcriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceTag`  <a name="cfn-computeoptimizer-automationrule-criteria-resourcetag"></a>
Filter criteria for resource tags, allowing filtering by tag key and value combinations.  
*Required*: No  
*Type*: Array of [ResourceTagsCriteriaCondition](aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RestartNeeded`  <a name="cfn-computeoptimizer-automationrule-criteria-restartneeded"></a>
Filter criteria indicating whether the recommended action requires a resource restart.  
*Required*: No  
*Type*: Array of [StringCriteriaCondition](aws-properties-computeoptimizer-automationrule-stringcriteriacondition.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ComputeOptimizer::AutomationRule DoubleCriteriaCondition
<a name="aws-properties-computeoptimizer-automationrule-doublecriteriacondition"></a>

Defines a condition for filtering based on double/floating-point numeric values with comparison operators.

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-doublecriteriacondition-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-doublecriteriacondition-syntax.json"></a>

```
{
  "[Comparison](#cfn-computeoptimizer-automationrule-doublecriteriacondition-comparison)" : String,
  "[Values](#cfn-computeoptimizer-automationrule-doublecriteriacondition-values)" : [ Number, ... ]
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-doublecriteriacondition-syntax.yaml"></a>

```
  [Comparison](#cfn-computeoptimizer-automationrule-doublecriteriacondition-comparison): String
  [Values](#cfn-computeoptimizer-automationrule-doublecriteriacondition-values): 
    - Number
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-doublecriteriacondition-properties"></a>

`Comparison`  <a name="cfn-computeoptimizer-automationrule-doublecriteriacondition-comparison"></a>
The comparison operator to use, such as equals, greater than, less than, etc.  
*Required*: No  
*Type*: String  
*Allowed values*: `StringEquals | StringNotEquals | StringEqualsIgnoreCase | StringNotEqualsIgnoreCase | StringLike | StringNotLike | NumericEquals | NumericNotEquals | NumericLessThan | NumericLessThanEquals | NumericGreaterThan | NumericGreaterThanEquals`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Values`  <a name="cfn-computeoptimizer-automationrule-doublecriteriacondition-values"></a>
The list of double values to compare against using the specified comparison operator.  
*Required*: No  
*Type*: Array of Number  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ComputeOptimizer::AutomationRule IntegerCriteriaCondition
<a name="aws-properties-computeoptimizer-automationrule-integercriteriacondition"></a>

Defines a condition for filtering based on integer values with comparison operators.

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-integercriteriacondition-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-integercriteriacondition-syntax.json"></a>

```
{
  "[Comparison](#cfn-computeoptimizer-automationrule-integercriteriacondition-comparison)" : String,
  "[Values](#cfn-computeoptimizer-automationrule-integercriteriacondition-values)" : [ Integer, ... ]
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-integercriteriacondition-syntax.yaml"></a>

```
  [Comparison](#cfn-computeoptimizer-automationrule-integercriteriacondition-comparison): String
  [Values](#cfn-computeoptimizer-automationrule-integercriteriacondition-values): 
    - Integer
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-integercriteriacondition-properties"></a>

`Comparison`  <a name="cfn-computeoptimizer-automationrule-integercriteriacondition-comparison"></a>
The comparison operator to use, such as equals, greater than, less than, etc.  
*Required*: No  
*Type*: String  
*Allowed values*: `StringEquals | StringNotEquals | StringEqualsIgnoreCase | StringNotEqualsIgnoreCase | StringLike | StringNotLike | NumericEquals | NumericNotEquals | NumericLessThan | NumericLessThanEquals | NumericGreaterThan | NumericGreaterThanEquals`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Values`  <a name="cfn-computeoptimizer-automationrule-integercriteriacondition-values"></a>
The list of integer values to compare against using the specified comparison operator.  
*Required*: No  
*Type*: Array of Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ComputeOptimizer::AutomationRule OrganizationConfiguration
<a name="aws-properties-computeoptimizer-automationrule-organizationconfiguration"></a>

Configuration settings for organization-wide automation rules.

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-organizationconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-organizationconfiguration-syntax.json"></a>

```
{
  "[AccountIds](#cfn-computeoptimizer-automationrule-organizationconfiguration-accountids)" : [ String, ... ],
  "[RuleApplyOrder](#cfn-computeoptimizer-automationrule-organizationconfiguration-ruleapplyorder)" : String
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-organizationconfiguration-syntax.yaml"></a>

```
  [AccountIds](#cfn-computeoptimizer-automationrule-organizationconfiguration-accountids): 
    - String
  [RuleApplyOrder](#cfn-computeoptimizer-automationrule-organizationconfiguration-ruleapplyorder): String
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-organizationconfiguration-properties"></a>

`AccountIds`  <a name="cfn-computeoptimizer-automationrule-organizationconfiguration-accountids"></a>
List of specific AWS account IDs where the organization rule should be applied.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuleApplyOrder`  <a name="cfn-computeoptimizer-automationrule-organizationconfiguration-ruleapplyorder"></a>
Specifies when organization rules should be applied relative to account rules.  
*Required*: No  
*Type*: String  
*Allowed values*: `BeforeAccountRules | AfterAccountRules`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ComputeOptimizer::AutomationRule ResourceTagsCriteriaCondition
<a name="aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition"></a>

Criteria condition for filtering resources based on their tags, including comparison operators and values.

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition-syntax.json"></a>

```
{
  "[Comparison](#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-comparison)" : String,
  "[Key](#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-key)" : String,
  "[Values](#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-values)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition-syntax.yaml"></a>

```
  [Comparison](#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-comparison): String
  [Key](#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-key): String
  [Values](#cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-values): 
    - String
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-resourcetagscriteriacondition-properties"></a>

`Comparison`  <a name="cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-comparison"></a>
The comparison operator used to evaluate the tag criteria, such as equals, not equals, or contains.  
*Required*: No  
*Type*: String  
*Allowed values*: `StringEquals | StringNotEquals | StringEqualsIgnoreCase | StringNotEqualsIgnoreCase | StringLike | StringNotLike | NumericEquals | NumericNotEquals | NumericLessThan | NumericLessThanEquals | NumericGreaterThan | NumericGreaterThanEquals`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Key`  <a name="cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-key"></a>
The tag key to use for comparison when filtering resources.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\w\s\.\-\:\/\=\+\@\*\?]+$`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Values`  <a name="cfn-computeoptimizer-automationrule-resourcetagscriteriacondition-values"></a>
List of tag values to compare against when filtering resources.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ComputeOptimizer::AutomationRule Schedule
<a name="aws-properties-computeoptimizer-automationrule-schedule"></a>

Configuration for scheduling when automation rules should execute, including timing and execution windows.

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-schedule-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-schedule-syntax.json"></a>

```
{
  "[ExecutionWindowInMinutes](#cfn-computeoptimizer-automationrule-schedule-executionwindowinminutes)" : Integer,
  "[ScheduleExpression](#cfn-computeoptimizer-automationrule-schedule-scheduleexpression)" : String,
  "[ScheduleExpressionTimezone](#cfn-computeoptimizer-automationrule-schedule-scheduleexpressiontimezone)" : String
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-schedule-syntax.yaml"></a>

```
  [ExecutionWindowInMinutes](#cfn-computeoptimizer-automationrule-schedule-executionwindowinminutes): Integer
  [ScheduleExpression](#cfn-computeoptimizer-automationrule-schedule-scheduleexpression): String
  [ScheduleExpressionTimezone](#cfn-computeoptimizer-automationrule-schedule-scheduleexpressiontimezone): String
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-schedule-properties"></a>

`ExecutionWindowInMinutes`  <a name="cfn-computeoptimizer-automationrule-schedule-executionwindowinminutes"></a>
The time window in minutes during which the automation rule can start implementing recommended actions.  
*Required*: No  
*Type*: Integer  
*Minimum*: `60`  
*Maximum*: `1440`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScheduleExpression`  <a name="cfn-computeoptimizer-automationrule-schedule-scheduleexpression"></a>
The expression that defines when the schedule runs. `cron` expression is supported. A `cron` expression consists of six fields separated by white spaces: (`minutes``hours``day_of_month``month``day_of_week``year`)  
You can schedule rules to run at most once per day. Your cron expression must use specific values (not wildcards) for the minutes and hours fields. For example: (`30 12 * * *`) runs daily at 12:30 PM UTC.
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScheduleExpressionTimezone`  <a name="cfn-computeoptimizer-automationrule-schedule-scheduleexpressiontimezone"></a>
The timezone to use when interpreting the schedule expression.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ComputeOptimizer::AutomationRule StringCriteriaCondition
<a name="aws-properties-computeoptimizer-automationrule-stringcriteriacondition"></a>

Criteria condition for filtering based on string values, including comparison operators and target values.

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-stringcriteriacondition-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-stringcriteriacondition-syntax.json"></a>

```
{
  "[Comparison](#cfn-computeoptimizer-automationrule-stringcriteriacondition-comparison)" : String,
  "[Values](#cfn-computeoptimizer-automationrule-stringcriteriacondition-values)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-stringcriteriacondition-syntax.yaml"></a>

```
  [Comparison](#cfn-computeoptimizer-automationrule-stringcriteriacondition-comparison): String
  [Values](#cfn-computeoptimizer-automationrule-stringcriteriacondition-values): 
    - String
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-stringcriteriacondition-properties"></a>

`Comparison`  <a name="cfn-computeoptimizer-automationrule-stringcriteriacondition-comparison"></a>
The comparison operator used to evaluate the string criteria, such as equals, not equals, or contains.  
*Required*: No  
*Type*: String  
*Allowed values*: `StringEquals | StringNotEquals | StringEqualsIgnoreCase | StringNotEqualsIgnoreCase | StringLike | StringNotLike | NumericEquals | NumericNotEquals | NumericLessThan | NumericLessThanEquals | NumericGreaterThan | NumericGreaterThanEquals`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Values`  <a name="cfn-computeoptimizer-automationrule-stringcriteriacondition-values"></a>
List of string values to compare against when applying the criteria condition.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::ComputeOptimizer::AutomationRule Tag
<a name="aws-properties-computeoptimizer-automationrule-tag"></a>

A key-value pair used to categorize and organize AWS resources and automation rules.

## Syntax
<a name="aws-properties-computeoptimizer-automationrule-tag-syntax"></a>

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

### JSON
<a name="aws-properties-computeoptimizer-automationrule-tag-syntax.json"></a>

```
{
  "[Key](#cfn-computeoptimizer-automationrule-tag-key)" : String,
  "[Value](#cfn-computeoptimizer-automationrule-tag-value)" : String
}
```

### YAML
<a name="aws-properties-computeoptimizer-automationrule-tag-syntax.yaml"></a>

```
  [Key](#cfn-computeoptimizer-automationrule-tag-key): String
  [Value](#cfn-computeoptimizer-automationrule-tag-value): String
```

## Properties
<a name="aws-properties-computeoptimizer-automationrule-tag-properties"></a>

`Key`  <a name="cfn-computeoptimizer-automationrule-tag-key"></a>
The tag key, which can be up to 128 characters long.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[\w\s\.\-\:\/\=\+\@]+$`  
*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)

`Value`  <a name="cfn-computeoptimizer-automationrule-tag-value"></a>
The tag value, which can be up to 256 characters long.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[\w\s\.\-\:\/\=\+\@]*$`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)