public ConfigSettings configSettings()

in spring-cloud-previews/google-cloud-infra-manager-spring-starter/src/main/java/com/google/cloud/config/v1/spring/ConfigSpringAutoConfiguration.java [117:533]


  public ConfigSettings configSettings(
      @Qualifier("defaultConfigTransportChannelProvider")
          TransportChannelProvider defaultTransportChannelProvider)
      throws IOException {
    ConfigSettings.Builder clientSettingsBuilder;
    if (this.clientProperties.getUseRest()) {
      clientSettingsBuilder = ConfigSettings.newHttpJsonBuilder();
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Using REST (HTTP/JSON) transport.");
      }
    } else {
      clientSettingsBuilder = ConfigSettings.newBuilder();
    }
    clientSettingsBuilder
        .setCredentialsProvider(this.credentialsProvider)
        .setTransportChannelProvider(defaultTransportChannelProvider)
        .setEndpoint(ConfigSettings.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 =
          ConfigSettings.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 listDeploymentsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeploymentsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listDeploymentsSettings()
          .setRetrySettings(listDeploymentsRetrySettings);

      RetrySettings getDeploymentRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDeploymentSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getDeploymentSettings().setRetrySettings(getDeploymentRetrySettings);

      RetrySettings listRevisionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRevisionsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listRevisionsSettings().setRetrySettings(listRevisionsRetrySettings);

      RetrySettings getRevisionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRevisionSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getRevisionSettings().setRetrySettings(getRevisionRetrySettings);

      RetrySettings getResourceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getResourceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getResourceSettings().setRetrySettings(getResourceRetrySettings);

      RetrySettings listResourcesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listResourcesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listResourcesSettings().setRetrySettings(listResourcesRetrySettings);

      RetrySettings exportDeploymentStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportDeploymentStatefileSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .exportDeploymentStatefileSettings()
          .setRetrySettings(exportDeploymentStatefileRetrySettings);

      RetrySettings exportRevisionStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportRevisionStatefileSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .exportRevisionStatefileSettings()
          .setRetrySettings(exportRevisionStatefileRetrySettings);

      RetrySettings importStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.importStatefileSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .importStatefileSettings()
          .setRetrySettings(importStatefileRetrySettings);

      RetrySettings deleteStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteStatefileSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .deleteStatefileSettings()
          .setRetrySettings(deleteStatefileRetrySettings);

      RetrySettings exportLockInfoRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportLockInfoSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.exportLockInfoSettings().setRetrySettings(exportLockInfoRetrySettings);

      RetrySettings getPreviewRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getPreviewSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getPreviewSettings().setRetrySettings(getPreviewRetrySettings);

      RetrySettings listPreviewsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPreviewsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listPreviewsSettings().setRetrySettings(listPreviewsRetrySettings);

      RetrySettings exportPreviewResultRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportPreviewResultSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .exportPreviewResultSettings()
          .setRetrySettings(exportPreviewResultRetrySettings);

      RetrySettings listTerraformVersionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTerraformVersionsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listTerraformVersionsSettings()
          .setRetrySettings(listTerraformVersionsRetrySettings);

      RetrySettings getTerraformVersionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTerraformVersionSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getTerraformVersionSettings()
          .setRetrySettings(getTerraformVersionRetrySettings);

      RetrySettings listLocationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listLocationsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listLocationsSettings().setRetrySettings(listLocationsRetrySettings);

      RetrySettings getLocationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getLocationSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getLocationSettings().setRetrySettings(getLocationRetrySettings);

      RetrySettings setIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.setIamPolicySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.setIamPolicySettings().setRetrySettings(setIamPolicyRetrySettings);

      RetrySettings getIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getIamPolicySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getIamPolicySettings().setRetrySettings(getIamPolicyRetrySettings);

      RetrySettings testIamPermissionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.testIamPermissionsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .testIamPermissionsSettings()
          .setRetrySettings(testIamPermissionsRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry listDeploymentsRetry = clientProperties.getListDeploymentsRetry();
    if (listDeploymentsRetry != null) {
      RetrySettings listDeploymentsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDeploymentsSettings().getRetrySettings(),
              listDeploymentsRetry);
      clientSettingsBuilder
          .listDeploymentsSettings()
          .setRetrySettings(listDeploymentsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listDeployments from properties.");
      }
    }
    Retry getDeploymentRetry = clientProperties.getGetDeploymentRetry();
    if (getDeploymentRetry != null) {
      RetrySettings getDeploymentRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDeploymentSettings().getRetrySettings(), getDeploymentRetry);
      clientSettingsBuilder.getDeploymentSettings().setRetrySettings(getDeploymentRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getDeployment from properties.");
      }
    }
    Retry listRevisionsRetry = clientProperties.getListRevisionsRetry();
    if (listRevisionsRetry != null) {
      RetrySettings listRevisionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRevisionsSettings().getRetrySettings(), listRevisionsRetry);
      clientSettingsBuilder.listRevisionsSettings().setRetrySettings(listRevisionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listRevisions from properties.");
      }
    }
    Retry getRevisionRetry = clientProperties.getGetRevisionRetry();
    if (getRevisionRetry != null) {
      RetrySettings getRevisionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRevisionSettings().getRetrySettings(), getRevisionRetry);
      clientSettingsBuilder.getRevisionSettings().setRetrySettings(getRevisionRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getRevision from properties.");
      }
    }
    Retry getResourceRetry = clientProperties.getGetResourceRetry();
    if (getResourceRetry != null) {
      RetrySettings getResourceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getResourceSettings().getRetrySettings(), getResourceRetry);
      clientSettingsBuilder.getResourceSettings().setRetrySettings(getResourceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getResource from properties.");
      }
    }
    Retry listResourcesRetry = clientProperties.getListResourcesRetry();
    if (listResourcesRetry != null) {
      RetrySettings listResourcesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listResourcesSettings().getRetrySettings(), listResourcesRetry);
      clientSettingsBuilder.listResourcesSettings().setRetrySettings(listResourcesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listResources from properties.");
      }
    }
    Retry exportDeploymentStatefileRetry = clientProperties.getExportDeploymentStatefileRetry();
    if (exportDeploymentStatefileRetry != null) {
      RetrySettings exportDeploymentStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportDeploymentStatefileSettings().getRetrySettings(),
              exportDeploymentStatefileRetry);
      clientSettingsBuilder
          .exportDeploymentStatefileSettings()
          .setRetrySettings(exportDeploymentStatefileRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for exportDeploymentStatefile from properties.");
      }
    }
    Retry exportRevisionStatefileRetry = clientProperties.getExportRevisionStatefileRetry();
    if (exportRevisionStatefileRetry != null) {
      RetrySettings exportRevisionStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportRevisionStatefileSettings().getRetrySettings(),
              exportRevisionStatefileRetry);
      clientSettingsBuilder
          .exportRevisionStatefileSettings()
          .setRetrySettings(exportRevisionStatefileRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for exportRevisionStatefile from properties.");
      }
    }
    Retry importStatefileRetry = clientProperties.getImportStatefileRetry();
    if (importStatefileRetry != null) {
      RetrySettings importStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.importStatefileSettings().getRetrySettings(),
              importStatefileRetry);
      clientSettingsBuilder
          .importStatefileSettings()
          .setRetrySettings(importStatefileRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for importStatefile from properties.");
      }
    }
    Retry deleteStatefileRetry = clientProperties.getDeleteStatefileRetry();
    if (deleteStatefileRetry != null) {
      RetrySettings deleteStatefileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteStatefileSettings().getRetrySettings(),
              deleteStatefileRetry);
      clientSettingsBuilder
          .deleteStatefileSettings()
          .setRetrySettings(deleteStatefileRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteStatefile from properties.");
      }
    }
    Retry exportLockInfoRetry = clientProperties.getExportLockInfoRetry();
    if (exportLockInfoRetry != null) {
      RetrySettings exportLockInfoRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportLockInfoSettings().getRetrySettings(),
              exportLockInfoRetry);
      clientSettingsBuilder.exportLockInfoSettings().setRetrySettings(exportLockInfoRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for exportLockInfo from properties.");
      }
    }
    Retry getPreviewRetry = clientProperties.getGetPreviewRetry();
    if (getPreviewRetry != null) {
      RetrySettings getPreviewRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getPreviewSettings().getRetrySettings(), getPreviewRetry);
      clientSettingsBuilder.getPreviewSettings().setRetrySettings(getPreviewRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getPreview from properties.");
      }
    }
    Retry listPreviewsRetry = clientProperties.getListPreviewsRetry();
    if (listPreviewsRetry != null) {
      RetrySettings listPreviewsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPreviewsSettings().getRetrySettings(), listPreviewsRetry);
      clientSettingsBuilder.listPreviewsSettings().setRetrySettings(listPreviewsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listPreviews from properties.");
      }
    }
    Retry exportPreviewResultRetry = clientProperties.getExportPreviewResultRetry();
    if (exportPreviewResultRetry != null) {
      RetrySettings exportPreviewResultRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.exportPreviewResultSettings().getRetrySettings(),
              exportPreviewResultRetry);
      clientSettingsBuilder
          .exportPreviewResultSettings()
          .setRetrySettings(exportPreviewResultRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for exportPreviewResult from properties.");
      }
    }
    Retry listTerraformVersionsRetry = clientProperties.getListTerraformVersionsRetry();
    if (listTerraformVersionsRetry != null) {
      RetrySettings listTerraformVersionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTerraformVersionsSettings().getRetrySettings(),
              listTerraformVersionsRetry);
      clientSettingsBuilder
          .listTerraformVersionsSettings()
          .setRetrySettings(listTerraformVersionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listTerraformVersions from properties.");
      }
    }
    Retry getTerraformVersionRetry = clientProperties.getGetTerraformVersionRetry();
    if (getTerraformVersionRetry != null) {
      RetrySettings getTerraformVersionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTerraformVersionSettings().getRetrySettings(),
              getTerraformVersionRetry);
      clientSettingsBuilder
          .getTerraformVersionSettings()
          .setRetrySettings(getTerraformVersionRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getTerraformVersion from properties.");
      }
    }
    Retry listLocationsRetry = clientProperties.getListLocationsRetry();
    if (listLocationsRetry != null) {
      RetrySettings listLocationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listLocationsSettings().getRetrySettings(), listLocationsRetry);
      clientSettingsBuilder.listLocationsSettings().setRetrySettings(listLocationsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listLocations from properties.");
      }
    }
    Retry getLocationRetry = clientProperties.getGetLocationRetry();
    if (getLocationRetry != null) {
      RetrySettings getLocationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getLocationSettings().getRetrySettings(), getLocationRetry);
      clientSettingsBuilder.getLocationSettings().setRetrySettings(getLocationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getLocation from properties.");
      }
    }
    Retry setIamPolicyRetry = clientProperties.getSetIamPolicyRetry();
    if (setIamPolicyRetry != null) {
      RetrySettings setIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.setIamPolicySettings().getRetrySettings(), setIamPolicyRetry);
      clientSettingsBuilder.setIamPolicySettings().setRetrySettings(setIamPolicyRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for setIamPolicy from properties.");
      }
    }
    Retry getIamPolicyRetry = clientProperties.getGetIamPolicyRetry();
    if (getIamPolicyRetry != null) {
      RetrySettings getIamPolicyRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getIamPolicySettings().getRetrySettings(), getIamPolicyRetry);
      clientSettingsBuilder.getIamPolicySettings().setRetrySettings(getIamPolicyRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getIamPolicy from properties.");
      }
    }
    Retry testIamPermissionsRetry = clientProperties.getTestIamPermissionsRetry();
    if (testIamPermissionsRetry != null) {
      RetrySettings testIamPermissionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.testIamPermissionsSettings().getRetrySettings(),
              testIamPermissionsRetry);
      clientSettingsBuilder
          .testIamPermissionsSettings()
          .setRetrySettings(testIamPermissionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for testIamPermissions from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }