public WorkstationsSettings workstationsSettings()

in spring-cloud-previews/google-cloud-workstations-spring-starter/src/main/java/com/google/cloud/workstations/v1/spring/WorkstationsSpringAutoConfiguration.java [122:410]


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

      RetrySettings listWorkstationClustersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listWorkstationClustersSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listWorkstationClustersSettings()
          .setRetrySettings(listWorkstationClustersRetrySettings);

      RetrySettings getWorkstationConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getWorkstationConfigSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .getWorkstationConfigSettings()
          .setRetrySettings(getWorkstationConfigRetrySettings);

      RetrySettings listWorkstationConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listWorkstationConfigsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listWorkstationConfigsSettings()
          .setRetrySettings(listWorkstationConfigsRetrySettings);

      RetrySettings listUsableWorkstationConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listUsableWorkstationConfigsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listUsableWorkstationConfigsSettings()
          .setRetrySettings(listUsableWorkstationConfigsRetrySettings);

      RetrySettings getWorkstationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getWorkstationSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getWorkstationSettings().setRetrySettings(getWorkstationRetrySettings);

      RetrySettings listWorkstationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listWorkstationsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listWorkstationsSettings()
          .setRetrySettings(listWorkstationsRetrySettings);

      RetrySettings listUsableWorkstationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listUsableWorkstationsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .listUsableWorkstationsSettings()
          .setRetrySettings(listUsableWorkstationsRetrySettings);

      RetrySettings generateAccessTokenRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateAccessTokenSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .generateAccessTokenSettings()
          .setRetrySettings(generateAccessTokenRetrySettings);

      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 getWorkstationClusterRetry = clientProperties.getGetWorkstationClusterRetry();
    if (getWorkstationClusterRetry != null) {
      RetrySettings getWorkstationClusterRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getWorkstationClusterSettings().getRetrySettings(),
              getWorkstationClusterRetry);
      clientSettingsBuilder
          .getWorkstationClusterSettings()
          .setRetrySettings(getWorkstationClusterRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getWorkstationCluster from properties.");
      }
    }
    Retry listWorkstationClustersRetry = clientProperties.getListWorkstationClustersRetry();
    if (listWorkstationClustersRetry != null) {
      RetrySettings listWorkstationClustersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listWorkstationClustersSettings().getRetrySettings(),
              listWorkstationClustersRetry);
      clientSettingsBuilder
          .listWorkstationClustersSettings()
          .setRetrySettings(listWorkstationClustersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listWorkstationClusters from properties.");
      }
    }
    Retry getWorkstationConfigRetry = clientProperties.getGetWorkstationConfigRetry();
    if (getWorkstationConfigRetry != null) {
      RetrySettings getWorkstationConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getWorkstationConfigSettings().getRetrySettings(),
              getWorkstationConfigRetry);
      clientSettingsBuilder
          .getWorkstationConfigSettings()
          .setRetrySettings(getWorkstationConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getWorkstationConfig from properties.");
      }
    }
    Retry listWorkstationConfigsRetry = clientProperties.getListWorkstationConfigsRetry();
    if (listWorkstationConfigsRetry != null) {
      RetrySettings listWorkstationConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listWorkstationConfigsSettings().getRetrySettings(),
              listWorkstationConfigsRetry);
      clientSettingsBuilder
          .listWorkstationConfigsSettings()
          .setRetrySettings(listWorkstationConfigsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listWorkstationConfigs from properties.");
      }
    }
    Retry listUsableWorkstationConfigsRetry =
        clientProperties.getListUsableWorkstationConfigsRetry();
    if (listUsableWorkstationConfigsRetry != null) {
      RetrySettings listUsableWorkstationConfigsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listUsableWorkstationConfigsSettings().getRetrySettings(),
              listUsableWorkstationConfigsRetry);
      clientSettingsBuilder
          .listUsableWorkstationConfigsSettings()
          .setRetrySettings(listUsableWorkstationConfigsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listUsableWorkstationConfigs from properties.");
      }
    }
    Retry getWorkstationRetry = clientProperties.getGetWorkstationRetry();
    if (getWorkstationRetry != null) {
      RetrySettings getWorkstationRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getWorkstationSettings().getRetrySettings(),
              getWorkstationRetry);
      clientSettingsBuilder.getWorkstationSettings().setRetrySettings(getWorkstationRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getWorkstation from properties.");
      }
    }
    Retry listWorkstationsRetry = clientProperties.getListWorkstationsRetry();
    if (listWorkstationsRetry != null) {
      RetrySettings listWorkstationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listWorkstationsSettings().getRetrySettings(),
              listWorkstationsRetry);
      clientSettingsBuilder
          .listWorkstationsSettings()
          .setRetrySettings(listWorkstationsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listWorkstations from properties.");
      }
    }
    Retry listUsableWorkstationsRetry = clientProperties.getListUsableWorkstationsRetry();
    if (listUsableWorkstationsRetry != null) {
      RetrySettings listUsableWorkstationsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listUsableWorkstationsSettings().getRetrySettings(),
              listUsableWorkstationsRetry);
      clientSettingsBuilder
          .listUsableWorkstationsSettings()
          .setRetrySettings(listUsableWorkstationsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listUsableWorkstations from properties.");
      }
    }
    Retry generateAccessTokenRetry = clientProperties.getGenerateAccessTokenRetry();
    if (generateAccessTokenRetry != null) {
      RetrySettings generateAccessTokenRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateAccessTokenSettings().getRetrySettings(),
              generateAccessTokenRetry);
      clientSettingsBuilder
          .generateAccessTokenSettings()
          .setRetrySettings(generateAccessTokenRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for generateAccessToken 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();
  }