

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::Backup::RestoreTestingPlan
<a name="aws-resource-backup-restoretestingplan"></a>

Creates a restore testing plan.

The first of two steps to create a restore testing plan. After this request is successful, finish the procedure using CreateRestoreTestingSelection.

## Syntax
<a name="aws-resource-backup-restoretestingplan-syntax"></a>

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

### JSON
<a name="aws-resource-backup-restoretestingplan-syntax.json"></a>

```
{
  "Type" : "AWS::Backup::RestoreTestingPlan",
  "Properties" : {
      "[RecoveryPointSelection](#cfn-backup-restoretestingplan-recoverypointselection)" : RestoreTestingRecoveryPointSelection,
      "[RestoreTestingPlanName](#cfn-backup-restoretestingplan-restoretestingplanname)" : String,
      "[ScheduleExpression](#cfn-backup-restoretestingplan-scheduleexpression)" : String,
      "[ScheduleExpressionTimezone](#cfn-backup-restoretestingplan-scheduleexpressiontimezone)" : String,
      "[StartWindowHours](#cfn-backup-restoretestingplan-startwindowhours)" : Integer,
      "[Tags](#cfn-backup-restoretestingplan-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-backup-restoretestingplan-syntax.yaml"></a>

```
Type: AWS::Backup::RestoreTestingPlan
Properties:
  [RecoveryPointSelection](#cfn-backup-restoretestingplan-recoverypointselection): 
    RestoreTestingRecoveryPointSelection
  [RestoreTestingPlanName](#cfn-backup-restoretestingplan-restoretestingplanname): String
  [ScheduleExpression](#cfn-backup-restoretestingplan-scheduleexpression): String
  [ScheduleExpressionTimezone](#cfn-backup-restoretestingplan-scheduleexpressiontimezone): String
  [StartWindowHours](#cfn-backup-restoretestingplan-startwindowhours): Integer
  [Tags](#cfn-backup-restoretestingplan-tags): 
    - Tag
```

## Properties
<a name="aws-resource-backup-restoretestingplan-properties"></a>

`RecoveryPointSelection`  <a name="cfn-backup-restoretestingplan-recoverypointselection"></a>
The specified criteria to assign a set of resources, such as recovery point types or backup vaults.  
*Required*: Yes  
*Type*: [RestoreTestingRecoveryPointSelection](aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RestoreTestingPlanName`  <a name="cfn-backup-restoretestingplan-restoretestingplanname"></a>
The RestoreTestingPlanName is a unique string that is the name of the restore testing plan. This cannot be changed after creation, and it must consist of only alphanumeric characters and underscores.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ScheduleExpression`  <a name="cfn-backup-restoretestingplan-scheduleexpression"></a>
A CRON expression in specified timezone when a restore testing plan is executed. When no CRON expression is provided, AWS Backup will use the default expression `cron(0 5 ? * * *)`.  
*Required*: Yes  
*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-backup-restoretestingplan-scheduleexpressiontimezone"></a>
Optional. This is the timezone in which the schedule expression is set. By default, ScheduleExpressions are in UTC. You can modify this to a specified timezone.  
*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)

`StartWindowHours`  <a name="cfn-backup-restoretestingplan-startwindowhours"></a>
Defaults to 24 hours.  
A value in hours after a restore test is scheduled before a job will be canceled if it doesn't start successfully. This value is optional. If this value is included, this parameter has a maximum value of 168 hours (one week).  
*Required*: No  
*Type*: Integer  
*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-backup-restoretestingplan-tags"></a>
Optional tags to include. A tag is a key-value pair you can use to manage, filter, and search for your resources. Allowed characters include UTF-8 letters,numbers, spaces, and the following characters: `+ - = . _ : /.`  
*Required*: No  
*Type*: Array of [Tag](aws-properties-backup-restoretestingplan-tag.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-backup-restoretestingplan-return-values"></a>

### Ref
<a name="aws-resource-backup-restoretestingplan-return-values-ref"></a>

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

#### 
<a name="aws-resource-backup-restoretestingplan-return-values-fn--getatt-fn--getatt"></a>

`RestoreTestingPlanArn`  <a name="RestoreTestingPlanArn-fn::getatt"></a>
An Amazon Resource Name (ARN) that uniquely identifies a restore testing plan.

# AWS::Backup::RestoreTestingPlan RestoreTestingRecoveryPointSelection
<a name="aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection"></a>

`RecoveryPointSelection` has five parameters (three required and two optional). The values you specify determine which recovery point is included in the restore test. You must indicate with `Algorithm` if you want the latest recovery point within your `SelectionWindowDays` or if you want a random recovery point, and you must indicate through `IncludeVaults` from which vaults the recovery points can be chosen.

`Algorithm` (*required*) Valid values: "`LATEST_WITHIN_WINDOW`" or "`RANDOM_WITHIN_WINDOW`".

`Recovery point types` (*required*) Valid values: "`SNAPSHOT`" and/or "`CONTINUOUS`". Include `SNAPSHOT` to restore only snapshot recovery points; include `CONTINUOUS` to restore continuous recovery points (point in time restore / PITR); use both to restore either a snapshot or a continuous recovery point. The recovery point will be determined by the value for `Algorithm`.

`IncludeVaults` (*required*). You must include one or more backup vaults. Use the wildcard ["\$1"] or specific ARNs.

`SelectionWindowDays` (*optional*) Value must be an integer (in days) from 1 to 365. If not included, the value defaults to `30`.

`ExcludeVaults` (*optional*). You can choose to input one or more specific backup vault ARNs to exclude those vaults' contents from restore eligibility. Or, you can include a list of selectors. If this parameter and its value are not included, it defaults to empty list.

## Syntax
<a name="aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection-syntax"></a>

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

### JSON
<a name="aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection-syntax.json"></a>

```
{
  "[Algorithm](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-algorithm)" : String,
  "[ExcludeVaults](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-excludevaults)" : [ String, ... ],
  "[IncludeVaults](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-includevaults)" : [ String, ... ],
  "[RecoveryPointTypes](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-recoverypointtypes)" : [ String, ... ],
  "[SelectionWindowDays](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-selectionwindowdays)" : Integer
}
```

### YAML
<a name="aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection-syntax.yaml"></a>

```
  [Algorithm](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-algorithm): String
  [ExcludeVaults](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-excludevaults): 
    - String
  [IncludeVaults](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-includevaults): 
    - String
  [RecoveryPointTypes](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-recoverypointtypes): 
    - String
  [SelectionWindowDays](#cfn-backup-restoretestingplan-restoretestingrecoverypointselection-selectionwindowdays): Integer
```

## Properties
<a name="aws-properties-backup-restoretestingplan-restoretestingrecoverypointselection-properties"></a>

`Algorithm`  <a name="cfn-backup-restoretestingplan-restoretestingrecoverypointselection-algorithm"></a>
Acceptable values include "LATEST\$1WITHIN\$1WINDOW" or "RANDOM\$1WITHIN\$1WINDOW"  
*Required*: Yes  
*Type*: String  
*Allowed values*: `LATEST_WITHIN_WINDOW | RANDOM_WITHIN_WINDOW`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ExcludeVaults`  <a name="cfn-backup-restoretestingplan-restoretestingrecoverypointselection-excludevaults"></a>
Accepted values include specific ARNs or list of selectors. Defaults to empty list if not listed.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IncludeVaults`  <a name="cfn-backup-restoretestingplan-restoretestingrecoverypointselection-includevaults"></a>
Accepted values include wildcard ["\$1"] or by specific ARNs or ARN wilcard replacement ["arn:aws:backup:us-west-2:123456789012:backup-vault:asdf", ...] ["arn:aws:backup:\$1:\$1:backup-vault:asdf-\$1", ...]  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecoveryPointTypes`  <a name="cfn-backup-restoretestingplan-restoretestingrecoverypointselection-recoverypointtypes"></a>
These are the types of recovery points.  
Include `SNAPSHOT` to restore only snapshot recovery points; include `CONTINUOUS` to restore continuous recovery points (point in time restore / PITR); use both to restore either a snapshot or a continuous recovery point. The recovery point will be determined by the value for `Algorithm`.  
*Required*: Yes  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SelectionWindowDays`  <a name="cfn-backup-restoretestingplan-restoretestingrecoverypointselection-selectionwindowdays"></a>
Accepted values are integers from 1 to 365.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Backup::RestoreTestingPlan Tag
<a name="aws-properties-backup-restoretestingplan-tag"></a>

The tags to assign to the restore testing plan.

## Syntax
<a name="aws-properties-backup-restoretestingplan-tag-syntax"></a>

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

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

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

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

```
  [Key](#cfn-backup-restoretestingplan-tag-key): String
  [Value](#cfn-backup-restoretestingplan-tag-value): String
```

## Properties
<a name="aws-properties-backup-restoretestingplan-tag-properties"></a>

`Key`  <a name="cfn-backup-restoretestingplan-tag-key"></a>
The tag key.  
*Required*: Yes  
*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)

`Value`  <a name="cfn-backup-restoretestingplan-tag-value"></a>
The tag value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)