public BackupDRSettings backupDRSettings()

in spring-cloud-previews/google-cloud-backupdr-spring-starter/src/main/java/com/google/cloud/backupdr/v1/spring/BackupDRSpringAutoConfiguration.java [119:492]


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

      RetrySettings getManagementServerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getManagementServerSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getManagementServerSettings()
          .setRetrySettings(getManagementServerRetrySettings);

      RetrySettings listBackupVaultsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupVaultsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listBackupVaultsSettings()
          .setRetrySettings(listBackupVaultsRetrySettings);

      RetrySettings fetchUsableBackupVaultsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.fetchUsableBackupVaultsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .fetchUsableBackupVaultsSettings()
          .setRetrySettings(fetchUsableBackupVaultsRetrySettings);

      RetrySettings getBackupVaultRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupVaultSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getBackupVaultSettings().setRetrySettings(getBackupVaultRetrySettings);

      RetrySettings listDataSourcesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDataSourcesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listDataSourcesSettings()
          .setRetrySettings(listDataSourcesRetrySettings);

      RetrySettings getDataSourceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDataSourceSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getDataSourceSettings().setRetrySettings(getDataSourceRetrySettings);

      RetrySettings listBackupsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listBackupsSettings().setRetrySettings(listBackupsRetrySettings);

      RetrySettings getBackupRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getBackupSettings().setRetrySettings(getBackupRetrySettings);

      RetrySettings getBackupPlanRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupPlanSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getBackupPlanSettings().setRetrySettings(getBackupPlanRetrySettings);

      RetrySettings listBackupPlansRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupPlansSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listBackupPlansSettings()
          .setRetrySettings(listBackupPlansRetrySettings);

      RetrySettings getBackupPlanAssociationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupPlanAssociationSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .getBackupPlanAssociationSettings()
          .setRetrySettings(getBackupPlanAssociationRetrySettings);

      RetrySettings listBackupPlanAssociationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupPlanAssociationsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listBackupPlanAssociationsSettings()
          .setRetrySettings(listBackupPlanAssociationsRetrySettings);

      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 listManagementServersRetry = clientProperties.getListManagementServersRetry();
    if (listManagementServersRetry != null) {
      RetrySettings listManagementServersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listManagementServersSettings().getRetrySettings(),
              listManagementServersRetry);
      clientSettingsBuilder
          .listManagementServersSettings()
          .setRetrySettings(listManagementServersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listManagementServers from properties.");
      }
    }
    Retry getManagementServerRetry = clientProperties.getGetManagementServerRetry();
    if (getManagementServerRetry != null) {
      RetrySettings getManagementServerRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getManagementServerSettings().getRetrySettings(),
              getManagementServerRetry);
      clientSettingsBuilder
          .getManagementServerSettings()
          .setRetrySettings(getManagementServerRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getManagementServer from properties.");
      }
    }
    Retry listBackupVaultsRetry = clientProperties.getListBackupVaultsRetry();
    if (listBackupVaultsRetry != null) {
      RetrySettings listBackupVaultsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupVaultsSettings().getRetrySettings(),
              listBackupVaultsRetry);
      clientSettingsBuilder
          .listBackupVaultsSettings()
          .setRetrySettings(listBackupVaultsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listBackupVaults from properties.");
      }
    }
    Retry fetchUsableBackupVaultsRetry = clientProperties.getFetchUsableBackupVaultsRetry();
    if (fetchUsableBackupVaultsRetry != null) {
      RetrySettings fetchUsableBackupVaultsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.fetchUsableBackupVaultsSettings().getRetrySettings(),
              fetchUsableBackupVaultsRetry);
      clientSettingsBuilder
          .fetchUsableBackupVaultsSettings()
          .setRetrySettings(fetchUsableBackupVaultsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for fetchUsableBackupVaults from properties.");
      }
    }
    Retry getBackupVaultRetry = clientProperties.getGetBackupVaultRetry();
    if (getBackupVaultRetry != null) {
      RetrySettings getBackupVaultRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupVaultSettings().getRetrySettings(),
              getBackupVaultRetry);
      clientSettingsBuilder.getBackupVaultSettings().setRetrySettings(getBackupVaultRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getBackupVault from properties.");
      }
    }
    Retry listDataSourcesRetry = clientProperties.getListDataSourcesRetry();
    if (listDataSourcesRetry != null) {
      RetrySettings listDataSourcesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDataSourcesSettings().getRetrySettings(),
              listDataSourcesRetry);
      clientSettingsBuilder
          .listDataSourcesSettings()
          .setRetrySettings(listDataSourcesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listDataSources from properties.");
      }
    }
    Retry getDataSourceRetry = clientProperties.getGetDataSourceRetry();
    if (getDataSourceRetry != null) {
      RetrySettings getDataSourceRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDataSourceSettings().getRetrySettings(), getDataSourceRetry);
      clientSettingsBuilder.getDataSourceSettings().setRetrySettings(getDataSourceRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getDataSource from properties.");
      }
    }
    Retry listBackupsRetry = clientProperties.getListBackupsRetry();
    if (listBackupsRetry != null) {
      RetrySettings listBackupsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupsSettings().getRetrySettings(), listBackupsRetry);
      clientSettingsBuilder.listBackupsSettings().setRetrySettings(listBackupsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listBackups from properties.");
      }
    }
    Retry getBackupRetry = clientProperties.getGetBackupRetry();
    if (getBackupRetry != null) {
      RetrySettings getBackupRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupSettings().getRetrySettings(), getBackupRetry);
      clientSettingsBuilder.getBackupSettings().setRetrySettings(getBackupRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getBackup from properties.");
      }
    }
    Retry getBackupPlanRetry = clientProperties.getGetBackupPlanRetry();
    if (getBackupPlanRetry != null) {
      RetrySettings getBackupPlanRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupPlanSettings().getRetrySettings(), getBackupPlanRetry);
      clientSettingsBuilder.getBackupPlanSettings().setRetrySettings(getBackupPlanRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getBackupPlan from properties.");
      }
    }
    Retry listBackupPlansRetry = clientProperties.getListBackupPlansRetry();
    if (listBackupPlansRetry != null) {
      RetrySettings listBackupPlansRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupPlansSettings().getRetrySettings(),
              listBackupPlansRetry);
      clientSettingsBuilder
          .listBackupPlansSettings()
          .setRetrySettings(listBackupPlansRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listBackupPlans from properties.");
      }
    }
    Retry getBackupPlanAssociationRetry = clientProperties.getGetBackupPlanAssociationRetry();
    if (getBackupPlanAssociationRetry != null) {
      RetrySettings getBackupPlanAssociationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getBackupPlanAssociationSettings().getRetrySettings(),
              getBackupPlanAssociationRetry);
      clientSettingsBuilder
          .getBackupPlanAssociationSettings()
          .setRetrySettings(getBackupPlanAssociationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getBackupPlanAssociation from properties.");
      }
    }
    Retry listBackupPlanAssociationsRetry = clientProperties.getListBackupPlanAssociationsRetry();
    if (listBackupPlanAssociationsRetry != null) {
      RetrySettings listBackupPlanAssociationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listBackupPlanAssociationsSettings().getRetrySettings(),
              listBackupPlanAssociationsRetry);
      clientSettingsBuilder
          .listBackupPlanAssociationsSettings()
          .setRetrySettings(listBackupPlanAssociationsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listBackupPlanAssociations 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();
  }