/// <summary>
 /// Creates, updates, or removes ad groups. Operation statuses are returned.
 /// </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>
 /// The RPC response.
 /// </returns>
 public virtual MutateAdGroupsResponse MutateAdGroups(
     MutateAdGroupsRequest request,
     gaxgrpc::CallSettings callSettings = null)
 {
     throw new sys::NotImplementedException();
 }
 partial void Modify_MutateAdGroupsRequest(ref MutateAdGroupsRequest request, ref gaxgrpc::CallSettings settings);
 /// <summary>
 /// Creates, updates, or removes ad groups. Operation statuses are returned.
 /// </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 <MutateAdGroupsResponse> MutateAdGroupsAsync(
     MutateAdGroupsRequest request,
     st::CancellationToken cancellationToken) => MutateAdGroupsAsync(
     request,
     gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));