import { Value } from '../../../cloudformation/Value';
import { CopyActionResourceTypeProps } from './CopyActionResourceTypeProps';
import { LifecycleResourceTypeProps } from './LifecycleResourceTypeProps';
/**
  Specifies an object containing properties used to schedule a task to back up a selection of resources.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html">the AWS Docs</a>
*/
export interface BackupRuleResourceTypeProps {
    /** <code>CompletionWindowMinutes</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-completionwindowminutes"></a>
  A value in minutes after a backup job is successfully started before it must be completed or it is canceled by AWS Backup.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    completionWindowMinutes?: Value<number>;
    /** <code>ScheduleExpression</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-scheduleexpression"></a>
  A CRON expression specifying when AWS Backup initiates a backup job.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    scheduleExpression?: Value<string>;
    /** <code>RecoveryPointTags</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-recoverypointtags"></a>
  To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    recoveryPointTags?: Value<{
        [key: string]: Value<string>;
    }>;
    /** <code>CopyActions</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-copyactions"></a>
  An array of CopyAction objects, which contains the details of the copy operation.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    copyActions?: CopyActionResourceTypeProps[];
    /** <code>EnableContinuousBackup</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-enablecontinuousbackup"></a>
  Enables continuous backup and point-in-time restores (PITR).<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    enableContinuousBackup?: Value<boolean>;
    /** <code>Lifecycle</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-lifecycle"></a>
  The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    lifecycle?: LifecycleResourceTypeProps;
    /** <code>TargetBackupVault</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-targetbackupvault"></a>
  The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of letters, numbers, and hyphens.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    targetBackupVault: Value<string>;
    /** <code>StartWindowMinutes</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-startwindowminutes"></a>
  An optional value that specifies a period of time in minutes after a backup is scheduled before a job is canceled if it doesn’t start successfully.<br />
  If this value is included, it must be at least 60 minutes to avoid errors.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    startWindowMinutes?: Value<number>;
    /** <code>ScheduleExpressionTimezone</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-scheduleexpressiontimezone"></a>
  Property description not available.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    scheduleExpressionTimezone?: Value<string>;
    /** <code>RuleName</code>  <a name="cfn-backup-backupplan-backupruleresourcetype-rulename"></a>
  A display name for a backup rule.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    ruleName: Value<string>;
}
