/// <summary>
 /// Creates, updates, or removes Keyword Plan ad groups. Operation statuses are
 /// returned.
 ///
 /// List of thrown errors:
 ///   [AuthenticationError]()
 ///   [AuthorizationError]()
 ///   [DatabaseError]()
 ///   [FieldError]()
 ///   [FieldMaskError]()
 ///   [HeaderError]()
 ///   [InternalError]()
 ///   [KeywordPlanAdGroupError]()
 ///   [KeywordPlanError]()
 ///   [MutateError]()
 ///   [NewResourceCreationError]()
 ///   [QuotaError]()
 ///   [RequestError]()
 ///   [ResourceCountLimitExceededError]()
 /// </summary>
 /// <param name="request">The request to send to the server.</param>
 /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
 /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
 /// <param name="cancellationToken">An optional token for canceling the call.</param>
 /// <returns>The call object.</returns>
 public virtual grpc::AsyncUnaryCall <global::Google.Ads.GoogleAds.V7.Services.MutateKeywordPlanAdGroupsResponse> MutateKeywordPlanAdGroupsAsync(global::Google.Ads.GoogleAds.V7.Services.MutateKeywordPlanAdGroupsRequest request, grpc::Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
 {
     return(MutateKeywordPlanAdGroupsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)));
 }
 /// <summary>
 /// Creates, updates, or removes Keyword Plan ad groups. Operation statuses are
 /// returned.
 ///
 /// List of thrown errors:
 ///   [AuthenticationError]()
 ///   [AuthorizationError]()
 ///   [DatabaseError]()
 ///   [FieldError]()
 ///   [FieldMaskError]()
 ///   [HeaderError]()
 ///   [InternalError]()
 ///   [KeywordPlanAdGroupError]()
 ///   [KeywordPlanError]()
 ///   [MutateError]()
 ///   [NewResourceCreationError]()
 ///   [QuotaError]()
 ///   [RequestError]()
 ///   [ResourceCountLimitExceededError]()
 /// </summary>
 /// <param name="request">The request to send to the server.</param>
 /// <param name="options">The options for the call.</param>
 /// <returns>The call object.</returns>
 public virtual grpc::AsyncUnaryCall <global::Google.Ads.GoogleAds.V7.Services.MutateKeywordPlanAdGroupsResponse> MutateKeywordPlanAdGroupsAsync(global::Google.Ads.GoogleAds.V7.Services.MutateKeywordPlanAdGroupsRequest request, grpc::CallOptions options)
 {
     return(CallInvoker.AsyncUnaryCall(__Method_MutateKeywordPlanAdGroups, null, options, request));
 }
 /// <summary>
 /// Creates, updates, or removes Keyword Plan ad groups. Operation statuses are
 /// returned.
 ///
 /// List of thrown errors:
 ///   [AuthenticationError]()
 ///   [AuthorizationError]()
 ///   [DatabaseError]()
 ///   [FieldError]()
 ///   [FieldMaskError]()
 ///   [HeaderError]()
 ///   [InternalError]()
 ///   [KeywordPlanAdGroupError]()
 ///   [KeywordPlanError]()
 ///   [MutateError]()
 ///   [NewResourceCreationError]()
 ///   [QuotaError]()
 ///   [RequestError]()
 ///   [ResourceCountLimitExceededError]()
 /// </summary>
 /// <param name="request">The request received from the client.</param>
 /// <param name="context">The context of the server-side call handler being invoked.</param>
 /// <returns>The response to send back to the client (wrapped by a task).</returns>
 public virtual global::System.Threading.Tasks.Task <global::Google.Ads.GoogleAds.V7.Services.MutateKeywordPlanAdGroupsResponse> MutateKeywordPlanAdGroups(global::Google.Ads.GoogleAds.V7.Services.MutateKeywordPlanAdGroupsRequest request, grpc::ServerCallContext context)
 {
     throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
 }