/// <summary>
 /// Get details of a particular job.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IJobOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='name'>
 /// Optional. Name of the job whose details should be retrieved.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// Response model for job details operation
 /// </returns>
 public static CSMJobDetails Get(this IJobOperations operations, string resourceGroupName, string resourceName, string name, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IJobOperations)s).GetAsync(resourceGroupName, resourceName, name, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Get the list of all container based on the given query filter
 /// string.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='parameters'>
 /// Optional. Container query parameters.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a CSMContainerListOperationResponse.
 /// </returns>
 public static CSMContainerListOperationResponse List(this IContainerOperations operations, string resourceGroupName, string resourceName, ContainerQueryParameters parameters, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IContainerOperations)s).ListAsync(resourceGroupName, resourceName, parameters, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Get the list of all container based on the given query filter
 /// string.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='containerType'>
 /// Required. Type of container.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// List of Microsoft Azure Recovery Services (MARS) containers.
 /// </returns>
 public static ListMarsContainerOperationResponse ListMarsContainersByType(this IContainerOperations operations, MarsContainerType containerType, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IContainerOperations)s).ListMarsContainersByTypeAsync(containerType, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Create new Protection Policy.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.ICSMProtectionPolicyOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='policyName'>
 /// Required. The protection policy Name to be updated.
 /// </param>
 /// <param name='cSMAddProtectionPolicyRequest'>
 /// Required. The protection policy creation request.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// A standard service response including an HTTP status code and
 /// request ID.
 /// </returns>
 public static AzureOperationResponse Add(this ICSMProtectionPolicyOperations operations, string resourceGroupName, string resourceName, string policyName, CSMAddProtectionPolicyRequest cSMAddProtectionPolicyRequest, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((ICSMProtectionPolicyOperations)s).AddAsync(resourceGroupName, resourceName, policyName, cSMAddProtectionPolicyRequest, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Get the list of all items
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IProtectableObjectOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='csmparameters'>
 /// Optional. Protectable objects query parameter.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a CSMItemListOperationResponse.
 /// </returns>
 public static CSMItemListOperationResponse ListCSM(this IProtectableObjectOperations operations, string resourceGroupName, string resourceName, CSMItemQueryObject csmparameters, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IProtectableObjectOperations)s).ListCSMAsync(resourceGroupName, resourceName, csmparameters, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Enable the container reregistration.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='containerId'>
 /// Required. MARS container ID.
 /// </param>
 /// <param name='enableReregistrationRequest'>
 /// Required. Enable Reregistration Request.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static OperationResponse EnableMarsContainerReregistration(this IContainerOperations operations, string containerId, EnableReregistrationRequest enableReregistrationRequest, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IContainerOperations)s).EnableMarsContainerReregistrationAsync(containerId, enableReregistrationRequest, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Creates a new Azure backup vault.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of resource group to which vault belongs
 /// </param>
 /// <param name='resourceName'>
 /// Required. The name of the vault
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters to create or update the vault
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// Vault information.
 /// </returns>
 public static AzureBackupVaultGetResponse CreateOrUpdate(this IVaultOperations operations, string resourceGroupName, string resourceName, AzureBackupVaultCreateOrUpdateParameters parameters, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IVaultOperations)s).CreateOrUpdateAsync(resourceGroupName, resourceName, parameters, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// BackUp the AzureBackUpItem.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IBackUpOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <param name='containerName'>
 /// Optional.
 /// </param>
 /// <param name='itemName'>
 /// Optional.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static OperationResponse TriggerBackUp(this IBackUpOperations operations, string resourceGroupName, string resourceName, CustomRequestHeaders customRequestHeaders, string containerName, string itemName)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IBackUpOperations)s).TriggerBackUpAsync(resourceGroupName, resourceName, customRequestHeaders, containerName, itemName);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Updates vault storage model type.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='updateVaultStorageTypeRequest'>
 /// Required. Update Vault Storage Type Request
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static Task<OperationResponse> UpdateStorageTypeAsync(this IVaultOperations operations, string resourceGroupName, string resourceName, UpdateVaultStorageTypeRequest updateVaultStorageTypeRequest, CustomRequestHeaders customRequestHeaders)
 {
     return operations.UpdateStorageTypeAsync(resourceGroupName, resourceName, updateVaultStorageTypeRequest, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Updates vault storage model type.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='updateVaultStorageTypeRequest'>
 /// Required. Update Vault Storage Type Request
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static OperationResponse UpdateStorageType(this IVaultOperations operations, string resourceGroupName, string resourceName, UpdateVaultStorageTypeRequest updateVaultStorageTypeRequest, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IVaultOperations)s).UpdateStorageTypeAsync(resourceGroupName, resourceName, updateVaultStorageTypeRequest, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Unregister the container.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='containerName'>
 /// Required. Container which we want to unregister.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Required. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static Task<OperationResponse> UnregisterAsync(this IContainerOperations operations, string resourceGroupName, string resourceName, string containerName, CustomRequestHeaders customRequestHeaders)
 {
     return operations.UnregisterAsync(resourceGroupName, resourceName, containerName, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Get the list of all container based on the given query filter
 /// string.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='containerType'>
 /// Required. Type of container.
 /// </param>
 /// <param name='friendlyName'>
 /// Required. Friendly name of container.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// List of Microsoft Azure Recovery Services (MARS) containers.
 /// </returns>
 public static Task<ListMarsContainerOperationResponse> ListMarsContainersByTypeAndFriendlyNameAsync(this IContainerOperations operations, MarsContainerType containerType, string friendlyName, CustomRequestHeaders customRequestHeaders)
 {
     return operations.ListMarsContainersByTypeAndFriendlyNameAsync(containerType, friendlyName, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// BackUp the AzureBackUpItem.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IBackUpOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <param name='containerName'>
 /// Optional.
 /// </param>
 /// <param name='itemName'>
 /// Optional.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static Task<OperationResponse> TriggerBackUpAsync(this IBackUpOperations operations, string resourceGroupName, string resourceName, CustomRequestHeaders customRequestHeaders, string containerName, string itemName)
 {
     return operations.TriggerBackUpAsync(resourceGroupName, resourceName, customRequestHeaders, containerName, itemName, CancellationToken.None);
 }
 /// <summary>
 /// Updates vault storage model type.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='updateVaultStorageTypeRequest'>
 /// Required. Update Vault Storage Type Request
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static Task<OperationResponse> UpdateStorageTypeAsync(this IVaultOperations operations, UpdateVaultStorageTypeRequest updateVaultStorageTypeRequest, CustomRequestHeaders customRequestHeaders)
 {
     return operations.UpdateStorageTypeAsync(updateVaultStorageTypeRequest, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Fetches resource storage config.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of resource group to which vault belongs
 /// </param>
 /// <param name='vaultName'>
 /// Required. The name of the vault
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a get resource storage config response.
 /// </returns>
 public static GetResourceStorageConfigResponse GetResourceStorageConfig(this IVaultOperations operations, string resourceGroupName, string vaultName, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IVaultOperations)s).GetResourceStorageConfigAsync(resourceGroupName, vaultName, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Restore Azure BackUpItem.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IRestoreOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <param name='containerName'>
 /// Optional.
 /// </param>
 /// <param name='itemName'>
 /// Optional.
 /// </param>
 /// <param name='recoveryPointName'>
 /// Optional.
 /// </param>
 /// <param name='parameters'>
 /// Optional.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static Task<OperationResponse> TriggerResotreAsync(this IRestoreOperations operations, string resourceGroupName, string resourceName, CustomRequestHeaders customRequestHeaders, string containerName, string itemName, string recoveryPointName, CSMRestoreRequest parameters)
 {
     return operations.TriggerResotreAsync(resourceGroupName, resourceName, customRequestHeaders, containerName, itemName, recoveryPointName, parameters, CancellationToken.None);
 }
 /// <summary>
 /// Get the list of all items
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IProtectableObjectOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='csmparameters'>
 /// Optional. Protectable objects query parameter.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a CSMItemListOperationResponse.
 /// </returns>
 public static Task<CSMItemListOperationResponse> ListCSMAsync(this IProtectableObjectOperations operations, string resourceGroupName, string resourceName, CSMItemQueryObject csmparameters, CustomRequestHeaders customRequestHeaders)
 {
     return operations.ListCSMAsync(resourceGroupName, resourceName, csmparameters, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Uploads vault credential certificate.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='certificateName'>
 /// Required. Name of the certificate.
 /// </param>
 /// <param name='vaultCredUploadCertRequest'>
 /// Required. Certificate parameters.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a certificate response.
 /// </returns>
 public static VaultCredUploadCertResponse UploadCertificate(this IVaultOperations operations, string resourceGroupName, string resourceName, string certificateName, VaultCredUploadCertRequest vaultCredUploadCertRequest, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IVaultOperations)s).UploadCertificateAsync(resourceGroupName, resourceName, certificateName, vaultCredUploadCertRequest, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Uploads vault credential certificate.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='certificateName'>
 /// Required. Name of the certificate.
 /// </param>
 /// <param name='vaultCredUploadCertRequest'>
 /// Required. Certificate parameters.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a certificate response.
 /// </returns>
 public static Task<VaultCredUploadCertResponse> UploadCertificateAsync(this IVaultOperations operations, string resourceGroupName, string resourceName, string certificateName, VaultCredUploadCertRequest vaultCredUploadCertRequest, CustomRequestHeaders customRequestHeaders)
 {
     return operations.UploadCertificateAsync(resourceGroupName, resourceName, certificateName, vaultCredUploadCertRequest, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Deletes the specified Azure backup vault.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of resource group to which vault belongs
 /// </param>
 /// <param name='resourceName'>
 /// Required. The name of the vault
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// Vault information.
 /// </returns>
 public static Task<AzureBackupVaultGetResponse> DeleteAsync(this IVaultOperations operations, string resourceGroupName, string resourceName, CustomRequestHeaders customRequestHeaders)
 {
     return operations.DeleteAsync(resourceGroupName, resourceName, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Creates a new Azure backup vault.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of resource group to which vault belongs
 /// </param>
 /// <param name='resourceName'>
 /// Required. The name of the vault
 /// </param>
 /// <param name='parameters'>
 /// Required. Parameters to create or update the vault
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// Vault information.
 /// </returns>
 public static Task<AzureBackupVaultGetResponse> CreateOrUpdateAsync(this IVaultOperations operations, string resourceGroupName, string resourceName, AzureBackupVaultCreateOrUpdateParameters parameters, CustomRequestHeaders customRequestHeaders)
 {
     return operations.CreateOrUpdateAsync(resourceGroupName, resourceName, parameters, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Fetches resource storage config.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required. The name of resource group to which vault belongs
 /// </param>
 /// <param name='resourceName'>
 /// Required. The name of the vault
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a get resource storage config response.
 /// </returns>
 public static Task<GetResourceStorageConfigResponse> GetResourceStorageConfigAsync(this IVaultOperations operations, string resourceGroupName, string resourceName, CustomRequestHeaders customRequestHeaders)
 {
     return operations.GetResourceStorageConfigAsync(resourceGroupName, resourceName, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Unregister the container.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='containerId'>
 /// Required. MARS container ID.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static Task<OperationResponse> UnregisterMarsContainerAsync(this IContainerOperations operations, string containerId, CustomRequestHeaders customRequestHeaders)
 {
     return operations.UnregisterMarsContainerAsync(containerId, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Gets information of the backup vaults associated with subscription.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='top'>
 /// Required. Maximum number of results to return.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// List of vaults
 /// </returns>
 public static Task<AzureBackupVaultListResponse> ListAsync(this IVaultOperations operations, int top, CustomRequestHeaders customRequestHeaders)
 {
     return operations.ListAsync(top, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Enable the container reregistration.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='containerId'>
 /// Required. MARS container ID.
 /// </param>
 /// <param name='enableReregistrationRequest'>
 /// Required. Enable Reregistration Request.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a Operation Response.
 /// </returns>
 public static Task<OperationResponse> EnableMarsContainerReregistrationAsync(this IContainerOperations operations, string containerId, EnableReregistrationRequest enableReregistrationRequest, CustomRequestHeaders customRequestHeaders)
 {
     return operations.EnableMarsContainerReregistrationAsync(containerId, enableReregistrationRequest, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Get the list of all container based on the given query filter
 /// string.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IContainerOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='parameters'>
 /// Optional. Container query parameters.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The definition of a CSMContainerListOperationResponse.
 /// </returns>
 public static Task<CSMContainerListOperationResponse> ListAsync(this IContainerOperations operations, string resourceGroupName, string resourceName, ContainerQueryParameters parameters, CustomRequestHeaders customRequestHeaders)
 {
     return operations.ListAsync(resourceGroupName, resourceName, parameters, customRequestHeaders, CancellationToken.None);
 }
 /// <summary>
 /// Gets information of the backup vaults associated with resource
 /// group.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Optional. An optional argument which specifies the name of the
 /// resource group that constrains the set of vaults that are returned.
 /// </param>
 /// <param name='top'>
 /// Required. Maximum number of results to return.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// List of vaults
 /// </returns>
 public static AzureBackupVaultListResponse ListByResourceGroup(this IVaultOperations operations, string resourceGroupName, int top, CustomRequestHeaders customRequestHeaders)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IVaultOperations)s).ListByResourceGroupAsync(resourceGroupName, top, customRequestHeaders);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }
 /// <summary>
 /// Get details of a particular job.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IJobOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Required.
 /// </param>
 /// <param name='resourceName'>
 /// Required.
 /// </param>
 /// <param name='name'>
 /// Optional. Name of the job whose details should be retrieved.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// Response model for job details operation
 /// </returns>
 public static Task<CSMJobDetails> GetAsync(this IJobOperations operations, string resourceGroupName, string resourceName, string name, CustomRequestHeaders customRequestHeaders)
 {
     return operations.GetAsync(resourceGroupName, resourceName, name, customRequestHeaders, CancellationToken.None);
 }
        internal CustomRequestHeaders GetCustomRequestHeaders()
        {
            var hdrs = new CustomRequestHeaders()
            {
                // ClientRequestId is a unique ID for every request to backend service.
                ClientRequestId = this.clientRequestId,
            };

            return hdrs;
        }
 /// <summary>
 /// Gets information of the backup vaults associated with resource
 /// group.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.BackupServices.IVaultOperations.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Optional. An optional argument which specifies the name of the
 /// resource group that constrains the set of vaults that are returned.
 /// </param>
 /// <param name='top'>
 /// Required. Maximum number of results to return.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// List of vaults
 /// </returns>
 public static Task<AzureBackupVaultListResponse> ListByResourceGroupAsync(this IVaultOperations operations, string resourceGroupName, int top, CustomRequestHeaders customRequestHeaders)
 {
     return operations.ListByResourceGroupAsync(resourceGroupName, top, customRequestHeaders, CancellationToken.None);
 }