public StorageTransferServiceSettings storageTransferServiceSettings()

in spring-cloud-previews/google-cloud-storage-transfer-spring-starter/src/main/java/com/google/storagetransfer/v1/proto/spring/StorageTransferServiceSpringAutoConfiguration.java [124:427]


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

      RetrySettings createTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createTransferJobSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .createTransferJobSettings()
          .setRetrySettings(createTransferJobRetrySettings);

      RetrySettings updateTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateTransferJobSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .updateTransferJobSettings()
          .setRetrySettings(updateTransferJobRetrySettings);

      RetrySettings getTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTransferJobSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getTransferJobSettings().setRetrySettings(getTransferJobRetrySettings);

      RetrySettings listTransferJobsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTransferJobsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listTransferJobsSettings()
          .setRetrySettings(listTransferJobsRetrySettings);

      RetrySettings pauseTransferOperationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.pauseTransferOperationSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .pauseTransferOperationSettings()
          .setRetrySettings(pauseTransferOperationRetrySettings);

      RetrySettings resumeTransferOperationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.resumeTransferOperationSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .resumeTransferOperationSettings()
          .setRetrySettings(resumeTransferOperationRetrySettings);

      RetrySettings deleteTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteTransferJobSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .deleteTransferJobSettings()
          .setRetrySettings(deleteTransferJobRetrySettings);

      RetrySettings createAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createAgentPoolSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .createAgentPoolSettings()
          .setRetrySettings(createAgentPoolRetrySettings);

      RetrySettings updateAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateAgentPoolSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .updateAgentPoolSettings()
          .setRetrySettings(updateAgentPoolRetrySettings);

      RetrySettings getAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getAgentPoolSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getAgentPoolSettings().setRetrySettings(getAgentPoolRetrySettings);

      RetrySettings listAgentPoolsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listAgentPoolsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listAgentPoolsSettings().setRetrySettings(listAgentPoolsRetrySettings);

      RetrySettings deleteAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteAgentPoolSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .deleteAgentPoolSettings()
          .setRetrySettings(deleteAgentPoolRetrySettings);

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry getGoogleServiceAccountRetry = clientProperties.getGetGoogleServiceAccountRetry();
    if (getGoogleServiceAccountRetry != null) {
      RetrySettings getGoogleServiceAccountRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getGoogleServiceAccountSettings().getRetrySettings(),
              getGoogleServiceAccountRetry);
      clientSettingsBuilder
          .getGoogleServiceAccountSettings()
          .setRetrySettings(getGoogleServiceAccountRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getGoogleServiceAccount from properties.");
      }
    }
    Retry createTransferJobRetry = clientProperties.getCreateTransferJobRetry();
    if (createTransferJobRetry != null) {
      RetrySettings createTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createTransferJobSettings().getRetrySettings(),
              createTransferJobRetry);
      clientSettingsBuilder
          .createTransferJobSettings()
          .setRetrySettings(createTransferJobRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for createTransferJob from properties.");
      }
    }
    Retry updateTransferJobRetry = clientProperties.getUpdateTransferJobRetry();
    if (updateTransferJobRetry != null) {
      RetrySettings updateTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateTransferJobSettings().getRetrySettings(),
              updateTransferJobRetry);
      clientSettingsBuilder
          .updateTransferJobSettings()
          .setRetrySettings(updateTransferJobRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateTransferJob from properties.");
      }
    }
    Retry getTransferJobRetry = clientProperties.getGetTransferJobRetry();
    if (getTransferJobRetry != null) {
      RetrySettings getTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTransferJobSettings().getRetrySettings(),
              getTransferJobRetry);
      clientSettingsBuilder.getTransferJobSettings().setRetrySettings(getTransferJobRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getTransferJob from properties.");
      }
    }
    Retry listTransferJobsRetry = clientProperties.getListTransferJobsRetry();
    if (listTransferJobsRetry != null) {
      RetrySettings listTransferJobsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTransferJobsSettings().getRetrySettings(),
              listTransferJobsRetry);
      clientSettingsBuilder
          .listTransferJobsSettings()
          .setRetrySettings(listTransferJobsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listTransferJobs from properties.");
      }
    }
    Retry pauseTransferOperationRetry = clientProperties.getPauseTransferOperationRetry();
    if (pauseTransferOperationRetry != null) {
      RetrySettings pauseTransferOperationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.pauseTransferOperationSettings().getRetrySettings(),
              pauseTransferOperationRetry);
      clientSettingsBuilder
          .pauseTransferOperationSettings()
          .setRetrySettings(pauseTransferOperationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for pauseTransferOperation from properties.");
      }
    }
    Retry resumeTransferOperationRetry = clientProperties.getResumeTransferOperationRetry();
    if (resumeTransferOperationRetry != null) {
      RetrySettings resumeTransferOperationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.resumeTransferOperationSettings().getRetrySettings(),
              resumeTransferOperationRetry);
      clientSettingsBuilder
          .resumeTransferOperationSettings()
          .setRetrySettings(resumeTransferOperationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for resumeTransferOperation from properties.");
      }
    }
    Retry deleteTransferJobRetry = clientProperties.getDeleteTransferJobRetry();
    if (deleteTransferJobRetry != null) {
      RetrySettings deleteTransferJobRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteTransferJobSettings().getRetrySettings(),
              deleteTransferJobRetry);
      clientSettingsBuilder
          .deleteTransferJobSettings()
          .setRetrySettings(deleteTransferJobRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for deleteTransferJob from properties.");
      }
    }
    Retry createAgentPoolRetry = clientProperties.getCreateAgentPoolRetry();
    if (createAgentPoolRetry != null) {
      RetrySettings createAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createAgentPoolSettings().getRetrySettings(),
              createAgentPoolRetry);
      clientSettingsBuilder
          .createAgentPoolSettings()
          .setRetrySettings(createAgentPoolRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createAgentPool from properties.");
      }
    }
    Retry updateAgentPoolRetry = clientProperties.getUpdateAgentPoolRetry();
    if (updateAgentPoolRetry != null) {
      RetrySettings updateAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateAgentPoolSettings().getRetrySettings(),
              updateAgentPoolRetry);
      clientSettingsBuilder
          .updateAgentPoolSettings()
          .setRetrySettings(updateAgentPoolRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateAgentPool from properties.");
      }
    }
    Retry getAgentPoolRetry = clientProperties.getGetAgentPoolRetry();
    if (getAgentPoolRetry != null) {
      RetrySettings getAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getAgentPoolSettings().getRetrySettings(), getAgentPoolRetry);
      clientSettingsBuilder.getAgentPoolSettings().setRetrySettings(getAgentPoolRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getAgentPool from properties.");
      }
    }
    Retry listAgentPoolsRetry = clientProperties.getListAgentPoolsRetry();
    if (listAgentPoolsRetry != null) {
      RetrySettings listAgentPoolsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listAgentPoolsSettings().getRetrySettings(),
              listAgentPoolsRetry);
      clientSettingsBuilder.listAgentPoolsSettings().setRetrySettings(listAgentPoolsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listAgentPools from properties.");
      }
    }
    Retry deleteAgentPoolRetry = clientProperties.getDeleteAgentPoolRetry();
    if (deleteAgentPoolRetry != null) {
      RetrySettings deleteAgentPoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteAgentPoolSettings().getRetrySettings(),
              deleteAgentPoolRetry);
      clientSettingsBuilder
          .deleteAgentPoolSettings()
          .setRetrySettings(deleteAgentPoolRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteAgentPool from properties.");
      }
    }
    return clientSettingsBuilder.build();
  }