public CloudTasksSettings cloudTasksSettings()

in spring-cloud-previews/google-cloud-tasks-spring-starter/src/main/java/com/google/cloud/tasks/v2/spring/CloudTasksSpringAutoConfiguration.java [121:443]


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

      RetrySettings getQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getQueueSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getQueueSettings().setRetrySettings(getQueueRetrySettings);

      RetrySettings createQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createQueueSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createQueueSettings().setRetrySettings(createQueueRetrySettings);

      RetrySettings updateQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateQueueSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateQueueSettings().setRetrySettings(updateQueueRetrySettings);

      RetrySettings deleteQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteQueueSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteQueueSettings().setRetrySettings(deleteQueueRetrySettings);

      RetrySettings purgeQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.purgeQueueSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.purgeQueueSettings().setRetrySettings(purgeQueueRetrySettings);

      RetrySettings pauseQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.pauseQueueSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.pauseQueueSettings().setRetrySettings(pauseQueueRetrySettings);

      RetrySettings resumeQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.resumeQueueSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.resumeQueueSettings().setRetrySettings(resumeQueueRetrySettings);

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

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

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

      RetrySettings listTasksRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTasksSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listTasksSettings().setRetrySettings(listTasksRetrySettings);

      RetrySettings getTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTaskSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getTaskSettings().setRetrySettings(getTaskRetrySettings);

      RetrySettings createTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createTaskSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createTaskSettings().setRetrySettings(createTaskRetrySettings);

      RetrySettings deleteTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteTaskSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteTaskSettings().setRetrySettings(deleteTaskRetrySettings);

      RetrySettings runTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.runTaskSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.runTaskSettings().setRetrySettings(runTaskRetrySettings);

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

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

      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured service-level retry settings from properties.");
      }
    }
    Retry listQueuesRetry = clientProperties.getListQueuesRetry();
    if (listQueuesRetry != null) {
      RetrySettings listQueuesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listQueuesSettings().getRetrySettings(), listQueuesRetry);
      clientSettingsBuilder.listQueuesSettings().setRetrySettings(listQueuesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listQueues from properties.");
      }
    }
    Retry getQueueRetry = clientProperties.getGetQueueRetry();
    if (getQueueRetry != null) {
      RetrySettings getQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getQueueSettings().getRetrySettings(), getQueueRetry);
      clientSettingsBuilder.getQueueSettings().setRetrySettings(getQueueRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getQueue from properties.");
      }
    }
    Retry createQueueRetry = clientProperties.getCreateQueueRetry();
    if (createQueueRetry != null) {
      RetrySettings createQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createQueueSettings().getRetrySettings(), createQueueRetry);
      clientSettingsBuilder.createQueueSettings().setRetrySettings(createQueueRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createQueue from properties.");
      }
    }
    Retry updateQueueRetry = clientProperties.getUpdateQueueRetry();
    if (updateQueueRetry != null) {
      RetrySettings updateQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateQueueSettings().getRetrySettings(), updateQueueRetry);
      clientSettingsBuilder.updateQueueSettings().setRetrySettings(updateQueueRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateQueue from properties.");
      }
    }
    Retry deleteQueueRetry = clientProperties.getDeleteQueueRetry();
    if (deleteQueueRetry != null) {
      RetrySettings deleteQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteQueueSettings().getRetrySettings(), deleteQueueRetry);
      clientSettingsBuilder.deleteQueueSettings().setRetrySettings(deleteQueueRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteQueue from properties.");
      }
    }
    Retry purgeQueueRetry = clientProperties.getPurgeQueueRetry();
    if (purgeQueueRetry != null) {
      RetrySettings purgeQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.purgeQueueSettings().getRetrySettings(), purgeQueueRetry);
      clientSettingsBuilder.purgeQueueSettings().setRetrySettings(purgeQueueRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for purgeQueue from properties.");
      }
    }
    Retry pauseQueueRetry = clientProperties.getPauseQueueRetry();
    if (pauseQueueRetry != null) {
      RetrySettings pauseQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.pauseQueueSettings().getRetrySettings(), pauseQueueRetry);
      clientSettingsBuilder.pauseQueueSettings().setRetrySettings(pauseQueueRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for pauseQueue from properties.");
      }
    }
    Retry resumeQueueRetry = clientProperties.getResumeQueueRetry();
    if (resumeQueueRetry != null) {
      RetrySettings resumeQueueRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.resumeQueueSettings().getRetrySettings(), resumeQueueRetry);
      clientSettingsBuilder.resumeQueueSettings().setRetrySettings(resumeQueueRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for resumeQueue 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 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 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.");
      }
    }
    Retry listTasksRetry = clientProperties.getListTasksRetry();
    if (listTasksRetry != null) {
      RetrySettings listTasksRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTasksSettings().getRetrySettings(), listTasksRetry);
      clientSettingsBuilder.listTasksSettings().setRetrySettings(listTasksRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listTasks from properties.");
      }
    }
    Retry getTaskRetry = clientProperties.getGetTaskRetry();
    if (getTaskRetry != null) {
      RetrySettings getTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTaskSettings().getRetrySettings(), getTaskRetry);
      clientSettingsBuilder.getTaskSettings().setRetrySettings(getTaskRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getTask from properties.");
      }
    }
    Retry createTaskRetry = clientProperties.getCreateTaskRetry();
    if (createTaskRetry != null) {
      RetrySettings createTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createTaskSettings().getRetrySettings(), createTaskRetry);
      clientSettingsBuilder.createTaskSettings().setRetrySettings(createTaskRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createTask from properties.");
      }
    }
    Retry deleteTaskRetry = clientProperties.getDeleteTaskRetry();
    if (deleteTaskRetry != null) {
      RetrySettings deleteTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteTaskSettings().getRetrySettings(), deleteTaskRetry);
      clientSettingsBuilder.deleteTaskSettings().setRetrySettings(deleteTaskRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteTask from properties.");
      }
    }
    Retry runTaskRetry = clientProperties.getRunTaskRetry();
    if (runTaskRetry != null) {
      RetrySettings runTaskRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.runTaskSettings().getRetrySettings(), runTaskRetry);
      clientSettingsBuilder.runTaskSettings().setRetrySettings(runTaskRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for runTask 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.");
      }
    }
    return clientSettingsBuilder.build();
  }