public EdgeContainerSettings edgeContainerSettings()

in spring-cloud-previews/google-cloud-distributedcloudedge-spring-starter/src/main/java/com/google/cloud/edgecontainer/v1/spring/EdgeContainerSpringAutoConfiguration.java [122:393]


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

      RetrySettings getClusterRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getClusterSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getClusterSettings().setRetrySettings(getClusterRetrySettings);

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

      RetrySettings generateOfflineCredentialRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateOfflineCredentialSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .generateOfflineCredentialSettings()
          .setRetrySettings(generateOfflineCredentialRetrySettings);

      RetrySettings listNodePoolsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listNodePoolsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listNodePoolsSettings().setRetrySettings(listNodePoolsRetrySettings);

      RetrySettings getNodePoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getNodePoolSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getNodePoolSettings().setRetrySettings(getNodePoolRetrySettings);

      RetrySettings listMachinesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listMachinesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listMachinesSettings().setRetrySettings(listMachinesRetrySettings);

      RetrySettings getMachineRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getMachineSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getMachineSettings().setRetrySettings(getMachineRetrySettings);

      RetrySettings listVpnConnectionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listVpnConnectionsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listVpnConnectionsSettings()
          .setRetrySettings(listVpnConnectionsRetrySettings);

      RetrySettings getVpnConnectionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getVpnConnectionSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getVpnConnectionSettings()
          .setRetrySettings(getVpnConnectionRetrySettings);

      RetrySettings getServerConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getServerConfigSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getServerConfigSettings()
          .setRetrySettings(getServerConfigRetrySettings);

      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 listClustersRetry = clientProperties.getListClustersRetry();
    if (listClustersRetry != null) {
      RetrySettings listClustersRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listClustersSettings().getRetrySettings(), listClustersRetry);
      clientSettingsBuilder.listClustersSettings().setRetrySettings(listClustersRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listClusters from properties.");
      }
    }
    Retry getClusterRetry = clientProperties.getGetClusterRetry();
    if (getClusterRetry != null) {
      RetrySettings getClusterRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getClusterSettings().getRetrySettings(), getClusterRetry);
      clientSettingsBuilder.getClusterSettings().setRetrySettings(getClusterRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getCluster 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 generateOfflineCredentialRetry = clientProperties.getGenerateOfflineCredentialRetry();
    if (generateOfflineCredentialRetry != null) {
      RetrySettings generateOfflineCredentialRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.generateOfflineCredentialSettings().getRetrySettings(),
              generateOfflineCredentialRetry);
      clientSettingsBuilder
          .generateOfflineCredentialSettings()
          .setRetrySettings(generateOfflineCredentialRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for generateOfflineCredential from properties.");
      }
    }
    Retry listNodePoolsRetry = clientProperties.getListNodePoolsRetry();
    if (listNodePoolsRetry != null) {
      RetrySettings listNodePoolsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listNodePoolsSettings().getRetrySettings(), listNodePoolsRetry);
      clientSettingsBuilder.listNodePoolsSettings().setRetrySettings(listNodePoolsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listNodePools from properties.");
      }
    }
    Retry getNodePoolRetry = clientProperties.getGetNodePoolRetry();
    if (getNodePoolRetry != null) {
      RetrySettings getNodePoolRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getNodePoolSettings().getRetrySettings(), getNodePoolRetry);
      clientSettingsBuilder.getNodePoolSettings().setRetrySettings(getNodePoolRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getNodePool from properties.");
      }
    }
    Retry listMachinesRetry = clientProperties.getListMachinesRetry();
    if (listMachinesRetry != null) {
      RetrySettings listMachinesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listMachinesSettings().getRetrySettings(), listMachinesRetry);
      clientSettingsBuilder.listMachinesSettings().setRetrySettings(listMachinesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listMachines from properties.");
      }
    }
    Retry getMachineRetry = clientProperties.getGetMachineRetry();
    if (getMachineRetry != null) {
      RetrySettings getMachineRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getMachineSettings().getRetrySettings(), getMachineRetry);
      clientSettingsBuilder.getMachineSettings().setRetrySettings(getMachineRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getMachine from properties.");
      }
    }
    Retry listVpnConnectionsRetry = clientProperties.getListVpnConnectionsRetry();
    if (listVpnConnectionsRetry != null) {
      RetrySettings listVpnConnectionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listVpnConnectionsSettings().getRetrySettings(),
              listVpnConnectionsRetry);
      clientSettingsBuilder
          .listVpnConnectionsSettings()
          .setRetrySettings(listVpnConnectionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listVpnConnections from properties.");
      }
    }
    Retry getVpnConnectionRetry = clientProperties.getGetVpnConnectionRetry();
    if (getVpnConnectionRetry != null) {
      RetrySettings getVpnConnectionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getVpnConnectionSettings().getRetrySettings(),
              getVpnConnectionRetry);
      clientSettingsBuilder
          .getVpnConnectionSettings()
          .setRetrySettings(getVpnConnectionRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getVpnConnection from properties.");
      }
    }
    Retry getServerConfigRetry = clientProperties.getGetServerConfigRetry();
    if (getServerConfigRetry != null) {
      RetrySettings getServerConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getServerConfigSettings().getRetrySettings(),
              getServerConfigRetry);
      clientSettingsBuilder
          .getServerConfigSettings()
          .setRetrySettings(getServerConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getServerConfig 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();
  }