/// <summary>
 /// Gets details of the specific container registered to your Recovery Services
 /// Vault.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vaultName'>
 /// The name of the recovery services vault.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group where the recovery services vault is
 /// present.
 /// </param>
 /// <param name='fabricName'>
 /// Name of the fabric where the container belongs.
 /// </param>
 /// <param name='containerName'>
 /// Name of the container whose details need to be fetched.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ProtectionContainerResource> GetAsync(this IProtectionContainersOperations operations, string vaultName, string resourceGroupName, string fabricName, string containerName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(vaultName, resourceGroupName, fabricName, containerName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets details of the specific container registered to your Recovery Services
 /// Vault.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vaultName'>
 /// The name of the recovery services vault.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group where the recovery services vault is
 /// present.
 /// </param>
 /// <param name='fabricName'>
 /// Name of the fabric where the container belongs.
 /// </param>
 /// <param name='containerName'>
 /// Name of the container whose details need to be fetched.
 /// </param>
 public static ProtectionContainerResource Get(this IProtectionContainersOperations operations, string vaultName, string resourceGroupName, string fabricName, string containerName)
 {
     return(operations.GetAsync(vaultName, resourceGroupName, fabricName, containerName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Discovers all the containers in the subscription that can be backed up to
 /// Recovery Services Vault. This is an
 /// asynchronous operation. To know the status of the operation, call
 /// GetRefreshOperationResult API.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vaultName'>
 /// The name of the recovery services vault.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group where the recovery services vault is
 /// present.
 /// </param>
 /// <param name='fabricName'>
 /// Fabric name associated the container.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task RefreshAsync(this IProtectionContainersOperations operations, string vaultName, string resourceGroupName, string fabricName, ODataQuery <BMSRefreshContainersQueryObject> odataQuery = default(ODataQuery <BMSRefreshContainersQueryObject>), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.RefreshWithHttpMessagesAsync(vaultName, resourceGroupName, fabricName, odataQuery, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Discovers all the containers in the subscription that can be backed up to
 /// Recovery Services Vault. This is an
 /// asynchronous operation. To know the status of the operation, call
 /// GetRefreshOperationResult API.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vaultName'>
 /// The name of the recovery services vault.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group where the recovery services vault is
 /// present.
 /// </param>
 /// <param name='fabricName'>
 /// Fabric name associated the container.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 public static void Refresh(this IProtectionContainersOperations operations, string vaultName, string resourceGroupName, string fabricName, ODataQuery <BMSRefreshContainersQueryObject> odataQuery = default(ODataQuery <BMSRefreshContainersQueryObject>))
 {
     operations.RefreshAsync(vaultName, resourceGroupName, fabricName, odataQuery).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Inquires all the protectable items under the given container.
 /// </summary>
 /// <remarks>
 /// This is an async operation and the results should be tracked using location
 /// header or Azure-async-url.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vaultName'>
 /// The name of the recovery services vault.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group where the recovery services vault is
 /// present.
 /// </param>
 /// <param name='fabricName'>
 /// Fabric Name associated with the container.
 /// </param>
 /// <param name='containerName'>
 /// Name of the container in which inquiry needs to be triggered.
 /// </param>
 /// <param name='odataQuery'>
 /// OData parameters to apply to the operation.
 /// </param>
 public static void Inquire(this IProtectionContainersOperations operations, string vaultName, string resourceGroupName, string fabricName, string containerName, ODataQuery <BMSContainersInquiryQueryObject> odataQuery = default(ODataQuery <BMSContainersInquiryQueryObject>))
 {
     operations.InquireAsync(vaultName, resourceGroupName, fabricName, containerName, odataQuery).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Unregisters the given container from your Recovery Services Vault. This is
 /// an asynchronous operation. To determine
 /// whether the backend service has finished processing the request, call Get
 /// Container Operation Result API.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vaultName'>
 /// The name of the recovery services vault.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group where the recovery services vault is
 /// present.
 /// </param>
 /// <param name='fabricName'>
 /// Name of the fabric where the container belongs.
 /// </param>
 /// <param name='containerName'>
 /// Name of the container which needs to be unregistered from the Recovery
 /// Services Vault.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task UnregisterAsync(this IProtectionContainersOperations operations, string vaultName, string resourceGroupName, string fabricName, string containerName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.UnregisterWithHttpMessagesAsync(vaultName, resourceGroupName, fabricName, containerName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Unregisters the given container from your Recovery Services Vault. This is
 /// an asynchronous operation. To determine
 /// whether the backend service has finished processing the request, call Get
 /// Container Operation Result API.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='vaultName'>
 /// The name of the recovery services vault.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group where the recovery services vault is
 /// present.
 /// </param>
 /// <param name='fabricName'>
 /// Name of the fabric where the container belongs.
 /// </param>
 /// <param name='containerName'>
 /// Name of the container which needs to be unregistered from the Recovery
 /// Services Vault.
 /// </param>
 public static void Unregister(this IProtectionContainersOperations operations, string vaultName, string resourceGroupName, string fabricName, string containerName)
 {
     operations.UnregisterAsync(vaultName, resourceGroupName, fabricName, containerName).GetAwaiter().GetResult();
 }