/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the backup-2018-11-15.normal.json service model.
 */
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.Backup.Model;
namespace Amazon.Backup
{
    /// 
    /// Interface for accessing Backup
    ///
    /// Backup 
    /// 
    /// Backup is a unified backup service designed to protect Amazon Web Services services
    /// and their associated data. Backup simplifies the creation, migration, restoration,
    /// and deletion of backups, while also providing reporting and auditing.
    /// 
    /// 
    public partial interface IAmazonBackup : IAmazonService, IDisposable
    {
        /// 
        /// Paginators for the service
        /// 
        IBackupPaginatorFactory Paginators { get; }
        
        #region  CancelLegalHold
        /// 
        /// This action removes the specified legal hold on a recovery point. This action can
        /// only be performed by a user with sufficient permissions.
        /// 
        /// Container for the necessary parameters to execute the CancelLegalHold service method.
        /// 
        /// The response from the CancelLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Backup is already performing an action on this recovery point. It can't perform the
        /// action you requested until the first action finishes. Try again later.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CancelLegalHold Operation
        CancelLegalHoldResponse CancelLegalHold(CancelLegalHoldRequest request);
        /// 
        /// This action removes the specified legal hold on a recovery point. This action can
        /// only be performed by a user with sufficient permissions.
        /// 
        /// Container for the necessary parameters to execute the CancelLegalHold service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CancelLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Backup is already performing an action on this recovery point. It can't perform the
        /// action you requested until the first action finishes. Try again later.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CancelLegalHold Operation
        Task CancelLegalHoldAsync(CancelLegalHoldRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateBackupPlan
        /// 
        /// Creates a backup plan using a backup plan name and backup rules. A backup plan is
        /// a document that contains information that Backup uses to schedule tasks that create
        /// recovery points for resources.
        /// 
        ///  
        /// 
        /// If you call CreateBackupPlan with a plan that already exists, you receive
        /// an AlreadyExistsException exception.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateBackupPlan service method.
        /// 
        /// The response from the CreateBackupPlan service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateBackupPlan Operation
        CreateBackupPlanResponse CreateBackupPlan(CreateBackupPlanRequest request);
        /// 
        /// Creates a backup plan using a backup plan name and backup rules. A backup plan is
        /// a document that contains information that Backup uses to schedule tasks that create
        /// recovery points for resources.
        /// 
        ///  
        /// 
        /// If you call CreateBackupPlan with a plan that already exists, you receive
        /// an AlreadyExistsException exception.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateBackupPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateBackupPlan service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateBackupPlan Operation
        Task CreateBackupPlanAsync(CreateBackupPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateBackupSelection
        /// 
        /// Creates a JSON document that specifies a set of resources to assign to a backup plan.
        /// For examples, see Assigning
        /// resources programmatically.
        /// 
        /// Container for the necessary parameters to execute the CreateBackupSelection service method.
        /// 
        /// The response from the CreateBackupSelection service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateBackupSelection Operation
        CreateBackupSelectionResponse CreateBackupSelection(CreateBackupSelectionRequest request);
        /// 
        /// Creates a JSON document that specifies a set of resources to assign to a backup plan.
        /// For examples, see Assigning
        /// resources programmatically.
        /// 
        /// Container for the necessary parameters to execute the CreateBackupSelection service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateBackupSelection service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateBackupSelection Operation
        Task CreateBackupSelectionAsync(CreateBackupSelectionRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateBackupVault
        /// 
        /// Creates a logical container where backups are stored. A CreateBackupVault
        /// request includes a name, optionally one or more resource tags, an encryption key,
        /// and a request ID.
        /// 
        ///   
        /// 
        /// Do not include sensitive data, such as passport numbers, in the name of a backup vault.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the CreateBackupVault service method.
        /// 
        /// The response from the CreateBackupVault service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateBackupVault Operation
        CreateBackupVaultResponse CreateBackupVault(CreateBackupVaultRequest request);
        /// 
        /// Creates a logical container where backups are stored. A CreateBackupVault
        /// request includes a name, optionally one or more resource tags, an encryption key,
        /// and a request ID.
        /// 
        ///   
        /// 
        /// Do not include sensitive data, such as passport numbers, in the name of a backup vault.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the CreateBackupVault service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateBackupVault service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateBackupVault Operation
        Task CreateBackupVaultAsync(CreateBackupVaultRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateFramework
        /// 
        /// Creates a framework with one or more controls. A framework is a collection of controls
        /// that you can use to evaluate your backup practices. By using pre-built customizable
        /// controls to define your policies, you can evaluate whether your backup practices comply
        /// with your policies and which resources are not yet in compliance.
        /// 
        /// Container for the necessary parameters to execute the CreateFramework service method.
        /// 
        /// The response from the CreateFramework service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateFramework Operation
        CreateFrameworkResponse CreateFramework(CreateFrameworkRequest request);
        /// 
        /// Creates a framework with one or more controls. A framework is a collection of controls
        /// that you can use to evaluate your backup practices. By using pre-built customizable
        /// controls to define your policies, you can evaluate whether your backup practices comply
        /// with your policies and which resources are not yet in compliance.
        /// 
        /// Container for the necessary parameters to execute the CreateFramework service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateFramework service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateFramework Operation
        Task CreateFrameworkAsync(CreateFrameworkRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateLegalHold
        /// 
        /// This action creates a legal hold on a recovery point (backup). A legal hold is a restraint
        /// on altering or deleting a backup until an authorized user cancels the legal hold.
        /// Any actions to delete or disassociate a recovery point will fail with an error if
        /// one or more active legal holds are on the recovery point.
        /// 
        /// Container for the necessary parameters to execute the CreateLegalHold service method.
        /// 
        /// The response from the CreateLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateLegalHold Operation
        CreateLegalHoldResponse CreateLegalHold(CreateLegalHoldRequest request);
        /// 
        /// This action creates a legal hold on a recovery point (backup). A legal hold is a restraint
        /// on altering or deleting a backup until an authorized user cancels the legal hold.
        /// Any actions to delete or disassociate a recovery point will fail with an error if
        /// one or more active legal holds are on the recovery point.
        /// 
        /// Container for the necessary parameters to execute the CreateLegalHold service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateLegalHold Operation
        Task CreateLegalHoldAsync(CreateLegalHoldRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  CreateReportPlan
        /// 
        /// Creates a report plan. A report plan is a document that contains information about
        /// the contents of the report and where Backup will deliver it.
        /// 
        ///  
        /// 
        /// If you call CreateReportPlan with a plan that already exists, you receive
        /// an AlreadyExistsException exception.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateReportPlan service method.
        /// 
        /// The response from the CreateReportPlan service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateReportPlan Operation
        CreateReportPlanResponse CreateReportPlan(CreateReportPlanRequest request);
        /// 
        /// Creates a report plan. A report plan is a document that contains information about
        /// the contents of the report and where Backup will deliver it.
        /// 
        ///  
        /// 
        /// If you call CreateReportPlan with a plan that already exists, you receive
        /// an AlreadyExistsException exception.
        /// 
        /// 
        /// Container for the necessary parameters to execute the CreateReportPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the CreateReportPlan service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for CreateReportPlan Operation
        Task CreateReportPlanAsync(CreateReportPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteBackupPlan
        /// 
        /// Deletes a backup plan. A backup plan can only be deleted after all associated selections
        /// of resources have been deleted. Deleting a backup plan deletes the current version
        /// of a backup plan. Previous versions, if any, will still exist.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupPlan service method.
        /// 
        /// The response from the DeleteBackupPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupPlan Operation
        DeleteBackupPlanResponse DeleteBackupPlan(DeleteBackupPlanRequest request);
        /// 
        /// Deletes a backup plan. A backup plan can only be deleted after all associated selections
        /// of resources have been deleted. Deleting a backup plan deletes the current version
        /// of a backup plan. Previous versions, if any, will still exist.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteBackupPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupPlan Operation
        Task DeleteBackupPlanAsync(DeleteBackupPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteBackupSelection
        /// 
        /// Deletes the resource selection associated with a backup plan that is specified by
        /// the SelectionId.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupSelection service method.
        /// 
        /// The response from the DeleteBackupSelection service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupSelection Operation
        DeleteBackupSelectionResponse DeleteBackupSelection(DeleteBackupSelectionRequest request);
        /// 
        /// Deletes the resource selection associated with a backup plan that is specified by
        /// the SelectionId.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupSelection service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteBackupSelection service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupSelection Operation
        Task DeleteBackupSelectionAsync(DeleteBackupSelectionRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteBackupVault
        /// 
        /// Deletes the backup vault identified by its name. A vault can be deleted only if it
        /// is empty.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVault service method.
        /// 
        /// The response from the DeleteBackupVault service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVault Operation
        DeleteBackupVaultResponse DeleteBackupVault(DeleteBackupVaultRequest request);
        /// 
        /// Deletes the backup vault identified by its name. A vault can be deleted only if it
        /// is empty.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVault service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteBackupVault service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVault Operation
        Task DeleteBackupVaultAsync(DeleteBackupVaultRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteBackupVaultAccessPolicy
        /// 
        /// Deletes the policy document that manages permissions on a backup vault.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVaultAccessPolicy service method.
        /// 
        /// The response from the DeleteBackupVaultAccessPolicy service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVaultAccessPolicy Operation
        DeleteBackupVaultAccessPolicyResponse DeleteBackupVaultAccessPolicy(DeleteBackupVaultAccessPolicyRequest request);
        /// 
        /// Deletes the policy document that manages permissions on a backup vault.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVaultAccessPolicy service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteBackupVaultAccessPolicy service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVaultAccessPolicy Operation
        Task DeleteBackupVaultAccessPolicyAsync(DeleteBackupVaultAccessPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteBackupVaultLockConfiguration
        /// 
        /// Deletes Backup Vault Lock from a backup vault specified by a backup vault name.
        /// 
        ///  
        /// 
        /// If the Vault Lock configuration is immutable, then you cannot delete Vault Lock using
        /// API operations, and you will receive an InvalidRequestException if you
        /// attempt to do so. For more information, see Vault
        /// Lock in the Backup Developer Guide.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVaultLockConfiguration service method.
        /// 
        /// The response from the DeleteBackupVaultLockConfiguration service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVaultLockConfiguration Operation
        DeleteBackupVaultLockConfigurationResponse DeleteBackupVaultLockConfiguration(DeleteBackupVaultLockConfigurationRequest request);
        /// 
        /// Deletes Backup Vault Lock from a backup vault specified by a backup vault name.
        /// 
        ///  
        /// 
        /// If the Vault Lock configuration is immutable, then you cannot delete Vault Lock using
        /// API operations, and you will receive an InvalidRequestException if you
        /// attempt to do so. For more information, see Vault
        /// Lock in the Backup Developer Guide.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVaultLockConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteBackupVaultLockConfiguration service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVaultLockConfiguration Operation
        Task DeleteBackupVaultLockConfigurationAsync(DeleteBackupVaultLockConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteBackupVaultNotifications
        /// 
        /// Deletes event notifications for the specified backup vault.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVaultNotifications service method.
        /// 
        /// The response from the DeleteBackupVaultNotifications service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVaultNotifications Operation
        DeleteBackupVaultNotificationsResponse DeleteBackupVaultNotifications(DeleteBackupVaultNotificationsRequest request);
        /// 
        /// Deletes event notifications for the specified backup vault.
        /// 
        /// Container for the necessary parameters to execute the DeleteBackupVaultNotifications service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteBackupVaultNotifications service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteBackupVaultNotifications Operation
        Task DeleteBackupVaultNotificationsAsync(DeleteBackupVaultNotificationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteFramework
        /// 
        /// Deletes the framework specified by a framework name.
        /// 
        /// Container for the necessary parameters to execute the DeleteFramework service method.
        /// 
        /// The response from the DeleteFramework service method, as returned by Backup.
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteFramework Operation
        DeleteFrameworkResponse DeleteFramework(DeleteFrameworkRequest request);
        /// 
        /// Deletes the framework specified by a framework name.
        /// 
        /// Container for the necessary parameters to execute the DeleteFramework service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteFramework service method, as returned by Backup.
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteFramework Operation
        Task DeleteFrameworkAsync(DeleteFrameworkRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteRecoveryPoint
        /// 
        /// Deletes the recovery point specified by a recovery point ID.
        /// 
        ///  
        /// 
        /// If the recovery point ID belongs to a continuous backup, calling this endpoint deletes
        /// the existing continuous backup and stops future continuous backup.
        /// 
        ///  
        /// 
        /// When an IAM role's permissions are insufficient to call this API, the service sends
        /// back an HTTP 200 response with an empty HTTP body, but the recovery point is not deleted.
        /// Instead, it enters an EXPIRED state.
        /// 
        ///  
        /// 
        ///  EXPIRED recovery points can be deleted with this API once the IAM role
        /// has the iam:CreateServiceLinkedRole action. To learn more about adding
        /// this role, see 
        /// Troubleshooting manual deletions.
        /// 
        ///  
        /// 
        /// If the user or role is deleted or the permission within the role is removed, the deletion
        /// will not be successful and will enter an EXPIRED state.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteRecoveryPoint service method.
        /// 
        /// The response from the DeleteRecoveryPoint service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Backup is already performing an action on this recovery point. It can't perform the
        /// action you requested until the first action finishes. Try again later.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteRecoveryPoint Operation
        DeleteRecoveryPointResponse DeleteRecoveryPoint(DeleteRecoveryPointRequest request);
        /// 
        /// Deletes the recovery point specified by a recovery point ID.
        /// 
        ///  
        /// 
        /// If the recovery point ID belongs to a continuous backup, calling this endpoint deletes
        /// the existing continuous backup and stops future continuous backup.
        /// 
        ///  
        /// 
        /// When an IAM role's permissions are insufficient to call this API, the service sends
        /// back an HTTP 200 response with an empty HTTP body, but the recovery point is not deleted.
        /// Instead, it enters an EXPIRED state.
        /// 
        ///  
        /// 
        ///  EXPIRED recovery points can be deleted with this API once the IAM role
        /// has the iam:CreateServiceLinkedRole action. To learn more about adding
        /// this role, see 
        /// Troubleshooting manual deletions.
        /// 
        ///  
        /// 
        /// If the user or role is deleted or the permission within the role is removed, the deletion
        /// will not be successful and will enter an EXPIRED state.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DeleteRecoveryPoint service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteRecoveryPoint service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Backup is already performing an action on this recovery point. It can't perform the
        /// action you requested until the first action finishes. Try again later.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteRecoveryPoint Operation
        Task DeleteRecoveryPointAsync(DeleteRecoveryPointRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DeleteReportPlan
        /// 
        /// Deletes the report plan specified by a report plan name.
        /// 
        /// Container for the necessary parameters to execute the DeleteReportPlan service method.
        /// 
        /// The response from the DeleteReportPlan service method, as returned by Backup.
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteReportPlan Operation
        DeleteReportPlanResponse DeleteReportPlan(DeleteReportPlanRequest request);
        /// 
        /// Deletes the report plan specified by a report plan name.
        /// 
        /// Container for the necessary parameters to execute the DeleteReportPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DeleteReportPlan service method, as returned by Backup.
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DeleteReportPlan Operation
        Task DeleteReportPlanAsync(DeleteReportPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeBackupJob
        /// 
        /// Returns backup job details for the specified BackupJobId.
        /// 
        /// Container for the necessary parameters to execute the DescribeBackupJob service method.
        /// 
        /// The response from the DescribeBackupJob service method, as returned by Backup.
        /// 
        /// A dependent Amazon Web Services service or resource returned an error to the Backup
        /// service, and the action cannot be completed.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeBackupJob Operation
        DescribeBackupJobResponse DescribeBackupJob(DescribeBackupJobRequest request);
        /// 
        /// Returns backup job details for the specified BackupJobId.
        /// 
        /// Container for the necessary parameters to execute the DescribeBackupJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeBackupJob service method, as returned by Backup.
        /// 
        /// A dependent Amazon Web Services service or resource returned an error to the Backup
        /// service, and the action cannot be completed.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeBackupJob Operation
        Task DescribeBackupJobAsync(DescribeBackupJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeBackupVault
        /// 
        /// Returns metadata about a backup vault specified by its name.
        /// 
        /// Container for the necessary parameters to execute the DescribeBackupVault service method.
        /// 
        /// The response from the DescribeBackupVault service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeBackupVault Operation
        DescribeBackupVaultResponse DescribeBackupVault(DescribeBackupVaultRequest request);
        /// 
        /// Returns metadata about a backup vault specified by its name.
        /// 
        /// Container for the necessary parameters to execute the DescribeBackupVault service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeBackupVault service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeBackupVault Operation
        Task DescribeBackupVaultAsync(DescribeBackupVaultRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeCopyJob
        /// 
        /// Returns metadata associated with creating a copy of a resource.
        /// 
        /// Container for the necessary parameters to execute the DescribeCopyJob service method.
        /// 
        /// The response from the DescribeCopyJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeCopyJob Operation
        DescribeCopyJobResponse DescribeCopyJob(DescribeCopyJobRequest request);
        /// 
        /// Returns metadata associated with creating a copy of a resource.
        /// 
        /// Container for the necessary parameters to execute the DescribeCopyJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeCopyJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeCopyJob Operation
        Task DescribeCopyJobAsync(DescribeCopyJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeFramework
        /// 
        /// Returns the framework details for the specified FrameworkName.
        /// 
        /// Container for the necessary parameters to execute the DescribeFramework service method.
        /// 
        /// The response from the DescribeFramework service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeFramework Operation
        DescribeFrameworkResponse DescribeFramework(DescribeFrameworkRequest request);
        /// 
        /// Returns the framework details for the specified FrameworkName.
        /// 
        /// Container for the necessary parameters to execute the DescribeFramework service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeFramework service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeFramework Operation
        Task DescribeFrameworkAsync(DescribeFrameworkRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeGlobalSettings
        /// 
        /// Describes whether the Amazon Web Services account is opted in to cross-account backup.
        /// Returns an error if the account is not a member of an Organizations organization.
        /// Example: describe-global-settings --region us-west-2
        /// 
        /// Container for the necessary parameters to execute the DescribeGlobalSettings service method.
        /// 
        /// The response from the DescribeGlobalSettings service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeGlobalSettings Operation
        DescribeGlobalSettingsResponse DescribeGlobalSettings(DescribeGlobalSettingsRequest request);
        /// 
        /// Describes whether the Amazon Web Services account is opted in to cross-account backup.
        /// Returns an error if the account is not a member of an Organizations organization.
        /// Example: describe-global-settings --region us-west-2
        /// 
        /// Container for the necessary parameters to execute the DescribeGlobalSettings service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeGlobalSettings service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeGlobalSettings Operation
        Task DescribeGlobalSettingsAsync(DescribeGlobalSettingsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeProtectedResource
        /// 
        /// Returns information about a saved resource, including the last time it was backed
        /// up, its Amazon Resource Name (ARN), and the Amazon Web Services service type of the
        /// saved resource.
        /// 
        /// Container for the necessary parameters to execute the DescribeProtectedResource service method.
        /// 
        /// The response from the DescribeProtectedResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeProtectedResource Operation
        DescribeProtectedResourceResponse DescribeProtectedResource(DescribeProtectedResourceRequest request);
        /// 
        /// Returns information about a saved resource, including the last time it was backed
        /// up, its Amazon Resource Name (ARN), and the Amazon Web Services service type of the
        /// saved resource.
        /// 
        /// Container for the necessary parameters to execute the DescribeProtectedResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeProtectedResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeProtectedResource Operation
        Task DescribeProtectedResourceAsync(DescribeProtectedResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeRecoveryPoint
        /// 
        /// Returns metadata associated with a recovery point, including ID, status, encryption,
        /// and lifecycle.
        /// 
        /// Container for the necessary parameters to execute the DescribeRecoveryPoint service method.
        /// 
        /// The response from the DescribeRecoveryPoint service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeRecoveryPoint Operation
        DescribeRecoveryPointResponse DescribeRecoveryPoint(DescribeRecoveryPointRequest request);
        /// 
        /// Returns metadata associated with a recovery point, including ID, status, encryption,
        /// and lifecycle.
        /// 
        /// Container for the necessary parameters to execute the DescribeRecoveryPoint service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeRecoveryPoint service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeRecoveryPoint Operation
        Task DescribeRecoveryPointAsync(DescribeRecoveryPointRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeRegionSettings
        /// 
        /// Returns the current service opt-in settings for the Region. If service opt-in is enabled
        /// for a service, Backup tries to protect that service's resources in this Region, when
        /// the resource is included in an on-demand backup or scheduled backup plan. Otherwise,
        /// Backup does not try to protect that service's resources in this Region.
        /// 
        /// Container for the necessary parameters to execute the DescribeRegionSettings service method.
        /// 
        /// The response from the DescribeRegionSettings service method, as returned by Backup.
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeRegionSettings Operation
        DescribeRegionSettingsResponse DescribeRegionSettings(DescribeRegionSettingsRequest request);
        /// 
        /// Returns the current service opt-in settings for the Region. If service opt-in is enabled
        /// for a service, Backup tries to protect that service's resources in this Region, when
        /// the resource is included in an on-demand backup or scheduled backup plan. Otherwise,
        /// Backup does not try to protect that service's resources in this Region.
        /// 
        /// Container for the necessary parameters to execute the DescribeRegionSettings service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeRegionSettings service method, as returned by Backup.
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeRegionSettings Operation
        Task DescribeRegionSettingsAsync(DescribeRegionSettingsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeReportJob
        /// 
        /// Returns the details associated with creating a report as specified by its ReportJobId.
        /// 
        /// Container for the necessary parameters to execute the DescribeReportJob service method.
        /// 
        /// The response from the DescribeReportJob service method, as returned by Backup.
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeReportJob Operation
        DescribeReportJobResponse DescribeReportJob(DescribeReportJobRequest request);
        /// 
        /// Returns the details associated with creating a report as specified by its ReportJobId.
        /// 
        /// Container for the necessary parameters to execute the DescribeReportJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeReportJob service method, as returned by Backup.
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeReportJob Operation
        Task DescribeReportJobAsync(DescribeReportJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeReportPlan
        /// 
        /// Returns a list of all report plans for an Amazon Web Services account and Amazon Web
        /// Services Region.
        /// 
        /// Container for the necessary parameters to execute the DescribeReportPlan service method.
        /// 
        /// The response from the DescribeReportPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeReportPlan Operation
        DescribeReportPlanResponse DescribeReportPlan(DescribeReportPlanRequest request);
        /// 
        /// Returns a list of all report plans for an Amazon Web Services account and Amazon Web
        /// Services Region.
        /// 
        /// Container for the necessary parameters to execute the DescribeReportPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeReportPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeReportPlan Operation
        Task DescribeReportPlanAsync(DescribeReportPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DescribeRestoreJob
        /// 
        /// Returns metadata associated with a restore job that is specified by a job ID.
        /// 
        /// Container for the necessary parameters to execute the DescribeRestoreJob service method.
        /// 
        /// The response from the DescribeRestoreJob service method, as returned by Backup.
        /// 
        /// A dependent Amazon Web Services service or resource returned an error to the Backup
        /// service, and the action cannot be completed.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeRestoreJob Operation
        DescribeRestoreJobResponse DescribeRestoreJob(DescribeRestoreJobRequest request);
        /// 
        /// Returns metadata associated with a restore job that is specified by a job ID.
        /// 
        /// Container for the necessary parameters to execute the DescribeRestoreJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DescribeRestoreJob service method, as returned by Backup.
        /// 
        /// A dependent Amazon Web Services service or resource returned an error to the Backup
        /// service, and the action cannot be completed.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DescribeRestoreJob Operation
        Task DescribeRestoreJobAsync(DescribeRestoreJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DisassociateRecoveryPoint
        /// 
        /// Deletes the specified continuous backup recovery point from Backup and releases control
        /// of that continuous backup to the source service, such as Amazon RDS. The source service
        /// will continue to create and retain continuous backups using the lifecycle that you
        /// specified in your original backup plan.
        /// 
        ///  
        /// 
        /// Does not support snapshot backup recovery points.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateRecoveryPoint service method.
        /// 
        /// The response from the DisassociateRecoveryPoint service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Backup is already performing an action on this recovery point. It can't perform the
        /// action you requested until the first action finishes. Try again later.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DisassociateRecoveryPoint Operation
        DisassociateRecoveryPointResponse DisassociateRecoveryPoint(DisassociateRecoveryPointRequest request);
        /// 
        /// Deletes the specified continuous backup recovery point from Backup and releases control
        /// of that continuous backup to the source service, such as Amazon RDS. The source service
        /// will continue to create and retain continuous backups using the lifecycle that you
        /// specified in your original backup plan.
        /// 
        ///  
        /// 
        /// Does not support snapshot backup recovery points.
        /// 
        /// 
        /// Container for the necessary parameters to execute the DisassociateRecoveryPoint service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateRecoveryPoint service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Backup is already performing an action on this recovery point. It can't perform the
        /// action you requested until the first action finishes. Try again later.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DisassociateRecoveryPoint Operation
        Task DisassociateRecoveryPointAsync(DisassociateRecoveryPointRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  DisassociateRecoveryPointFromParent
        /// 
        /// This action to a specific child (nested) recovery point removes the relationship between
        /// the specified recovery point and its parent (composite) recovery point.
        /// 
        /// Container for the necessary parameters to execute the DisassociateRecoveryPointFromParent service method.
        /// 
        /// The response from the DisassociateRecoveryPointFromParent service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DisassociateRecoveryPointFromParent Operation
        DisassociateRecoveryPointFromParentResponse DisassociateRecoveryPointFromParent(DisassociateRecoveryPointFromParentRequest request);
        /// 
        /// This action to a specific child (nested) recovery point removes the relationship between
        /// the specified recovery point and its parent (composite) recovery point.
        /// 
        /// Container for the necessary parameters to execute the DisassociateRecoveryPointFromParent service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the DisassociateRecoveryPointFromParent service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for DisassociateRecoveryPointFromParent Operation
        Task DisassociateRecoveryPointFromParentAsync(DisassociateRecoveryPointFromParentRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ExportBackupPlanTemplate
        /// 
        /// Returns the backup plan that is specified by the plan ID as a backup template.
        /// 
        /// Container for the necessary parameters to execute the ExportBackupPlanTemplate service method.
        /// 
        /// The response from the ExportBackupPlanTemplate service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ExportBackupPlanTemplate Operation
        ExportBackupPlanTemplateResponse ExportBackupPlanTemplate(ExportBackupPlanTemplateRequest request);
        /// 
        /// Returns the backup plan that is specified by the plan ID as a backup template.
        /// 
        /// Container for the necessary parameters to execute the ExportBackupPlanTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ExportBackupPlanTemplate service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ExportBackupPlanTemplate Operation
        Task ExportBackupPlanTemplateAsync(ExportBackupPlanTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetBackupPlan
        /// 
        /// Returns BackupPlan details for the specified BackupPlanId.
        /// The details are the body of a backup plan in JSON format, in addition to plan metadata.
        /// 
        /// Container for the necessary parameters to execute the GetBackupPlan service method.
        /// 
        /// The response from the GetBackupPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupPlan Operation
        GetBackupPlanResponse GetBackupPlan(GetBackupPlanRequest request);
        /// 
        /// Returns BackupPlan details for the specified BackupPlanId.
        /// The details are the body of a backup plan in JSON format, in addition to plan metadata.
        /// 
        /// Container for the necessary parameters to execute the GetBackupPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetBackupPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupPlan Operation
        Task GetBackupPlanAsync(GetBackupPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetBackupPlanFromJSON
        /// 
        /// Returns a valid JSON document specifying a backup plan or an error.
        /// 
        /// Container for the necessary parameters to execute the GetBackupPlanFromJSON service method.
        /// 
        /// The response from the GetBackupPlanFromJSON service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupPlanFromJSON Operation
        GetBackupPlanFromJSONResponse GetBackupPlanFromJSON(GetBackupPlanFromJSONRequest request);
        /// 
        /// Returns a valid JSON document specifying a backup plan or an error.
        /// 
        /// Container for the necessary parameters to execute the GetBackupPlanFromJSON service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetBackupPlanFromJSON service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupPlanFromJSON Operation
        Task GetBackupPlanFromJSONAsync(GetBackupPlanFromJSONRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetBackupPlanFromTemplate
        /// 
        /// Returns the template specified by its templateId as a backup plan.
        /// 
        /// Container for the necessary parameters to execute the GetBackupPlanFromTemplate service method.
        /// 
        /// The response from the GetBackupPlanFromTemplate service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupPlanFromTemplate Operation
        GetBackupPlanFromTemplateResponse GetBackupPlanFromTemplate(GetBackupPlanFromTemplateRequest request);
        /// 
        /// Returns the template specified by its templateId as a backup plan.
        /// 
        /// Container for the necessary parameters to execute the GetBackupPlanFromTemplate service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetBackupPlanFromTemplate service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupPlanFromTemplate Operation
        Task GetBackupPlanFromTemplateAsync(GetBackupPlanFromTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetBackupSelection
        /// 
        /// Returns selection metadata and a document in JSON format that specifies a list of
        /// resources that are associated with a backup plan.
        /// 
        /// Container for the necessary parameters to execute the GetBackupSelection service method.
        /// 
        /// The response from the GetBackupSelection service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupSelection Operation
        GetBackupSelectionResponse GetBackupSelection(GetBackupSelectionRequest request);
        /// 
        /// Returns selection metadata and a document in JSON format that specifies a list of
        /// resources that are associated with a backup plan.
        /// 
        /// Container for the necessary parameters to execute the GetBackupSelection service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetBackupSelection service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupSelection Operation
        Task GetBackupSelectionAsync(GetBackupSelectionRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetBackupVaultAccessPolicy
        /// 
        /// Returns the access policy document that is associated with the named backup vault.
        /// 
        /// Container for the necessary parameters to execute the GetBackupVaultAccessPolicy service method.
        /// 
        /// The response from the GetBackupVaultAccessPolicy service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupVaultAccessPolicy Operation
        GetBackupVaultAccessPolicyResponse GetBackupVaultAccessPolicy(GetBackupVaultAccessPolicyRequest request);
        /// 
        /// Returns the access policy document that is associated with the named backup vault.
        /// 
        /// Container for the necessary parameters to execute the GetBackupVaultAccessPolicy service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetBackupVaultAccessPolicy service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupVaultAccessPolicy Operation
        Task GetBackupVaultAccessPolicyAsync(GetBackupVaultAccessPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetBackupVaultNotifications
        /// 
        /// Returns event notifications for the specified backup vault.
        /// 
        /// Container for the necessary parameters to execute the GetBackupVaultNotifications service method.
        /// 
        /// The response from the GetBackupVaultNotifications service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupVaultNotifications Operation
        GetBackupVaultNotificationsResponse GetBackupVaultNotifications(GetBackupVaultNotificationsRequest request);
        /// 
        /// Returns event notifications for the specified backup vault.
        /// 
        /// Container for the necessary parameters to execute the GetBackupVaultNotifications service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetBackupVaultNotifications service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetBackupVaultNotifications Operation
        Task GetBackupVaultNotificationsAsync(GetBackupVaultNotificationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetLegalHold
        /// 
        /// This action returns details for a specified legal hold. The details are the body of
        /// a legal hold in JSON format, in addition to metadata.
        /// 
        /// Container for the necessary parameters to execute the GetLegalHold service method.
        /// 
        /// The response from the GetLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetLegalHold Operation
        GetLegalHoldResponse GetLegalHold(GetLegalHoldRequest request);
        /// 
        /// This action returns details for a specified legal hold. The details are the body of
        /// a legal hold in JSON format, in addition to metadata.
        /// 
        /// Container for the necessary parameters to execute the GetLegalHold service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetLegalHold Operation
        Task GetLegalHoldAsync(GetLegalHoldRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetRecoveryPointRestoreMetadata
        /// 
        /// Returns a set of metadata key-value pairs that were used to create the backup.
        /// 
        /// Container for the necessary parameters to execute the GetRecoveryPointRestoreMetadata service method.
        /// 
        /// The response from the GetRecoveryPointRestoreMetadata service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetRecoveryPointRestoreMetadata Operation
        GetRecoveryPointRestoreMetadataResponse GetRecoveryPointRestoreMetadata(GetRecoveryPointRestoreMetadataRequest request);
        /// 
        /// Returns a set of metadata key-value pairs that were used to create the backup.
        /// 
        /// Container for the necessary parameters to execute the GetRecoveryPointRestoreMetadata service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetRecoveryPointRestoreMetadata service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetRecoveryPointRestoreMetadata Operation
        Task GetRecoveryPointRestoreMetadataAsync(GetRecoveryPointRestoreMetadataRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  GetSupportedResourceTypes
        /// 
        /// Returns the Amazon Web Services resource types supported by Backup.
        /// 
        /// Container for the necessary parameters to execute the GetSupportedResourceTypes service method.
        /// 
        /// The response from the GetSupportedResourceTypes service method, as returned by Backup.
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetSupportedResourceTypes Operation
        GetSupportedResourceTypesResponse GetSupportedResourceTypes(GetSupportedResourceTypesRequest request);
        /// 
        /// Returns the Amazon Web Services resource types supported by Backup.
        /// 
        /// Container for the necessary parameters to execute the GetSupportedResourceTypes service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the GetSupportedResourceTypes service method, as returned by Backup.
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for GetSupportedResourceTypes Operation
        Task GetSupportedResourceTypesAsync(GetSupportedResourceTypesRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListBackupJobs
        /// 
        /// Returns a list of existing backup jobs for an authenticated account for the last 30
        /// days. For a longer period of time, consider using these monitoring
        /// tools.
        /// 
        /// Container for the necessary parameters to execute the ListBackupJobs service method.
        /// 
        /// The response from the ListBackupJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupJobs Operation
        ListBackupJobsResponse ListBackupJobs(ListBackupJobsRequest request);
        /// 
        /// Returns a list of existing backup jobs for an authenticated account for the last 30
        /// days. For a longer period of time, consider using these monitoring
        /// tools.
        /// 
        /// Container for the necessary parameters to execute the ListBackupJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListBackupJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupJobs Operation
        Task ListBackupJobsAsync(ListBackupJobsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListBackupPlans
        /// 
        /// Returns a list of all active backup plans for an authenticated account. The list contains
        /// information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion
        /// dates, version IDs, plan names, and creator request IDs.
        /// 
        /// Container for the necessary parameters to execute the ListBackupPlans service method.
        /// 
        /// The response from the ListBackupPlans service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupPlans Operation
        ListBackupPlansResponse ListBackupPlans(ListBackupPlansRequest request);
        /// 
        /// Returns a list of all active backup plans for an authenticated account. The list contains
        /// information such as Amazon Resource Names (ARNs), plan IDs, creation and deletion
        /// dates, version IDs, plan names, and creator request IDs.
        /// 
        /// Container for the necessary parameters to execute the ListBackupPlans service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListBackupPlans service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupPlans Operation
        Task ListBackupPlansAsync(ListBackupPlansRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListBackupPlanTemplates
        /// 
        /// Returns metadata of your saved backup plan templates, including the template ID, name,
        /// and the creation and deletion dates.
        /// 
        /// Container for the necessary parameters to execute the ListBackupPlanTemplates service method.
        /// 
        /// The response from the ListBackupPlanTemplates service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupPlanTemplates Operation
        ListBackupPlanTemplatesResponse ListBackupPlanTemplates(ListBackupPlanTemplatesRequest request);
        /// 
        /// Returns metadata of your saved backup plan templates, including the template ID, name,
        /// and the creation and deletion dates.
        /// 
        /// Container for the necessary parameters to execute the ListBackupPlanTemplates service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListBackupPlanTemplates service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupPlanTemplates Operation
        Task ListBackupPlanTemplatesAsync(ListBackupPlanTemplatesRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListBackupPlanVersions
        /// 
        /// Returns version metadata of your backup plans, including Amazon Resource Names (ARNs),
        /// backup plan IDs, creation and deletion dates, plan names, and version IDs.
        /// 
        /// Container for the necessary parameters to execute the ListBackupPlanVersions service method.
        /// 
        /// The response from the ListBackupPlanVersions service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupPlanVersions Operation
        ListBackupPlanVersionsResponse ListBackupPlanVersions(ListBackupPlanVersionsRequest request);
        /// 
        /// Returns version metadata of your backup plans, including Amazon Resource Names (ARNs),
        /// backup plan IDs, creation and deletion dates, plan names, and version IDs.
        /// 
        /// Container for the necessary parameters to execute the ListBackupPlanVersions service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListBackupPlanVersions service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupPlanVersions Operation
        Task ListBackupPlanVersionsAsync(ListBackupPlanVersionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListBackupSelections
        /// 
        /// Returns an array containing metadata of the resources associated with the target backup
        /// plan.
        /// 
        /// Container for the necessary parameters to execute the ListBackupSelections service method.
        /// 
        /// The response from the ListBackupSelections service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupSelections Operation
        ListBackupSelectionsResponse ListBackupSelections(ListBackupSelectionsRequest request);
        /// 
        /// Returns an array containing metadata of the resources associated with the target backup
        /// plan.
        /// 
        /// Container for the necessary parameters to execute the ListBackupSelections service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListBackupSelections service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupSelections Operation
        Task ListBackupSelectionsAsync(ListBackupSelectionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListBackupVaults
        /// 
        /// Returns a list of recovery point storage containers along with information about them.
        /// 
        /// Container for the necessary parameters to execute the ListBackupVaults service method.
        /// 
        /// The response from the ListBackupVaults service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupVaults Operation
        ListBackupVaultsResponse ListBackupVaults(ListBackupVaultsRequest request);
        /// 
        /// Returns a list of recovery point storage containers along with information about them.
        /// 
        /// Container for the necessary parameters to execute the ListBackupVaults service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListBackupVaults service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListBackupVaults Operation
        Task ListBackupVaultsAsync(ListBackupVaultsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListCopyJobs
        /// 
        /// Returns metadata about your copy jobs.
        /// 
        /// Container for the necessary parameters to execute the ListCopyJobs service method.
        /// 
        /// The response from the ListCopyJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListCopyJobs Operation
        ListCopyJobsResponse ListCopyJobs(ListCopyJobsRequest request);
        /// 
        /// Returns metadata about your copy jobs.
        /// 
        /// Container for the necessary parameters to execute the ListCopyJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListCopyJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListCopyJobs Operation
        Task ListCopyJobsAsync(ListCopyJobsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListFrameworks
        /// 
        /// Returns a list of all frameworks for an Amazon Web Services account and Amazon Web
        /// Services Region.
        /// 
        /// Container for the necessary parameters to execute the ListFrameworks service method.
        /// 
        /// The response from the ListFrameworks service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListFrameworks Operation
        ListFrameworksResponse ListFrameworks(ListFrameworksRequest request);
        /// 
        /// Returns a list of all frameworks for an Amazon Web Services account and Amazon Web
        /// Services Region.
        /// 
        /// Container for the necessary parameters to execute the ListFrameworks service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListFrameworks service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListFrameworks Operation
        Task ListFrameworksAsync(ListFrameworksRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListLegalHolds
        /// 
        /// This action returns metadata about active and previous legal holds.
        /// 
        /// Container for the necessary parameters to execute the ListLegalHolds service method.
        /// 
        /// The response from the ListLegalHolds service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListLegalHolds Operation
        ListLegalHoldsResponse ListLegalHolds(ListLegalHoldsRequest request);
        /// 
        /// This action returns metadata about active and previous legal holds.
        /// 
        /// Container for the necessary parameters to execute the ListLegalHolds service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListLegalHolds service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListLegalHolds Operation
        Task ListLegalHoldsAsync(ListLegalHoldsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListProtectedResources
        /// 
        /// Returns an array of resources successfully backed up by Backup, including the time
        /// the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource
        /// type.
        /// 
        /// Container for the necessary parameters to execute the ListProtectedResources service method.
        /// 
        /// The response from the ListProtectedResources service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListProtectedResources Operation
        ListProtectedResourcesResponse ListProtectedResources(ListProtectedResourcesRequest request);
        /// 
        /// Returns an array of resources successfully backed up by Backup, including the time
        /// the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource
        /// type.
        /// 
        /// Container for the necessary parameters to execute the ListProtectedResources service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListProtectedResources service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListProtectedResources Operation
        Task ListProtectedResourcesAsync(ListProtectedResourcesRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListRecoveryPointsByBackupVault
        /// 
        /// Returns detailed information about the recovery points stored in a backup vault.
        /// 
        /// Container for the necessary parameters to execute the ListRecoveryPointsByBackupVault service method.
        /// 
        /// The response from the ListRecoveryPointsByBackupVault service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRecoveryPointsByBackupVault Operation
        ListRecoveryPointsByBackupVaultResponse ListRecoveryPointsByBackupVault(ListRecoveryPointsByBackupVaultRequest request);
        /// 
        /// Returns detailed information about the recovery points stored in a backup vault.
        /// 
        /// Container for the necessary parameters to execute the ListRecoveryPointsByBackupVault service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListRecoveryPointsByBackupVault service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRecoveryPointsByBackupVault Operation
        Task ListRecoveryPointsByBackupVaultAsync(ListRecoveryPointsByBackupVaultRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListRecoveryPointsByLegalHold
        /// 
        /// This action returns recovery point ARNs (Amazon Resource Names) of the specified legal
        /// hold.
        /// 
        /// Container for the necessary parameters to execute the ListRecoveryPointsByLegalHold service method.
        /// 
        /// The response from the ListRecoveryPointsByLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRecoveryPointsByLegalHold Operation
        ListRecoveryPointsByLegalHoldResponse ListRecoveryPointsByLegalHold(ListRecoveryPointsByLegalHoldRequest request);
        /// 
        /// This action returns recovery point ARNs (Amazon Resource Names) of the specified legal
        /// hold.
        /// 
        /// Container for the necessary parameters to execute the ListRecoveryPointsByLegalHold service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListRecoveryPointsByLegalHold service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRecoveryPointsByLegalHold Operation
        Task ListRecoveryPointsByLegalHoldAsync(ListRecoveryPointsByLegalHoldRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListRecoveryPointsByResource
        /// 
        /// Returns detailed information about all the recovery points of the type specified by
        /// a resource Amazon Resource Name (ARN).
        /// 
        ///   
        /// 
        /// For Amazon EFS and Amazon EC2, this action only lists recovery points created by Backup.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the ListRecoveryPointsByResource service method.
        /// 
        /// The response from the ListRecoveryPointsByResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRecoveryPointsByResource Operation
        ListRecoveryPointsByResourceResponse ListRecoveryPointsByResource(ListRecoveryPointsByResourceRequest request);
        /// 
        /// Returns detailed information about all the recovery points of the type specified by
        /// a resource Amazon Resource Name (ARN).
        /// 
        ///   
        /// 
        /// For Amazon EFS and Amazon EC2, this action only lists recovery points created by Backup.
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the ListRecoveryPointsByResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListRecoveryPointsByResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRecoveryPointsByResource Operation
        Task ListRecoveryPointsByResourceAsync(ListRecoveryPointsByResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListReportJobs
        /// 
        /// Returns details about your report jobs.
        /// 
        /// Container for the necessary parameters to execute the ListReportJobs service method.
        /// 
        /// The response from the ListReportJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListReportJobs Operation
        ListReportJobsResponse ListReportJobs(ListReportJobsRequest request);
        /// 
        /// Returns details about your report jobs.
        /// 
        /// Container for the necessary parameters to execute the ListReportJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListReportJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListReportJobs Operation
        Task ListReportJobsAsync(ListReportJobsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListReportPlans
        /// 
        /// Returns a list of your report plans. For detailed information about a single report
        /// plan, use DescribeReportPlan.
        /// 
        /// Container for the necessary parameters to execute the ListReportPlans service method.
        /// 
        /// The response from the ListReportPlans service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListReportPlans Operation
        ListReportPlansResponse ListReportPlans(ListReportPlansRequest request);
        /// 
        /// Returns a list of your report plans. For detailed information about a single report
        /// plan, use DescribeReportPlan.
        /// 
        /// Container for the necessary parameters to execute the ListReportPlans service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListReportPlans service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListReportPlans Operation
        Task ListReportPlansAsync(ListReportPlansRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListRestoreJobs
        /// 
        /// Returns a list of jobs that Backup initiated to restore a saved resource, including
        /// details about the recovery process.
        /// 
        /// Container for the necessary parameters to execute the ListRestoreJobs service method.
        /// 
        /// The response from the ListRestoreJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRestoreJobs Operation
        ListRestoreJobsResponse ListRestoreJobs(ListRestoreJobsRequest request);
        /// 
        /// Returns a list of jobs that Backup initiated to restore a saved resource, including
        /// details about the recovery process.
        /// 
        /// Container for the necessary parameters to execute the ListRestoreJobs service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListRestoreJobs service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListRestoreJobs Operation
        Task ListRestoreJobsAsync(ListRestoreJobsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  ListTags
        /// 
        /// Returns a list of key-value pairs assigned to a target recovery point, backup plan,
        /// or backup vault.
        /// 
        ///  
        /// 
        ///  ListTags only works for resource types that support full Backup management
        /// of their backups. Those resource types are listed in the "Full Backup management"
        /// section of the 
        /// Feature availability by resource table.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTags service method.
        /// 
        /// The response from the ListTags service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListTags Operation
        ListTagsResponse ListTags(ListTagsRequest request);
        /// 
        /// Returns a list of key-value pairs assigned to a target recovery point, backup plan,
        /// or backup vault.
        /// 
        ///  
        /// 
        ///  ListTags only works for resource types that support full Backup management
        /// of their backups. Those resource types are listed in the "Full Backup management"
        /// section of the 
        /// Feature availability by resource table.
        /// 
        /// 
        /// Container for the necessary parameters to execute the ListTags service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the ListTags service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for ListTags Operation
        Task ListTagsAsync(ListTagsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  PutBackupVaultAccessPolicy
        /// 
        /// Sets a resource-based policy that is used to manage access permissions on the target
        /// backup vault. Requires a backup vault name and an access policy document in JSON format.
        /// 
        /// Container for the necessary parameters to execute the PutBackupVaultAccessPolicy service method.
        /// 
        /// The response from the PutBackupVaultAccessPolicy service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for PutBackupVaultAccessPolicy Operation
        PutBackupVaultAccessPolicyResponse PutBackupVaultAccessPolicy(PutBackupVaultAccessPolicyRequest request);
        /// 
        /// Sets a resource-based policy that is used to manage access permissions on the target
        /// backup vault. Requires a backup vault name and an access policy document in JSON format.
        /// 
        /// Container for the necessary parameters to execute the PutBackupVaultAccessPolicy service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutBackupVaultAccessPolicy service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for PutBackupVaultAccessPolicy Operation
        Task PutBackupVaultAccessPolicyAsync(PutBackupVaultAccessPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  PutBackupVaultLockConfiguration
        /// 
        /// Applies Backup Vault Lock to a backup vault, preventing attempts to delete any recovery
        /// point stored in or created in a backup vault. Vault Lock also prevents attempts to
        /// update the lifecycle policy that controls the retention period of any recovery point
        /// currently stored in a backup vault. If specified, Vault Lock enforces a minimum and
        /// maximum retention period for future backup and copy jobs that target a backup vault.
        /// 
        ///   
        /// 
        /// Backup Vault Lock has been assessed by Cohasset Associates for use in environments
        /// that are subject to SEC 17a-4, CFTC, and FINRA regulations. For more information about
        /// how Backup Vault Lock relates to these regulations, see the Cohasset
        /// Associates Compliance Assessment. 
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the PutBackupVaultLockConfiguration service method.
        /// 
        /// The response from the PutBackupVaultLockConfiguration service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for PutBackupVaultLockConfiguration Operation
        PutBackupVaultLockConfigurationResponse PutBackupVaultLockConfiguration(PutBackupVaultLockConfigurationRequest request);
        /// 
        /// Applies Backup Vault Lock to a backup vault, preventing attempts to delete any recovery
        /// point stored in or created in a backup vault. Vault Lock also prevents attempts to
        /// update the lifecycle policy that controls the retention period of any recovery point
        /// currently stored in a backup vault. If specified, Vault Lock enforces a minimum and
        /// maximum retention period for future backup and copy jobs that target a backup vault.
        /// 
        ///   
        /// 
        /// Backup Vault Lock has been assessed by Cohasset Associates for use in environments
        /// that are subject to SEC 17a-4, CFTC, and FINRA regulations. For more information about
        /// how Backup Vault Lock relates to these regulations, see the Cohasset
        /// Associates Compliance Assessment. 
        /// 
        ///  
        /// 
        /// Container for the necessary parameters to execute the PutBackupVaultLockConfiguration service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutBackupVaultLockConfiguration service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for PutBackupVaultLockConfiguration Operation
        Task PutBackupVaultLockConfigurationAsync(PutBackupVaultLockConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  PutBackupVaultNotifications
        /// 
        /// Turns on notifications on a backup vault for the specified topic and events.
        /// 
        /// Container for the necessary parameters to execute the PutBackupVaultNotifications service method.
        /// 
        /// The response from the PutBackupVaultNotifications service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for PutBackupVaultNotifications Operation
        PutBackupVaultNotificationsResponse PutBackupVaultNotifications(PutBackupVaultNotificationsRequest request);
        /// 
        /// Turns on notifications on a backup vault for the specified topic and events.
        /// 
        /// Container for the necessary parameters to execute the PutBackupVaultNotifications service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the PutBackupVaultNotifications service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for PutBackupVaultNotifications Operation
        Task PutBackupVaultNotificationsAsync(PutBackupVaultNotificationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartBackupJob
        /// 
        /// Starts an on-demand backup job for the specified resource.
        /// 
        /// Container for the necessary parameters to execute the StartBackupJob service method.
        /// 
        /// The response from the StartBackupJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartBackupJob Operation
        StartBackupJobResponse StartBackupJob(StartBackupJobRequest request);
        /// 
        /// Starts an on-demand backup job for the specified resource.
        /// 
        /// Container for the necessary parameters to execute the StartBackupJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartBackupJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartBackupJob Operation
        Task StartBackupJobAsync(StartBackupJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartCopyJob
        /// 
        /// Starts a job to create a one-time copy of the specified resource.
        /// 
        ///  
        /// 
        /// Does not support continuous backups.
        /// 
        /// 
        /// Container for the necessary parameters to execute the StartCopyJob service method.
        /// 
        /// The response from the StartCopyJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartCopyJob Operation
        StartCopyJobResponse StartCopyJob(StartCopyJobRequest request);
        /// 
        /// Starts a job to create a one-time copy of the specified resource.
        /// 
        ///  
        /// 
        /// Does not support continuous backups.
        /// 
        /// 
        /// Container for the necessary parameters to execute the StartCopyJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartCopyJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartCopyJob Operation
        Task StartCopyJobAsync(StartCopyJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartReportJob
        /// 
        /// Starts an on-demand report job for the specified report plan.
        /// 
        /// Container for the necessary parameters to execute the StartReportJob service method.
        /// 
        /// The response from the StartReportJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartReportJob Operation
        StartReportJobResponse StartReportJob(StartReportJobRequest request);
        /// 
        /// Starts an on-demand report job for the specified report plan.
        /// 
        /// Container for the necessary parameters to execute the StartReportJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartReportJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartReportJob Operation
        Task StartReportJobAsync(StartReportJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StartRestoreJob
        /// 
        /// Recovers the saved resource identified by an Amazon Resource Name (ARN).
        /// 
        /// Container for the necessary parameters to execute the StartRestoreJob service method.
        /// 
        /// The response from the StartRestoreJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartRestoreJob Operation
        StartRestoreJobResponse StartRestoreJob(StartRestoreJobRequest request);
        /// 
        /// Recovers the saved resource identified by an Amazon Resource Name (ARN).
        /// 
        /// Container for the necessary parameters to execute the StartRestoreJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StartRestoreJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StartRestoreJob Operation
        Task StartRestoreJobAsync(StartRestoreJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  StopBackupJob
        /// 
        /// Attempts to cancel a job to create a one-time backup of a resource.
        /// 
        ///  
        /// 
        /// This action is not supported for the following services: Amazon FSx for Windows File
        /// Server, Amazon FSx for Lustre, FSx for ONTAP , Amazon FSx for OpenZFS, Amazon DocumentDB
        /// (with MongoDB compatibility), Amazon RDS, Amazon Aurora, and Amazon Neptune.
        /// 
        /// 
        /// Container for the necessary parameters to execute the StopBackupJob service method.
        /// 
        /// The response from the StopBackupJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StopBackupJob Operation
        StopBackupJobResponse StopBackupJob(StopBackupJobRequest request);
        /// 
        /// Attempts to cancel a job to create a one-time backup of a resource.
        /// 
        ///  
        /// 
        /// This action is not supported for the following services: Amazon FSx for Windows File
        /// Server, Amazon FSx for Lustre, FSx for ONTAP , Amazon FSx for OpenZFS, Amazon DocumentDB
        /// (with MongoDB compatibility), Amazon RDS, Amazon Aurora, and Amazon Neptune.
        /// 
        /// 
        /// Container for the necessary parameters to execute the StopBackupJob service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the StopBackupJob service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for StopBackupJob Operation
        Task StopBackupJobAsync(StopBackupJobRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  TagResource
        /// 
        /// Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault
        /// identified by an Amazon Resource Name (ARN).
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        /// The response from the TagResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for TagResource Operation
        TagResourceResponse TagResource(TagResourceRequest request);
        /// 
        /// Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault
        /// identified by an Amazon Resource Name (ARN).
        /// 
        /// Container for the necessary parameters to execute the TagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the TagResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for TagResource Operation
        Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UntagResource
        /// 
        /// Removes a set of key-value pairs from a recovery point, backup plan, or backup vault
        /// identified by an Amazon Resource Name (ARN)
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        /// The response from the UntagResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UntagResource Operation
        UntagResourceResponse UntagResource(UntagResourceRequest request);
        /// 
        /// Removes a set of key-value pairs from a recovery point, backup plan, or backup vault
        /// identified by an Amazon Resource Name (ARN)
        /// 
        /// Container for the necessary parameters to execute the UntagResource service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UntagResource service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UntagResource Operation
        Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateBackupPlan
        /// 
        /// Updates an existing backup plan identified by its backupPlanId with the
        /// input document in JSON format. The new version is uniquely identified by a VersionId.
        /// 
        /// Container for the necessary parameters to execute the UpdateBackupPlan service method.
        /// 
        /// The response from the UpdateBackupPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateBackupPlan Operation
        UpdateBackupPlanResponse UpdateBackupPlan(UpdateBackupPlanRequest request);
        /// 
        /// Updates an existing backup plan identified by its backupPlanId with the
        /// input document in JSON format. The new version is uniquely identified by a VersionId.
        /// 
        /// Container for the necessary parameters to execute the UpdateBackupPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateBackupPlan service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateBackupPlan Operation
        Task UpdateBackupPlanAsync(UpdateBackupPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateFramework
        /// 
        /// Updates an existing framework identified by its FrameworkName with the
        /// input document in JSON format.
        /// 
        /// Container for the necessary parameters to execute the UpdateFramework service method.
        /// 
        /// The response from the UpdateFramework service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateFramework Operation
        UpdateFrameworkResponse UpdateFramework(UpdateFrameworkRequest request);
        /// 
        /// Updates an existing framework identified by its FrameworkName with the
        /// input document in JSON format.
        /// 
        /// Container for the necessary parameters to execute the UpdateFramework service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateFramework service method, as returned by Backup.
        /// 
        /// The required resource already exists.
        /// 
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// A limit in the request has been exceeded; for example, a maximum number of items allowed
        /// in a request.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateFramework Operation
        Task UpdateFrameworkAsync(UpdateFrameworkRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateGlobalSettings
        /// 
        /// Updates whether the Amazon Web Services account is opted in to cross-account backup.
        /// Returns an error if the account is not an Organizations management account. Use the
        /// DescribeGlobalSettings API to determine the current settings.
        /// 
        /// Container for the necessary parameters to execute the UpdateGlobalSettings service method.
        /// 
        /// The response from the UpdateGlobalSettings service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateGlobalSettings Operation
        UpdateGlobalSettingsResponse UpdateGlobalSettings(UpdateGlobalSettingsRequest request);
        /// 
        /// Updates whether the Amazon Web Services account is opted in to cross-account backup.
        /// Returns an error if the account is not an Organizations management account. Use the
        /// DescribeGlobalSettings API to determine the current settings.
        /// 
        /// Container for the necessary parameters to execute the UpdateGlobalSettings service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateGlobalSettings service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateGlobalSettings Operation
        Task UpdateGlobalSettingsAsync(UpdateGlobalSettingsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateRecoveryPointLifecycle
        /// 
        /// Sets the transition lifecycle of a recovery point.
        /// 
        ///  
        /// 
        /// The lifecycle defines when a protected resource is transitioned to cold storage and
        /// when it expires. Backup transitions and expires backups automatically according to
        /// the lifecycle that you define.
        /// 
        ///  
        /// 
        /// Backups transitioned to cold storage must be stored in cold storage for a minimum
        /// of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition
        /// to cold after days” setting. The “transition to cold after days” setting cannot be
        /// changed after a backup has been transitioned to cold.
        /// 
        ///  
        /// 
        /// Resource types that are able to be transitioned to cold storage are listed in the
        /// "Lifecycle to cold storage" section of the 
        /// Feature availability by resource table. Backup ignores this expression for other
        /// resource types.
        /// 
        ///  
        /// 
        /// This operation does not support continuous backups.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateRecoveryPointLifecycle service method.
        /// 
        /// The response from the UpdateRecoveryPointLifecycle service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateRecoveryPointLifecycle Operation
        UpdateRecoveryPointLifecycleResponse UpdateRecoveryPointLifecycle(UpdateRecoveryPointLifecycleRequest request);
        /// 
        /// Sets the transition lifecycle of a recovery point.
        /// 
        ///  
        /// 
        /// The lifecycle defines when a protected resource is transitioned to cold storage and
        /// when it expires. Backup transitions and expires backups automatically according to
        /// the lifecycle that you define.
        /// 
        ///  
        /// 
        /// Backups transitioned to cold storage must be stored in cold storage for a minimum
        /// of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition
        /// to cold after days” setting. The “transition to cold after days” setting cannot be
        /// changed after a backup has been transitioned to cold.
        /// 
        ///  
        /// 
        /// Resource types that are able to be transitioned to cold storage are listed in the
        /// "Lifecycle to cold storage" section of the 
        /// Feature availability by resource table. Backup ignores this expression for other
        /// resource types.
        /// 
        ///  
        /// 
        /// This operation does not support continuous backups.
        /// 
        /// 
        /// Container for the necessary parameters to execute the UpdateRecoveryPointLifecycle service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateRecoveryPointLifecycle service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that something is wrong with the input to the request. For example, a parameter
        /// is of the wrong type.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateRecoveryPointLifecycle Operation
        Task UpdateRecoveryPointLifecycleAsync(UpdateRecoveryPointLifecycleRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateRegionSettings
        /// 
        /// Updates the current service opt-in settings for the Region. If service-opt-in is enabled
        /// for a service, Backup tries to protect that service's resources in this Region, when
        /// the resource is included in an on-demand backup or scheduled backup plan. Otherwise,
        /// Backup does not try to protect that service's resources in this Region. Use the DescribeRegionSettings
        /// API to determine the resource types that are supported.
        /// 
        /// Container for the necessary parameters to execute the UpdateRegionSettings service method.
        /// 
        /// The response from the UpdateRegionSettings service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateRegionSettings Operation
        UpdateRegionSettingsResponse UpdateRegionSettings(UpdateRegionSettingsRequest request);
        /// 
        /// Updates the current service opt-in settings for the Region. If service-opt-in is enabled
        /// for a service, Backup tries to protect that service's resources in this Region, when
        /// the resource is included in an on-demand backup or scheduled backup plan. Otherwise,
        /// Backup does not try to protect that service's resources in this Region. Use the DescribeRegionSettings
        /// API to determine the resource types that are supported.
        /// 
        /// Container for the necessary parameters to execute the UpdateRegionSettings service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateRegionSettings service method, as returned by Backup.
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateRegionSettings Operation
        Task UpdateRegionSettingsAsync(UpdateRegionSettingsRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
        #region  UpdateReportPlan
        /// 
        /// Updates an existing report plan identified by its ReportPlanName with
        /// the input document in JSON format.
        /// 
        /// Container for the necessary parameters to execute the UpdateReportPlan service method.
        /// 
        /// The response from the UpdateReportPlan service method, as returned by Backup.
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateReportPlan Operation
        UpdateReportPlanResponse UpdateReportPlan(UpdateReportPlanRequest request);
        /// 
        /// Updates an existing report plan identified by its ReportPlanName with
        /// the input document in JSON format.
        /// 
        /// Container for the necessary parameters to execute the UpdateReportPlan service method.
        /// 
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// 
        /// 
        /// The response from the UpdateReportPlan service method, as returned by Backup.
        /// 
        /// Backup can't perform the action that you requested until it finishes performing a
        /// previous action. Try again later.
        /// 
        /// 
        /// Indicates that something is wrong with a parameter's value. For example, the value
        /// is out of range.
        /// 
        /// 
        /// Indicates that a required parameter is missing.
        /// 
        /// 
        /// A resource that is required for the action doesn't exist.
        /// 
        /// 
        /// The request failed due to a temporary failure of the server.
        /// 
        /// REST API Reference for UpdateReportPlan Operation
        Task UpdateReportPlanAsync(UpdateReportPlanRequest request, CancellationToken cancellationToken = default(CancellationToken));
        #endregion
        
    }
}