/// <summary>
 /// Delete storage mapping.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.SiteRecovery.IStoragePoolMappingOperations.
 /// </param>
 /// <param name='parameters'>
 /// Required. Storage pool mapping input
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The response model for the Job details object.
 /// </returns>
 public static JobResponse Delete(this IStoragePoolMappingOperations operations, StoragePoolMappingInput parameters, CustomRequestHeaders customRequestHeaders)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IStoragePoolMappingOperations)s).DeleteAsync(parameters, customRequestHeaders);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Get the list of all storage pool mappings under the vault.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.SiteRecovery.IStoragePoolMappingOperations.
 /// </param>
 /// <param name='primaryServerId'>
 /// Required. Primary server Id.
 /// </param>
 /// <param name='recoveryServerId'>
 /// Required. Recovery server Id.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The response model for the list of storage pool mappings operation.
 /// </returns>
 public static StoragePoolMappingListResponse List(this IStoragePoolMappingOperations operations, string primaryServerId, string recoveryServerId, CustomRequestHeaders customRequestHeaders)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((IStoragePoolMappingOperations)s).ListAsync(primaryServerId, recoveryServerId, customRequestHeaders);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Initializes a new instance of the SiteRecoveryManagementClient
 /// class.
 /// </summary>
 /// <param name='httpClient'>
 /// The Http client
 /// </param>
 public SiteRecoveryManagementClient(HttpClient httpClient)
     : base(httpClient)
 {
     this._jobs                = new JobOperations(this);
     this._networkMappings     = new NetworkMappingOperations(this);
     this._networks            = new NetworkOperations(this);
     this._protectionContainer = new ProtectionContainerOperations(this);
     this._protectionEntity    = new ProtectionEntityOperations(this);
     this._protectionProfile   = new ProtectionProfileOperations(this);
     this._recoveryPlan        = new RecoveryPlanOperations(this);
     this._servers             = new ServerOperations(this);
     this._sites               = new SiteOperations(this);
     this._storageMappings     = new StorageMappingOperations(this);
     this._storages            = new StorageOperations(this);
     this._storagePoolMappings = new StoragePoolMappingOperations(this);
     this._vaultExtendedInfo   = new VaultExtendedInfoOperations(this);
     this._vmGroup             = new VirtualMachineGroupOperations(this);
     this._vm         = new VirtualMachineOperations(this);
     this._apiVersion = "2013-03-01";
     this._longRunningOperationInitialTimeout = -1;
     this._longRunningOperationRetryTimeout   = -1;
     this.HttpClient.Timeout = TimeSpan.FromSeconds(300);
 }
 /// <summary>
 /// Create storage mapping.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.SiteRecovery.IStoragePoolMappingOperations.
 /// </param>
 /// <param name='parameters'>
 /// Required. Storage pool mapping input.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The response model for the Job details object.
 /// </returns>
 public static Task <JobResponse> CreateAsync(this IStoragePoolMappingOperations operations, StoragePoolMappingInput parameters, CustomRequestHeaders customRequestHeaders)
 {
     return(operations.CreateAsync(parameters, customRequestHeaders, CancellationToken.None));
 }
 /// <summary>
 /// Get the list of all storage pool mappings under the vault.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.WindowsAzure.Management.SiteRecovery.IStoragePoolMappingOperations.
 /// </param>
 /// <param name='primaryServerId'>
 /// Required. Primary server Id.
 /// </param>
 /// <param name='recoveryServerId'>
 /// Required. Recovery server Id.
 /// </param>
 /// <param name='customRequestHeaders'>
 /// Optional. Request header parameters.
 /// </param>
 /// <returns>
 /// The response model for the list of storage pool mappings operation.
 /// </returns>
 public static Task <StoragePoolMappingListResponse> ListAsync(this IStoragePoolMappingOperations operations, string primaryServerId, string recoveryServerId, CustomRequestHeaders customRequestHeaders)
 {
     return(operations.ListAsync(primaryServerId, recoveryServerId, customRequestHeaders, CancellationToken.None));
 }