/// <summary>
 /// Updates, removes permission of a user on a given customer. Operation
 /// statuses are returned.
 ///
 /// List of thrown errors:
 /// [AuthenticationError]()
 /// [AuthorizationError]()
 /// [CustomerUserAccessError]()
 /// [FieldMaskError]()
 /// [HeaderError]()
 /// [InternalError]()
 /// [MutateError]()
 /// [QuotaError]()
 /// [RequestError]()
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer being modified.
 /// </param>
 /// <param name="operation">
 /// Required. The operation to perform on the customer
 /// </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 <MutateCustomerUserAccessResponse> MutateCustomerUserAccessAsync(string customerId, CustomerUserAccessOperation operation, st::CancellationToken cancellationToken) =>
 MutateCustomerUserAccessAsync(customerId, operation, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Updates, removes permission of a user on a given customer. Operation
 /// statuses are returned.
 ///
 /// List of thrown errors:
 /// [AuthenticationError]()
 /// [AuthorizationError]()
 /// [CustomerUserAccessError]()
 /// [FieldMaskError]()
 /// [HeaderError]()
 /// [InternalError]()
 /// [MutateError]()
 /// [QuotaError]()
 /// [RequestError]()
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer being modified.
 /// </param>
 /// <param name="operation">
 /// Required. The operation to perform on the customer
 /// </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 <MutateCustomerUserAccessResponse> MutateCustomerUserAccessAsync(string customerId, CustomerUserAccessOperation operation, gaxgrpc::CallSettings callSettings = null) =>
 MutateCustomerUserAccessAsync(new MutateCustomerUserAccessRequest
 {
     CustomerId = gax::GaxPreconditions.CheckNotNullOrEmpty(customerId, nameof(customerId)),
     Operation  = gax::GaxPreconditions.CheckNotNull(operation, nameof(operation)),
 }, callSettings);