/// <summary>
 /// Creates or removes an account link.
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer being modified.
 /// </param>
 /// <param name="operation">
 /// Required. The operation to perform on the link.
 /// </param>
 /// <param name="cancellationToken">A <see cref="st::CancellationToken"/> to use for this RPC.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <MutateAccountLinkResponse> MutateAccountLinkAsync(string customerId, AccountLinkOperation operation, st::CancellationToken cancellationToken) =>
 MutateAccountLinkAsync(customerId, operation, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Creates or removes an account link.
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer being modified.
 /// </param>
 /// <param name="operation">
 /// Required. The operation to perform on the link.
 /// </param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public virtual stt::Task <MutateAccountLinkResponse> MutateAccountLinkAsync(string customerId, AccountLinkOperation operation, gaxgrpc::CallSettings callSettings = null) =>
 MutateAccountLinkAsync(new MutateAccountLinkRequest
 {
     CustomerId = gax::GaxPreconditions.CheckNotNullOrEmpty(customerId, nameof(customerId)),
     Operation  = gax::GaxPreconditions.CheckNotNull(operation, nameof(operation)),
 }, callSettings);