/// <summary>
 /// Instantiate with the specified settings.
 /// </summary>
 /// <param name="clientCount">Optional.
 /// The number of <see cref="PublisherServiceApiClient"/>s to create and use within a <see cref="PublisherClient"/> instance.</param>
 /// <param name="publisherServiceApiSettings">Optional. The settings to use when creating <see cref="PublisherServiceApiClient"/> instances.</param>
 /// <param name="credentials">Optional. Credentials to use when creating <see cref="PublisherServiceApiClient"/> instances.</param>
 /// <param name="serviceEndpoint">Optional.
 /// The endpoint to use when creating <see cref="PublisherServiceApiClient"/> instances.</param>
 public ClientCreationSettings(
     int?clientCount = null,
     PublisherServiceApiSettings publisherServiceApiSettings = null,
     ChannelCredentials credentials = null,
     string serviceEndpoint         = null)
     : this(clientCount, publisherServiceApiSettings, credentials, serviceEndpoint, EmulatorDetection.None)
 {
 }
 /// <summary>
 /// Instantiate with the specified settings.
 /// </summary>
 /// <param name="clientCount">Optional.
 /// The number of <see cref="PublisherServiceApiClient"/>s to create and use within a <see cref="PublisherClient"/> instance.</param>
 /// <param name="publisherServiceApiSettings">Optional. The settings to use when creating <see cref="PublisherServiceApiClient"/> instances.</param>
 /// <param name="credentials">Optional. Credentials to use when creating <see cref="PublisherServiceApiClient"/> instances.</param>
 /// <param name="serviceEndpoint">Optional.
 /// The <see cref="ServiceEndpoint"/> to use when creating <see cref="PublisherServiceApiClient"/> instances.</param>
 public ClientCreationSettings(
     int?clientCount = null,
     PublisherServiceApiSettings publisherServiceApiSettings = null,
     ChannelCredentials credentials  = null,
     ServiceEndpoint serviceEndpoint = null)
 {
     ClientCount = clientCount;
     PublisherServiceApiSettings = publisherServiceApiSettings;
     Credentials     = credentials;
     ServiceEndpoint = serviceEndpoint;
 }
 private ClientCreationSettings(
     int?clientCount,
     PublisherServiceApiSettings publisherServiceApiSettings,
     ChannelCredentials credentials,
     string serviceEndpoint,
     EmulatorDetection emulatorDetection)
 {
     ClientCount = clientCount;
     PublisherServiceApiSettings = publisherServiceApiSettings;
     Credentials       = credentials;
     ServiceEndpoint   = serviceEndpoint;
     EmulatorDetection = emulatorDetection;
 }
 partial void OnConstruction(Publisher.PublisherClient grpcClient, PublisherServiceApiSettings effectiveSettings, gaxgrpc::ClientHelper clientHelper)
 {
     iam::IAMPolicy.IAMPolicyClient grpcIAMPolicyClient = grpcClient.CreateIAMPolicyClient();
     _callSetIamPolicy = clientHelper.BuildApiCall <iam::SetIamPolicyRequest, iam::Policy>(
         grpcIAMPolicyClient.SetIamPolicyAsync, grpcIAMPolicyClient.SetIamPolicy, effectiveSettings.SetIamPolicySettings)
                         .WithGoogleRequestParam("resource", request => request.Resource);
     _callGetIamPolicy = clientHelper.BuildApiCall <iam::GetIamPolicyRequest, iam::Policy>(
         grpcIAMPolicyClient.GetIamPolicyAsync, grpcIAMPolicyClient.GetIamPolicy, effectiveSettings.GetIamPolicySettings)
                         .WithGoogleRequestParam("resource", request => request.Resource);
     _callTestIamPermissions = clientHelper.BuildApiCall <iam::TestIamPermissionsRequest, iam::TestIamPermissionsResponse>(
         grpcIAMPolicyClient.TestIamPermissionsAsync, grpcIAMPolicyClient.TestIamPermissions, effectiveSettings.TestIamPermissionsSettings)
                               .WithGoogleRequestParam("resource", request => request.Resource);
     Modify_ApiCall(ref _callSetIamPolicy);
     Modify_SetIamPolicyApiCall(ref _callSetIamPolicy);
     Modify_ApiCall(ref _callGetIamPolicy);
     Modify_GetIamPolicyApiCall(ref _callGetIamPolicy);
     Modify_ApiCall(ref _callTestIamPermissions);
     Modify_TestIamPermissionsApiCall(ref _callTestIamPermissions);
 }