public CloudChannelServiceSettings cloudChannelServiceSettings()

in spring-cloud-previews/google-cloud-channel-spring-starter/src/main/java/com/google/cloud/channel/v1/spring/CloudChannelServiceSpringAutoConfiguration.java [123:944]


  public CloudChannelServiceSettings cloudChannelServiceSettings(
      @Qualifier("defaultCloudChannelServiceTransportChannelProvider")
          TransportChannelProvider defaultTransportChannelProvider)
      throws IOException {
    CloudChannelServiceSettings.Builder clientSettingsBuilder;
    if (this.clientProperties.getUseRest()) {
      clientSettingsBuilder = CloudChannelServiceSettings.newHttpJsonBuilder();
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Using REST (HTTP/JSON) transport.");
      }
    } else {
      clientSettingsBuilder = CloudChannelServiceSettings.newBuilder();
    }
    clientSettingsBuilder
        .setCredentialsProvider(this.credentialsProvider)
        .setTransportChannelProvider(defaultTransportChannelProvider)
        .setEndpoint(CloudChannelServiceSettings.getDefaultEndpoint())
        .setHeaderProvider(this.userAgentHeaderProvider());
    if (this.clientProperties.getQuotaProjectId() != null) {
      clientSettingsBuilder.setQuotaProjectId(this.clientProperties.getQuotaProjectId());
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Quota project id set to "
                + this.clientProperties.getQuotaProjectId()
                + ", this overrides project id from credentials.");
      }
    }
    if (this.clientProperties.getExecutorThreadCount() != null) {
      ExecutorProvider executorProvider =
          CloudChannelServiceSettings.defaultExecutorProviderBuilder()
              .setExecutorThreadCount(this.clientProperties.getExecutorThreadCount())
              .build();
      clientSettingsBuilder.setBackgroundExecutorProvider(executorProvider);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Background executor thread count is "
                + this.clientProperties.getExecutorThreadCount());
      }
    }
    Retry serviceRetry = clientProperties.getRetry();
    if (serviceRetry != null) {
      RetrySettings listCustomersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listCustomersSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listCustomersSettings().setRetrySettings(listCustomersRetrySettings);

      RetrySettings getCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getCustomerSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getCustomerSettings().setRetrySettings(getCustomerRetrySettings);

      RetrySettings checkCloudIdentityAccountsExistRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.checkCloudIdentityAccountsExistSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .checkCloudIdentityAccountsExistSettings()
          .setRetrySettings(checkCloudIdentityAccountsExistRetrySettings);

      RetrySettings createCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createCustomerSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createCustomerSettings().setRetrySettings(createCustomerRetrySettings);

      RetrySettings updateCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateCustomerSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateCustomerSettings().setRetrySettings(updateCustomerRetrySettings);

      RetrySettings deleteCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteCustomerSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteCustomerSettings().setRetrySettings(deleteCustomerRetrySettings);

      RetrySettings importCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.importCustomerSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.importCustomerSettings().setRetrySettings(importCustomerRetrySettings);

      RetrySettings listEntitlementsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEntitlementsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listEntitlementsSettings()
          .setRetrySettings(listEntitlementsRetrySettings);

      RetrySettings listTransferableSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTransferableSkusSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listTransferableSkusSettings()
          .setRetrySettings(listTransferableSkusRetrySettings);

      RetrySettings listTransferableOffersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTransferableOffersSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listTransferableOffersSettings()
          .setRetrySettings(listTransferableOffersRetrySettings);

      RetrySettings getEntitlementRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getEntitlementSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getEntitlementSettings().setRetrySettings(getEntitlementRetrySettings);

      RetrySettings listChannelPartnerLinksRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listChannelPartnerLinksSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listChannelPartnerLinksSettings()
          .setRetrySettings(listChannelPartnerLinksRetrySettings);

      RetrySettings getChannelPartnerLinkRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getChannelPartnerLinkSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .getChannelPartnerLinkSettings()
          .setRetrySettings(getChannelPartnerLinkRetrySettings);

      RetrySettings createChannelPartnerLinkRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createChannelPartnerLinkSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .createChannelPartnerLinkSettings()
          .setRetrySettings(createChannelPartnerLinkRetrySettings);

      RetrySettings updateChannelPartnerLinkRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateChannelPartnerLinkSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .updateChannelPartnerLinkSettings()
          .setRetrySettings(updateChannelPartnerLinkRetrySettings);

      RetrySettings getCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getCustomerRepricingConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .getCustomerRepricingConfigSettings()
          .setRetrySettings(getCustomerRepricingConfigRetrySettings);

      RetrySettings listCustomerRepricingConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listCustomerRepricingConfigsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listCustomerRepricingConfigsSettings()
          .setRetrySettings(listCustomerRepricingConfigsRetrySettings);

      RetrySettings createCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createCustomerRepricingConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .createCustomerRepricingConfigSettings()
          .setRetrySettings(createCustomerRepricingConfigRetrySettings);

      RetrySettings updateCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateCustomerRepricingConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .updateCustomerRepricingConfigSettings()
          .setRetrySettings(updateCustomerRepricingConfigRetrySettings);

      RetrySettings deleteCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteCustomerRepricingConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .deleteCustomerRepricingConfigSettings()
          .setRetrySettings(deleteCustomerRepricingConfigRetrySettings);

      RetrySettings getChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getChannelPartnerRepricingConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .getChannelPartnerRepricingConfigSettings()
          .setRetrySettings(getChannelPartnerRepricingConfigRetrySettings);

      RetrySettings listChannelPartnerRepricingConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listChannelPartnerRepricingConfigsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listChannelPartnerRepricingConfigsSettings()
          .setRetrySettings(listChannelPartnerRepricingConfigsRetrySettings);

      RetrySettings createChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder
                  .createChannelPartnerRepricingConfigSettings()
                  .getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .createChannelPartnerRepricingConfigSettings()
          .setRetrySettings(createChannelPartnerRepricingConfigRetrySettings);

      RetrySettings updateChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder
                  .updateChannelPartnerRepricingConfigSettings()
                  .getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .updateChannelPartnerRepricingConfigSettings()
          .setRetrySettings(updateChannelPartnerRepricingConfigRetrySettings);

      RetrySettings deleteChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder
                  .deleteChannelPartnerRepricingConfigSettings()
                  .getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .deleteChannelPartnerRepricingConfigSettings()
          .setRetrySettings(deleteChannelPartnerRepricingConfigRetrySettings);

      RetrySettings listSkuGroupsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSkuGroupsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listSkuGroupsSettings().setRetrySettings(listSkuGroupsRetrySettings);

      RetrySettings listSkuGroupBillableSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSkuGroupBillableSkusSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listSkuGroupBillableSkusSettings()
          .setRetrySettings(listSkuGroupBillableSkusRetrySettings);

      RetrySettings lookupOfferRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.lookupOfferSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.lookupOfferSettings().setRetrySettings(lookupOfferRetrySettings);

      RetrySettings listProductsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listProductsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listProductsSettings().setRetrySettings(listProductsRetrySettings);

      RetrySettings listSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSkusSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listSkusSettings().setRetrySettings(listSkusRetrySettings);

      RetrySettings listOffersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listOffersSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listOffersSettings().setRetrySettings(listOffersRetrySettings);

      RetrySettings listPurchasableSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPurchasableSkusSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listPurchasableSkusSettings()
          .setRetrySettings(listPurchasableSkusRetrySettings);

      RetrySettings listPurchasableOffersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPurchasableOffersSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listPurchasableOffersSettings()
          .setRetrySettings(listPurchasableOffersRetrySettings);

      RetrySettings queryEligibleBillingAccountsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.queryEligibleBillingAccountsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .queryEligibleBillingAccountsSettings()
          .setRetrySettings(queryEligibleBillingAccountsRetrySettings);

      RetrySettings registerSubscriberRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.registerSubscriberSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .registerSubscriberSettings()
          .setRetrySettings(registerSubscriberRetrySettings);

      RetrySettings unregisterSubscriberRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.unregisterSubscriberSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .unregisterSubscriberSettings()
          .setRetrySettings(unregisterSubscriberRetrySettings);

      RetrySettings listSubscribersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSubscribersSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listSubscribersSettings()
          .setRetrySettings(listSubscribersRetrySettings);

      RetrySettings listEntitlementChangesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEntitlementChangesSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listEntitlementChangesSettings()
          .setRetrySettings(listEntitlementChangesRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry listCustomersRetry = clientProperties.getListCustomersRetry();
    if (listCustomersRetry != null) {
      RetrySettings listCustomersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listCustomersSettings().getRetrySettings(), listCustomersRetry);
      clientSettingsBuilder.listCustomersSettings().setRetrySettings(listCustomersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listCustomers from properties.");
      }
    }
    Retry getCustomerRetry = clientProperties.getGetCustomerRetry();
    if (getCustomerRetry != null) {
      RetrySettings getCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getCustomerSettings().getRetrySettings(), getCustomerRetry);
      clientSettingsBuilder.getCustomerSettings().setRetrySettings(getCustomerRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getCustomer from properties.");
      }
    }
    Retry checkCloudIdentityAccountsExistRetry =
        clientProperties.getCheckCloudIdentityAccountsExistRetry();
    if (checkCloudIdentityAccountsExistRetry != null) {
      RetrySettings checkCloudIdentityAccountsExistRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.checkCloudIdentityAccountsExistSettings().getRetrySettings(),
              checkCloudIdentityAccountsExistRetry);
      clientSettingsBuilder
          .checkCloudIdentityAccountsExistSettings()
          .setRetrySettings(checkCloudIdentityAccountsExistRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for checkCloudIdentityAccountsExist from properties.");
      }
    }
    Retry createCustomerRetry = clientProperties.getCreateCustomerRetry();
    if (createCustomerRetry != null) {
      RetrySettings createCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createCustomerSettings().getRetrySettings(),
              createCustomerRetry);
      clientSettingsBuilder.createCustomerSettings().setRetrySettings(createCustomerRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createCustomer from properties.");
      }
    }
    Retry updateCustomerRetry = clientProperties.getUpdateCustomerRetry();
    if (updateCustomerRetry != null) {
      RetrySettings updateCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateCustomerSettings().getRetrySettings(),
              updateCustomerRetry);
      clientSettingsBuilder.updateCustomerSettings().setRetrySettings(updateCustomerRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateCustomer from properties.");
      }
    }
    Retry deleteCustomerRetry = clientProperties.getDeleteCustomerRetry();
    if (deleteCustomerRetry != null) {
      RetrySettings deleteCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteCustomerSettings().getRetrySettings(),
              deleteCustomerRetry);
      clientSettingsBuilder.deleteCustomerSettings().setRetrySettings(deleteCustomerRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteCustomer from properties.");
      }
    }
    Retry importCustomerRetry = clientProperties.getImportCustomerRetry();
    if (importCustomerRetry != null) {
      RetrySettings importCustomerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.importCustomerSettings().getRetrySettings(),
              importCustomerRetry);
      clientSettingsBuilder.importCustomerSettings().setRetrySettings(importCustomerRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for importCustomer from properties.");
      }
    }
    Retry listEntitlementsRetry = clientProperties.getListEntitlementsRetry();
    if (listEntitlementsRetry != null) {
      RetrySettings listEntitlementsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEntitlementsSettings().getRetrySettings(),
              listEntitlementsRetry);
      clientSettingsBuilder
          .listEntitlementsSettings()
          .setRetrySettings(listEntitlementsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listEntitlements from properties.");
      }
    }
    Retry listTransferableSkusRetry = clientProperties.getListTransferableSkusRetry();
    if (listTransferableSkusRetry != null) {
      RetrySettings listTransferableSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTransferableSkusSettings().getRetrySettings(),
              listTransferableSkusRetry);
      clientSettingsBuilder
          .listTransferableSkusSettings()
          .setRetrySettings(listTransferableSkusRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listTransferableSkus from properties.");
      }
    }
    Retry listTransferableOffersRetry = clientProperties.getListTransferableOffersRetry();
    if (listTransferableOffersRetry != null) {
      RetrySettings listTransferableOffersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTransferableOffersSettings().getRetrySettings(),
              listTransferableOffersRetry);
      clientSettingsBuilder
          .listTransferableOffersSettings()
          .setRetrySettings(listTransferableOffersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listTransferableOffers from properties.");
      }
    }
    Retry getEntitlementRetry = clientProperties.getGetEntitlementRetry();
    if (getEntitlementRetry != null) {
      RetrySettings getEntitlementRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getEntitlementSettings().getRetrySettings(),
              getEntitlementRetry);
      clientSettingsBuilder.getEntitlementSettings().setRetrySettings(getEntitlementRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getEntitlement from properties.");
      }
    }
    Retry listChannelPartnerLinksRetry = clientProperties.getListChannelPartnerLinksRetry();
    if (listChannelPartnerLinksRetry != null) {
      RetrySettings listChannelPartnerLinksRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listChannelPartnerLinksSettings().getRetrySettings(),
              listChannelPartnerLinksRetry);
      clientSettingsBuilder
          .listChannelPartnerLinksSettings()
          .setRetrySettings(listChannelPartnerLinksRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listChannelPartnerLinks from properties.");
      }
    }
    Retry getChannelPartnerLinkRetry = clientProperties.getGetChannelPartnerLinkRetry();
    if (getChannelPartnerLinkRetry != null) {
      RetrySettings getChannelPartnerLinkRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getChannelPartnerLinkSettings().getRetrySettings(),
              getChannelPartnerLinkRetry);
      clientSettingsBuilder
          .getChannelPartnerLinkSettings()
          .setRetrySettings(getChannelPartnerLinkRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getChannelPartnerLink from properties.");
      }
    }
    Retry createChannelPartnerLinkRetry = clientProperties.getCreateChannelPartnerLinkRetry();
    if (createChannelPartnerLinkRetry != null) {
      RetrySettings createChannelPartnerLinkRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createChannelPartnerLinkSettings().getRetrySettings(),
              createChannelPartnerLinkRetry);
      clientSettingsBuilder
          .createChannelPartnerLinkSettings()
          .setRetrySettings(createChannelPartnerLinkRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for createChannelPartnerLink from properties.");
      }
    }
    Retry updateChannelPartnerLinkRetry = clientProperties.getUpdateChannelPartnerLinkRetry();
    if (updateChannelPartnerLinkRetry != null) {
      RetrySettings updateChannelPartnerLinkRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateChannelPartnerLinkSettings().getRetrySettings(),
              updateChannelPartnerLinkRetry);
      clientSettingsBuilder
          .updateChannelPartnerLinkSettings()
          .setRetrySettings(updateChannelPartnerLinkRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateChannelPartnerLink from properties.");
      }
    }
    Retry getCustomerRepricingConfigRetry = clientProperties.getGetCustomerRepricingConfigRetry();
    if (getCustomerRepricingConfigRetry != null) {
      RetrySettings getCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getCustomerRepricingConfigSettings().getRetrySettings(),
              getCustomerRepricingConfigRetry);
      clientSettingsBuilder
          .getCustomerRepricingConfigSettings()
          .setRetrySettings(getCustomerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getCustomerRepricingConfig from properties.");
      }
    }
    Retry listCustomerRepricingConfigsRetry =
        clientProperties.getListCustomerRepricingConfigsRetry();
    if (listCustomerRepricingConfigsRetry != null) {
      RetrySettings listCustomerRepricingConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listCustomerRepricingConfigsSettings().getRetrySettings(),
              listCustomerRepricingConfigsRetry);
      clientSettingsBuilder
          .listCustomerRepricingConfigsSettings()
          .setRetrySettings(listCustomerRepricingConfigsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listCustomerRepricingConfigs from properties.");
      }
    }
    Retry createCustomerRepricingConfigRetry =
        clientProperties.getCreateCustomerRepricingConfigRetry();
    if (createCustomerRepricingConfigRetry != null) {
      RetrySettings createCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createCustomerRepricingConfigSettings().getRetrySettings(),
              createCustomerRepricingConfigRetry);
      clientSettingsBuilder
          .createCustomerRepricingConfigSettings()
          .setRetrySettings(createCustomerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for createCustomerRepricingConfig from properties.");
      }
    }
    Retry updateCustomerRepricingConfigRetry =
        clientProperties.getUpdateCustomerRepricingConfigRetry();
    if (updateCustomerRepricingConfigRetry != null) {
      RetrySettings updateCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateCustomerRepricingConfigSettings().getRetrySettings(),
              updateCustomerRepricingConfigRetry);
      clientSettingsBuilder
          .updateCustomerRepricingConfigSettings()
          .setRetrySettings(updateCustomerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateCustomerRepricingConfig from properties.");
      }
    }
    Retry deleteCustomerRepricingConfigRetry =
        clientProperties.getDeleteCustomerRepricingConfigRetry();
    if (deleteCustomerRepricingConfigRetry != null) {
      RetrySettings deleteCustomerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteCustomerRepricingConfigSettings().getRetrySettings(),
              deleteCustomerRepricingConfigRetry);
      clientSettingsBuilder
          .deleteCustomerRepricingConfigSettings()
          .setRetrySettings(deleteCustomerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for deleteCustomerRepricingConfig from properties.");
      }
    }
    Retry getChannelPartnerRepricingConfigRetry =
        clientProperties.getGetChannelPartnerRepricingConfigRetry();
    if (getChannelPartnerRepricingConfigRetry != null) {
      RetrySettings getChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getChannelPartnerRepricingConfigSettings().getRetrySettings(),
              getChannelPartnerRepricingConfigRetry);
      clientSettingsBuilder
          .getChannelPartnerRepricingConfigSettings()
          .setRetrySettings(getChannelPartnerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getChannelPartnerRepricingConfig from properties.");
      }
    }
    Retry listChannelPartnerRepricingConfigsRetry =
        clientProperties.getListChannelPartnerRepricingConfigsRetry();
    if (listChannelPartnerRepricingConfigsRetry != null) {
      RetrySettings listChannelPartnerRepricingConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listChannelPartnerRepricingConfigsSettings().getRetrySettings(),
              listChannelPartnerRepricingConfigsRetry);
      clientSettingsBuilder
          .listChannelPartnerRepricingConfigsSettings()
          .setRetrySettings(listChannelPartnerRepricingConfigsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listChannelPartnerRepricingConfigs from properties.");
      }
    }
    Retry createChannelPartnerRepricingConfigRetry =
        clientProperties.getCreateChannelPartnerRepricingConfigRetry();
    if (createChannelPartnerRepricingConfigRetry != null) {
      RetrySettings createChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder
                  .createChannelPartnerRepricingConfigSettings()
                  .getRetrySettings(),
              createChannelPartnerRepricingConfigRetry);
      clientSettingsBuilder
          .createChannelPartnerRepricingConfigSettings()
          .setRetrySettings(createChannelPartnerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for createChannelPartnerRepricingConfig from properties.");
      }
    }
    Retry updateChannelPartnerRepricingConfigRetry =
        clientProperties.getUpdateChannelPartnerRepricingConfigRetry();
    if (updateChannelPartnerRepricingConfigRetry != null) {
      RetrySettings updateChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder
                  .updateChannelPartnerRepricingConfigSettings()
                  .getRetrySettings(),
              updateChannelPartnerRepricingConfigRetry);
      clientSettingsBuilder
          .updateChannelPartnerRepricingConfigSettings()
          .setRetrySettings(updateChannelPartnerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateChannelPartnerRepricingConfig from properties.");
      }
    }
    Retry deleteChannelPartnerRepricingConfigRetry =
        clientProperties.getDeleteChannelPartnerRepricingConfigRetry();
    if (deleteChannelPartnerRepricingConfigRetry != null) {
      RetrySettings deleteChannelPartnerRepricingConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder
                  .deleteChannelPartnerRepricingConfigSettings()
                  .getRetrySettings(),
              deleteChannelPartnerRepricingConfigRetry);
      clientSettingsBuilder
          .deleteChannelPartnerRepricingConfigSettings()
          .setRetrySettings(deleteChannelPartnerRepricingConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for deleteChannelPartnerRepricingConfig from properties.");
      }
    }
    Retry listSkuGroupsRetry = clientProperties.getListSkuGroupsRetry();
    if (listSkuGroupsRetry != null) {
      RetrySettings listSkuGroupsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSkuGroupsSettings().getRetrySettings(), listSkuGroupsRetry);
      clientSettingsBuilder.listSkuGroupsSettings().setRetrySettings(listSkuGroupsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listSkuGroups from properties.");
      }
    }
    Retry listSkuGroupBillableSkusRetry = clientProperties.getListSkuGroupBillableSkusRetry();
    if (listSkuGroupBillableSkusRetry != null) {
      RetrySettings listSkuGroupBillableSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSkuGroupBillableSkusSettings().getRetrySettings(),
              listSkuGroupBillableSkusRetry);
      clientSettingsBuilder
          .listSkuGroupBillableSkusSettings()
          .setRetrySettings(listSkuGroupBillableSkusRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listSkuGroupBillableSkus from properties.");
      }
    }
    Retry lookupOfferRetry = clientProperties.getLookupOfferRetry();
    if (lookupOfferRetry != null) {
      RetrySettings lookupOfferRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.lookupOfferSettings().getRetrySettings(), lookupOfferRetry);
      clientSettingsBuilder.lookupOfferSettings().setRetrySettings(lookupOfferRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for lookupOffer from properties.");
      }
    }
    Retry listProductsRetry = clientProperties.getListProductsRetry();
    if (listProductsRetry != null) {
      RetrySettings listProductsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listProductsSettings().getRetrySettings(), listProductsRetry);
      clientSettingsBuilder.listProductsSettings().setRetrySettings(listProductsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listProducts from properties.");
      }
    }
    Retry listSkusRetry = clientProperties.getListSkusRetry();
    if (listSkusRetry != null) {
      RetrySettings listSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSkusSettings().getRetrySettings(), listSkusRetry);
      clientSettingsBuilder.listSkusSettings().setRetrySettings(listSkusRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listSkus from properties.");
      }
    }
    Retry listOffersRetry = clientProperties.getListOffersRetry();
    if (listOffersRetry != null) {
      RetrySettings listOffersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listOffersSettings().getRetrySettings(), listOffersRetry);
      clientSettingsBuilder.listOffersSettings().setRetrySettings(listOffersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listOffers from properties.");
      }
    }
    Retry listPurchasableSkusRetry = clientProperties.getListPurchasableSkusRetry();
    if (listPurchasableSkusRetry != null) {
      RetrySettings listPurchasableSkusRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPurchasableSkusSettings().getRetrySettings(),
              listPurchasableSkusRetry);
      clientSettingsBuilder
          .listPurchasableSkusSettings()
          .setRetrySettings(listPurchasableSkusRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listPurchasableSkus from properties.");
      }
    }
    Retry listPurchasableOffersRetry = clientProperties.getListPurchasableOffersRetry();
    if (listPurchasableOffersRetry != null) {
      RetrySettings listPurchasableOffersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPurchasableOffersSettings().getRetrySettings(),
              listPurchasableOffersRetry);
      clientSettingsBuilder
          .listPurchasableOffersSettings()
          .setRetrySettings(listPurchasableOffersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listPurchasableOffers from properties.");
      }
    }
    Retry queryEligibleBillingAccountsRetry =
        clientProperties.getQueryEligibleBillingAccountsRetry();
    if (queryEligibleBillingAccountsRetry != null) {
      RetrySettings queryEligibleBillingAccountsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.queryEligibleBillingAccountsSettings().getRetrySettings(),
              queryEligibleBillingAccountsRetry);
      clientSettingsBuilder
          .queryEligibleBillingAccountsSettings()
          .setRetrySettings(queryEligibleBillingAccountsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for queryEligibleBillingAccounts from properties.");
      }
    }
    Retry registerSubscriberRetry = clientProperties.getRegisterSubscriberRetry();
    if (registerSubscriberRetry != null) {
      RetrySettings registerSubscriberRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.registerSubscriberSettings().getRetrySettings(),
              registerSubscriberRetry);
      clientSettingsBuilder
          .registerSubscriberSettings()
          .setRetrySettings(registerSubscriberRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for registerSubscriber from properties.");
      }
    }
    Retry unregisterSubscriberRetry = clientProperties.getUnregisterSubscriberRetry();
    if (unregisterSubscriberRetry != null) {
      RetrySettings unregisterSubscriberRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.unregisterSubscriberSettings().getRetrySettings(),
              unregisterSubscriberRetry);
      clientSettingsBuilder
          .unregisterSubscriberSettings()
          .setRetrySettings(unregisterSubscriberRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for unregisterSubscriber from properties.");
      }
    }
    Retry listSubscribersRetry = clientProperties.getListSubscribersRetry();
    if (listSubscribersRetry != null) {
      RetrySettings listSubscribersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listSubscribersSettings().getRetrySettings(),
              listSubscribersRetry);
      clientSettingsBuilder
          .listSubscribersSettings()
          .setRetrySettings(listSubscribersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listSubscribers from properties.");
      }
    }
    Retry listEntitlementChangesRetry = clientProperties.getListEntitlementChangesRetry();
    if (listEntitlementChangesRetry != null) {
      RetrySettings listEntitlementChangesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listEntitlementChangesSettings().getRetrySettings(),
              listEntitlementChangesRetry);
      clientSettingsBuilder
          .listEntitlementChangesSettings()
          .setRetrySettings(listEntitlementChangesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listEntitlementChanges from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }