/// <summary>
 /// Creates or removes an access invitation.
 ///
 /// List of thrown errors:
 /// [AccessInvitationError]()
 /// [AuthenticationError]()
 /// [AuthorizationError]()
 /// [HeaderError]()
 /// [InternalError]()
 /// [QuotaError]()
 /// [RequestError]()
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer whose access invitation is being modified.
 /// </param>
 /// <param name="operation">
 /// Required. The operation to perform on the access invitation
 /// </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 <MutateCustomerUserAccessInvitationResponse> MutateCustomerUserAccessInvitationAsync(string customerId, CustomerUserAccessInvitationOperation operation, st::CancellationToken cancellationToken) =>
 MutateCustomerUserAccessInvitationAsync(customerId, operation, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Creates or removes an access invitation.
 ///
 /// List of thrown errors:
 /// [AccessInvitationError]()
 /// [AuthenticationError]()
 /// [AuthorizationError]()
 /// [HeaderError]()
 /// [InternalError]()
 /// [QuotaError]()
 /// [RequestError]()
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer whose access invitation is being modified.
 /// </param>
 /// <param name="operation">
 /// Required. The operation to perform on the access invitation
 /// </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 <MutateCustomerUserAccessInvitationResponse> MutateCustomerUserAccessInvitationAsync(string customerId, CustomerUserAccessInvitationOperation operation, gaxgrpc::CallSettings callSettings = null) =>
 MutateCustomerUserAccessInvitationAsync(new MutateCustomerUserAccessInvitationRequest
 {
     CustomerId = gax::GaxPreconditions.CheckNotNullOrEmpty(customerId, nameof(customerId)),
     Operation  = gax::GaxPreconditions.CheckNotNull(operation, nameof(operation)),
 }, callSettings);