/// <summary>
 /// Creates or updates a customer client link. Operation statuses are returned.
 /// </summary>
 /// <param name="customerId">
 /// The ID of the customer whose customer link are being modified.
 /// </param>
 /// <param name="operation">
 /// The operation to perform on the individual CustomerClientLink.
 /// </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 <MutateCustomerClientLinkResponse> MutateCustomerClientLinkAsync(
     string customerId,
     CustomerClientLinkOperation operation,
     st::CancellationToken cancellationToken) => MutateCustomerClientLinkAsync(
     customerId,
     operation,
     gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Creates or updates a customer client link. Operation statuses are returned.
 /// </summary>
 /// <param name="customerId">
 /// The ID of the customer whose customer link are being modified.
 /// </param>
 /// <param name="operation">
 /// The operation to perform on the individual CustomerClientLink.
 /// </param>
 /// <param name="callSettings">
 /// If not null, applies overrides to this RPC call.
 /// </param>
 /// <returns>
 /// The RPC response.
 /// </returns>
 public virtual MutateCustomerClientLinkResponse MutateCustomerClientLink(
     string customerId,
     CustomerClientLinkOperation operation,
     gaxgrpc::CallSettings callSettings = null) => MutateCustomerClientLink(
     new MutateCustomerClientLinkRequest
 {
     CustomerId = gax::GaxPreconditions.CheckNotNullOrEmpty(customerId, nameof(customerId)),
     Operation  = gax::GaxPreconditions.CheckNotNull(operation, nameof(operation)),
 },
     callSettings);