:doc:`Backup <../../backup>` / Client / create_restore_testing_plan

***************************
create_restore_testing_plan
***************************



.. py:method:: Backup.Client.create_restore_testing_plan(**kwargs)

  

  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.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateRestoreTestingPlan>`_  


  **Request Syntax**
  ::

    response = client.create_restore_testing_plan(
        CreatorRequestId='string',
        RestoreTestingPlan={
            'RecoveryPointSelection': {
                'Algorithm': 'LATEST_WITHIN_WINDOW'|'RANDOM_WITHIN_WINDOW',
                'ExcludeVaults': [
                    'string',
                ],
                'IncludeVaults': [
                    'string',
                ],
                'RecoveryPointTypes': [
                    'CONTINUOUS'|'SNAPSHOT',
                ],
                'SelectionWindowDays': 123
            },
            'RestoreTestingPlanName': 'string',
            'ScheduleExpression': 'string',
            'ScheduleExpressionTimezone': 'string',
            'StartWindowHours': 123
        },
        Tags={
            'string': 'string'
        }
    )
    
  :type CreatorRequestId: string
  :param CreatorRequestId: 

    This is a unique string that identifies the request and allows failed requests to be retriedwithout the risk of running the operation twice. This parameter is optional. If used, this parameter must contain 1 to 50 alphanumeric or '-_.' characters.

    

  
  :type RestoreTestingPlan: dict
  :param RestoreTestingPlan: **[REQUIRED]** 

    A restore testing plan must contain a unique ``RestoreTestingPlanName`` string you create and must contain a ``ScheduleExpression`` cron. You may optionally include a ``StartWindowHours`` integer and a ``CreatorRequestId`` string.

     

    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.

    

  
    - **RecoveryPointSelection** *(dict) --* **[REQUIRED]** 

      ``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 ["*"] 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.

      

    
      - **Algorithm** *(string) --* 

        Acceptable values include "LATEST_WITHIN_WINDOW" or "RANDOM_WITHIN_WINDOW"

        

      
      - **ExcludeVaults** *(list) --* 

        Accepted values include specific ARNs or list of selectors. Defaults to empty list if not listed.

        

      
        - *(string) --* 

        
    
      - **IncludeVaults** *(list) --* 

        Accepted values include wildcard ["*"] or by specific ARNs or ARN wilcard replacement ["arn:aws:backup:us-west-2:123456789012:backup-vault:asdf", ...] ["arn:aws:backup:*:*:backup-vault:asdf-*", ...]

        

      
        - *(string) --* 

        
    
      - **RecoveryPointTypes** *(list) --* 

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

        

      
        - *(string) --* 

        
    
      - **SelectionWindowDays** *(integer) --* 

        Accepted values are integers from 1 to 365.

        

      
    
    - **RestoreTestingPlanName** *(string) --* **[REQUIRED]** 

      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.

      

    
    - **ScheduleExpression** *(string) --* **[REQUIRED]** 

      A CRON expression in specified timezone when a restore testing plan is executed. When no CRON expression is provided, Backup will use the default expression ``cron(0 5 ? * * *)``.

      

    
    - **ScheduleExpressionTimezone** *(string) --* 

      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.

      

    
    - **StartWindowHours** *(integer) --* 

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

      

    
  
  :type Tags: dict
  :param Tags: 

    The tags to assign to the restore testing plan.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'CreationTime': datetime(2015, 1, 1),
          'RestoreTestingPlanArn': 'string',
          'RestoreTestingPlanName': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **CreationTime** *(datetime) --* 

        The date and time a restore testing plan was created, in Unix format and Coordinated Universal Time (UTC). The value of ``CreationTime`` is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087AM.

        
      

      - **RestoreTestingPlanArn** *(string) --* 

        An Amazon Resource Name (ARN) that uniquely identifies the created restore testing plan.

        
      

      - **RestoreTestingPlanName** *(string) --* 

        This unique string is the name of the restore testing plan.

         

        The name cannot be changed after creation. The name consists of only alphanumeric characters and underscores. Maximum length is 50.

        
  
  **Exceptions**
  
  *   :py:class:`Backup.Client.exceptions.AlreadyExistsException`

  
  *   :py:class:`Backup.Client.exceptions.ConflictException`

  
  *   :py:class:`Backup.Client.exceptions.InvalidParameterValueException`

  
  *   :py:class:`Backup.Client.exceptions.LimitExceededException`

  
  *   :py:class:`Backup.Client.exceptions.MissingParameterValueException`

  
  *   :py:class:`Backup.Client.exceptions.ServiceUnavailableException`

  