/// <summary>
 /// Initializes a new instance of a RestoreOperation for mocking purposes.
 /// </summary>
 /// <param name="value">The <see cref="RestoreDetailsInternal" /> that will be used to populate various properties.</param>
 /// <param name="response">The <see cref="Response" /> that will be returned from <see cref="GetRawResponse" />.</param>
 /// <param name="client">An instance of <see cref="KeyVaultBackupClient" />.</param>
 /// <exception cref="ArgumentNullException"><paramref name="value"/> or <paramref name="response"/> or <paramref name="client"/> is null.</exception>
 internal RestoreOperation(RestoreDetailsInternal value, Response response, KeyVaultBackupClient client)
 {
     _operationInternal = new RestoreOperationInternal <AzureSecurityKeyVaultAdministrationFullRestoreOperationHeaders, RestoreResult, RestoreDetailsInternal>(value, response, client);
 }
 /// <summary>
 /// Initializes a new instance of a RestoreOperation.
 /// </summary>
 /// <param name="client">An instance of <see cref="KeyVaultBackupClient" />.</param>
 /// <param name="response">The <see cref="ResponseWithHeaders{T, THeaders}" /> returned from <see cref="KeyVaultBackupClient.StartRestore"/> or <see cref="KeyVaultBackupClient.StartRestoreAsync"/>.</param>
 /// <exception cref="ArgumentNullException"><paramref name="client"/> or <paramref name="response"/> is null.</exception>
 internal RestoreOperation(KeyVaultBackupClient client, ResponseWithHeaders <AzureSecurityKeyVaultAdministrationFullRestoreOperationHeaders> response)
 {
     _operationInternal = new RestoreOperationInternal <AzureSecurityKeyVaultAdministrationFullRestoreOperationHeaders, RestoreResult, RestoreDetailsInternal>(client, response);
 }
 /// <summary>
 /// Creates an instance of a SelectiveKeyRestoreOperation from a previously started operation. <see cref="UpdateStatus(CancellationToken)"/>, <see cref="UpdateStatusAsync(CancellationToken)"/>,
 ///  <see cref="WaitForCompletionAsync(CancellationToken)"/>, or <see cref="WaitForCompletionAsync(TimeSpan, CancellationToken)"/> must be called
 /// to re-populate the details of this operation.
 /// </summary>
 /// <param name="client">An instance of <see cref="KeyVaultBackupClient" />.</param>
 /// <param name="id">The <see cref="Id" /> from a previous <see cref="KeyVaultBackupOperation" />.</param>
 /// <exception cref="ArgumentNullException"><paramref name="id"/> or <paramref name="client"/> is null.</exception>
 public KeyVaultSelectiveKeyRestoreOperation(KeyVaultBackupClient client, string id)
 {
     _operationInternal = new RestoreOperationInternal <AzureSecurityKeyVaultAdministrationSelectiveKeyRestoreOperationHeaders, KeyVaultSelectiveKeyRestoreResult, SelectiveKeyRestoreDetailsInternal>(client, id);
 }
 /// <summary>
 /// Creates an instance of a RestoreOperation from a previously started operation. <see cref="UpdateStatus(CancellationToken)"/>, <see cref="UpdateStatusAsync(CancellationToken)"/>,
 ///  <see cref="WaitForCompletionAsync(CancellationToken)"/>, or <see cref="WaitForCompletionAsync(TimeSpan, CancellationToken)"/> must be called
 /// to re-populate the details of this operation.
 /// </summary>
 /// <param name="client">An instance of <see cref="KeyVaultBackupClient" />.</param>
 /// <param name="id">The <see cref="Id" /> from a previous <see cref="BackupOperation" />.</param>
 /// <exception cref="ArgumentNullException"><paramref name="id"/> or <paramref name="client"/> is null.</exception>
 public RestoreOperation(KeyVaultBackupClient client, string id)
 {
     _operationInternal = new RestoreOperationInternal <AzureSecurityKeyVaultAdministrationFullRestoreOperationHeaders, RestoreResult, RestoreDetailsInternal>(client, id);
 }
 /// <summary>
 /// Initializes a new instance of a SelectiveKeyRestoreOperation.
 /// </summary>
 /// <param name="client">An instance of <see cref="KeyVaultBackupClient" />.</param>
 /// <param name="response">The <see cref="ResponseWithHeaders{T, THeaders}" /> returned from <see cref="KeyVaultBackupClient.StartRestore"/> or <see cref="KeyVaultBackupClient.StartRestoreAsync"/>.</param>
 /// <exception cref="ArgumentNullException"><paramref name="client"/> or <paramref name="response"/> is null.</exception>
 internal SelectiveKeyRestoreOperation(KeyVaultBackupClient client, ResponseWithHeaders <AzureSecurityKeyVaultAdministrationSelectiveKeyRestoreOperationHeaders> response)
 {
     _operationInternal = new RestoreOperationInternal <AzureSecurityKeyVaultAdministrationSelectiveKeyRestoreOperationHeaders, SelectiveKeyRestoreResult>(client, response);
 }