/// <summary>
 /// Returns permissions that a caller has on the specified resource.
 /// If the resource does not exist, this will return an empty set of
 /// permissions, not a NOT_FOUND error.
 ///
 /// Note: This operation is designed to be used for building permission-aware
 /// UIs and command-line tools, not for authorization checking. This operation
 /// may "fail open" without warning.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</param>
 /// <param name="callSettings">If not null, applies overrides to this RPC call.</param>
 /// <returns>A Task containing the RPC response.</returns>
 public override stt::Task <TestIamPermissionsResponse> TestIamPermissionsAsync(TestIamPermissionsRequest request, gaxgrpc::CallSettings callSettings = null)
 {
     Modify_TestIamPermissionsRequest(ref request, ref callSettings);
     return(_callTestIamPermissions.Async(request, callSettings));
 }
 /// <summary>
 /// Returns permissions that a caller has on the specified resource.
 /// If the resource does not exist, this will return an empty set of
 /// permissions, not a NOT_FOUND error.
 ///
 /// Note: This operation is designed to be used for building permission-aware
 /// UIs and command-line tools, not for authorization checking. This operation
 /// may "fail open" without warning.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</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 <TestIamPermissionsResponse> TestIamPermissionsAsync(TestIamPermissionsRequest request, st::CancellationToken cancellationToken) =>
 TestIamPermissionsAsync(request, gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 partial void Modify_TestIamPermissionsRequest(ref TestIamPermissionsRequest request, ref gaxgrpc::CallSettings settings);
 /// <summary>
 /// Returns permissions that a caller has on the specified resource.
 /// If the resource does not exist, this will return an empty set of
 /// permissions, not a NOT_FOUND error.
 ///
 /// Note: This operation is designed to be used for building permission-aware
 /// UIs and command-line tools, not for authorization checking. This operation
 /// may "fail open" without warning.
 /// </summary>
 /// <param name="request">The request object containing all of the parameters for the API call.</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 <TestIamPermissionsResponse> TestIamPermissionsAsync(TestIamPermissionsRequest request, gaxgrpc::CallSettings callSettings = null) =>
 throw new sys::NotImplementedException();