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

***************************
update_restore_testing_plan
***************************



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

  

  This request will send changes to your specified restore testing plan. ``RestoreTestingPlanName`` cannot be updated after it is created.

   

  ``RecoveryPointSelection`` can contain:

   

  
  * ``Algorithm``
   
  * ``ExcludeVaults``
   
  * ``IncludeVaults``
   
  * ``RecoveryPointTypes``
   
  * ``SelectionWindowDays``
  

  

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


  **Request Syntax**
  ::

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

    Specifies the body of a restore testing plan.

    

  
    - **RecoveryPointSelection** *(dict) --* 

      Required: ``Algorithm``; ``RecoveryPointTypes``; ``IncludeVaults`` (*one or more*).

       

      Optional: *SelectionWindowDays* (*'30' if not specified*); ``ExcludeVaults`` (defaults to empty list if not listed).

      

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

        

      
    
    - **ScheduleExpression** *(string) --* 

      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 RestoreTestingPlanName: string
  :param RestoreTestingPlanName: **[REQUIRED]** 

    The name of the restore testing plan name.

    

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

    
    ::

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

    

    - *(dict) --* 
      

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

        The time the resource testing plan was created.

        
      

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

        Unique ARN (Amazon Resource Name) of the restore testing plan.

        
      

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

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

        
      

      - **UpdateTime** *(datetime) --* 

        The time the update completed for the restore testing plan.

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

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

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

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

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

  