/// <summary>
 /// Creates a <see cref="CampaignCriterionServiceClient"/> which uses the specified call invoker for remote
 /// operations.
 /// </summary>
 /// <param name="callInvoker">
 /// The <see cref="grpccore::CallInvoker"/> for remote operations. Must not be null.
 /// </param>
 /// <param name="settings">Optional <see cref="CampaignCriterionServiceSettings"/>.</param>
 /// <returns>The created <see cref="CampaignCriterionServiceClient"/>.</returns>
 internal static CampaignCriterionServiceClient Create(grpccore::CallInvoker callInvoker, CampaignCriterionServiceSettings settings = null)
 {
     gax::GaxPreconditions.CheckNotNull(callInvoker, nameof(callInvoker));
     grpcinter::Interceptor interceptor = settings?.Interceptor;
     if (interceptor != null)
     {
         callInvoker = grpcinter::CallInvokerExtensions.Intercept(callInvoker, interceptor);
     }
     CampaignCriterionService.CampaignCriterionServiceClient grpcClient = new CampaignCriterionService.CampaignCriterionServiceClient(callInvoker);
     return new CampaignCriterionServiceClientImpl(grpcClient, settings);
 }
 /// <summary>
 /// Constructs a client wrapper for the CampaignCriterionService service, with the specified gRPC client and
 /// settings.
 /// </summary>
 /// <param name="grpcClient">The underlying gRPC client.</param>
 /// <param name="settings">
 /// The base <see cref="CampaignCriterionServiceSettings"/> used within this client.
 /// </param>
 public CampaignCriterionServiceClientImpl(CampaignCriterionService.CampaignCriterionServiceClient grpcClient, CampaignCriterionServiceSettings settings)
 {
     GrpcClient = grpcClient;
     CampaignCriterionServiceSettings effectiveSettings = settings ?? CampaignCriterionServiceSettings.GetDefault();
     gaxgrpc::ClientHelper clientHelper = new gaxgrpc::ClientHelper(effectiveSettings);
     _callGetCampaignCriterion = clientHelper.BuildApiCall<GetCampaignCriterionRequest, gagvr::CampaignCriterion>(grpcClient.GetCampaignCriterionAsync, grpcClient.GetCampaignCriterion, effectiveSettings.GetCampaignCriterionSettings).WithGoogleRequestParam("resource_name", request => request.ResourceName);
     Modify_ApiCall(ref _callGetCampaignCriterion);
     Modify_GetCampaignCriterionApiCall(ref _callGetCampaignCriterion);
     _callMutateCampaignCriteria = clientHelper.BuildApiCall<MutateCampaignCriteriaRequest, MutateCampaignCriteriaResponse>(grpcClient.MutateCampaignCriteriaAsync, grpcClient.MutateCampaignCriteria, effectiveSettings.MutateCampaignCriteriaSettings).WithGoogleRequestParam("customer_id", request => request.CustomerId);
     Modify_ApiCall(ref _callMutateCampaignCriteria);
     Modify_MutateCampaignCriteriaApiCall(ref _callMutateCampaignCriteria);
     OnConstruction(grpcClient, effectiveSettings, clientHelper);
 }
 partial void OnConstruction(CampaignCriterionService.CampaignCriterionServiceClient grpcClient, CampaignCriterionServiceSettings effectiveSettings, gaxgrpc::ClientHelper clientHelper);