public ArtifactRegistrySettings artifactRegistrySettings()

in spring-cloud-previews/google-cloud-artifact-registry-spring-starter/src/main/java/com/google/devtools/artifactregistry/v1/spring/ArtifactRegistrySpringAutoConfiguration.java [123:863]


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

      RetrySettings getDockerImageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDockerImageSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getDockerImageSettings().setRetrySettings(getDockerImageRetrySettings);

      RetrySettings listMavenArtifactsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listMavenArtifactsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listMavenArtifactsSettings()
          .setRetrySettings(listMavenArtifactsRetrySettings);

      RetrySettings getMavenArtifactRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getMavenArtifactSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getMavenArtifactSettings()
          .setRetrySettings(getMavenArtifactRetrySettings);

      RetrySettings listNpmPackagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listNpmPackagesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listNpmPackagesSettings()
          .setRetrySettings(listNpmPackagesRetrySettings);

      RetrySettings getNpmPackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getNpmPackageSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getNpmPackageSettings().setRetrySettings(getNpmPackageRetrySettings);

      RetrySettings listPythonPackagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPythonPackagesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listPythonPackagesSettings()
          .setRetrySettings(listPythonPackagesRetrySettings);

      RetrySettings getPythonPackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getPythonPackageSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getPythonPackageSettings()
          .setRetrySettings(getPythonPackageRetrySettings);

      RetrySettings listRepositoriesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRepositoriesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listRepositoriesSettings()
          .setRetrySettings(listRepositoriesRetrySettings);

      RetrySettings getRepositoryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRepositorySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getRepositorySettings().setRetrySettings(getRepositoryRetrySettings);

      RetrySettings updateRepositoryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRepositorySettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .updateRepositorySettings()
          .setRetrySettings(updateRepositoryRetrySettings);

      RetrySettings listPackagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPackagesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listPackagesSettings().setRetrySettings(listPackagesRetrySettings);

      RetrySettings getPackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getPackageSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getPackageSettings().setRetrySettings(getPackageRetrySettings);

      RetrySettings listVersionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listVersionsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listVersionsSettings().setRetrySettings(listVersionsRetrySettings);

      RetrySettings getVersionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getVersionSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getVersionSettings().setRetrySettings(getVersionRetrySettings);

      RetrySettings updateVersionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateVersionSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateVersionSettings().setRetrySettings(updateVersionRetrySettings);

      RetrySettings listFilesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listFilesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listFilesSettings().setRetrySettings(listFilesRetrySettings);

      RetrySettings getFileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getFileSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getFileSettings().setRetrySettings(getFileRetrySettings);

      RetrySettings updateFileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateFileSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateFileSettings().setRetrySettings(updateFileRetrySettings);

      RetrySettings listTagsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTagsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listTagsSettings().setRetrySettings(listTagsRetrySettings);

      RetrySettings getTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTagSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getTagSettings().setRetrySettings(getTagRetrySettings);

      RetrySettings createTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createTagSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createTagSettings().setRetrySettings(createTagRetrySettings);

      RetrySettings updateTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateTagSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateTagSettings().setRetrySettings(updateTagRetrySettings);

      RetrySettings deleteTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteTagSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteTagSettings().setRetrySettings(deleteTagRetrySettings);

      RetrySettings createRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createRuleSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.createRuleSettings().setRetrySettings(createRuleRetrySettings);

      RetrySettings listRulesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRulesSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.listRulesSettings().setRetrySettings(listRulesRetrySettings);

      RetrySettings getRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRuleSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getRuleSettings().setRetrySettings(getRuleRetrySettings);

      RetrySettings updateRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRuleSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updateRuleSettings().setRetrySettings(updateRuleRetrySettings);

      RetrySettings deleteRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteRuleSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.deleteRuleSettings().setRetrySettings(deleteRuleRetrySettings);

      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);

      RetrySettings getProjectSettingsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getProjectSettingsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .getProjectSettingsSettings()
          .setRetrySettings(getProjectSettingsRetrySettings);

      RetrySettings updateProjectSettingsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateProjectSettingsSettings().getRetrySettings(),
              serviceRetry);
      clientSettingsBuilder
          .updateProjectSettingsSettings()
          .setRetrySettings(updateProjectSettingsRetrySettings);

      RetrySettings getVPCSCConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getVPCSCConfigSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getVPCSCConfigSettings().setRetrySettings(getVPCSCConfigRetrySettings);

      RetrySettings updateVPCSCConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateVPCSCConfigSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .updateVPCSCConfigSettings()
          .setRetrySettings(updateVPCSCConfigRetrySettings);

      RetrySettings updatePackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updatePackageSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.updatePackageSettings().setRetrySettings(updatePackageRetrySettings);

      RetrySettings listAttachmentsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listAttachmentsSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder
          .listAttachmentsSettings()
          .setRetrySettings(listAttachmentsRetrySettings);

      RetrySettings getAttachmentRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getAttachmentSettings().getRetrySettings(), serviceRetry);
      clientSettingsBuilder.getAttachmentSettings().setRetrySettings(getAttachmentRetrySettings);

      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 listDockerImagesRetry = clientProperties.getListDockerImagesRetry();
    if (listDockerImagesRetry != null) {
      RetrySettings listDockerImagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listDockerImagesSettings().getRetrySettings(),
              listDockerImagesRetry);
      clientSettingsBuilder
          .listDockerImagesSettings()
          .setRetrySettings(listDockerImagesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listDockerImages from properties.");
      }
    }
    Retry getDockerImageRetry = clientProperties.getGetDockerImageRetry();
    if (getDockerImageRetry != null) {
      RetrySettings getDockerImageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getDockerImageSettings().getRetrySettings(),
              getDockerImageRetry);
      clientSettingsBuilder.getDockerImageSettings().setRetrySettings(getDockerImageRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getDockerImage from properties.");
      }
    }
    Retry listMavenArtifactsRetry = clientProperties.getListMavenArtifactsRetry();
    if (listMavenArtifactsRetry != null) {
      RetrySettings listMavenArtifactsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listMavenArtifactsSettings().getRetrySettings(),
              listMavenArtifactsRetry);
      clientSettingsBuilder
          .listMavenArtifactsSettings()
          .setRetrySettings(listMavenArtifactsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listMavenArtifacts from properties.");
      }
    }
    Retry getMavenArtifactRetry = clientProperties.getGetMavenArtifactRetry();
    if (getMavenArtifactRetry != null) {
      RetrySettings getMavenArtifactRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getMavenArtifactSettings().getRetrySettings(),
              getMavenArtifactRetry);
      clientSettingsBuilder
          .getMavenArtifactSettings()
          .setRetrySettings(getMavenArtifactRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getMavenArtifact from properties.");
      }
    }
    Retry listNpmPackagesRetry = clientProperties.getListNpmPackagesRetry();
    if (listNpmPackagesRetry != null) {
      RetrySettings listNpmPackagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listNpmPackagesSettings().getRetrySettings(),
              listNpmPackagesRetry);
      clientSettingsBuilder
          .listNpmPackagesSettings()
          .setRetrySettings(listNpmPackagesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listNpmPackages from properties.");
      }
    }
    Retry getNpmPackageRetry = clientProperties.getGetNpmPackageRetry();
    if (getNpmPackageRetry != null) {
      RetrySettings getNpmPackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getNpmPackageSettings().getRetrySettings(), getNpmPackageRetry);
      clientSettingsBuilder.getNpmPackageSettings().setRetrySettings(getNpmPackageRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getNpmPackage from properties.");
      }
    }
    Retry listPythonPackagesRetry = clientProperties.getListPythonPackagesRetry();
    if (listPythonPackagesRetry != null) {
      RetrySettings listPythonPackagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPythonPackagesSettings().getRetrySettings(),
              listPythonPackagesRetry);
      clientSettingsBuilder
          .listPythonPackagesSettings()
          .setRetrySettings(listPythonPackagesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listPythonPackages from properties.");
      }
    }
    Retry getPythonPackageRetry = clientProperties.getGetPythonPackageRetry();
    if (getPythonPackageRetry != null) {
      RetrySettings getPythonPackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getPythonPackageSettings().getRetrySettings(),
              getPythonPackageRetry);
      clientSettingsBuilder
          .getPythonPackageSettings()
          .setRetrySettings(getPythonPackageRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getPythonPackage from properties.");
      }
    }
    Retry listRepositoriesRetry = clientProperties.getListRepositoriesRetry();
    if (listRepositoriesRetry != null) {
      RetrySettings listRepositoriesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRepositoriesSettings().getRetrySettings(),
              listRepositoriesRetry);
      clientSettingsBuilder
          .listRepositoriesSettings()
          .setRetrySettings(listRepositoriesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for listRepositories from properties.");
      }
    }
    Retry getRepositoryRetry = clientProperties.getGetRepositoryRetry();
    if (getRepositoryRetry != null) {
      RetrySettings getRepositoryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRepositorySettings().getRetrySettings(), getRepositoryRetry);
      clientSettingsBuilder.getRepositorySettings().setRetrySettings(getRepositoryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getRepository from properties.");
      }
    }
    Retry updateRepositoryRetry = clientProperties.getUpdateRepositoryRetry();
    if (updateRepositoryRetry != null) {
      RetrySettings updateRepositoryRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRepositorySettings().getRetrySettings(),
              updateRepositoryRetry);
      clientSettingsBuilder
          .updateRepositorySettings()
          .setRetrySettings(updateRepositoryRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateRepository from properties.");
      }
    }
    Retry listPackagesRetry = clientProperties.getListPackagesRetry();
    if (listPackagesRetry != null) {
      RetrySettings listPackagesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listPackagesSettings().getRetrySettings(), listPackagesRetry);
      clientSettingsBuilder.listPackagesSettings().setRetrySettings(listPackagesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listPackages from properties.");
      }
    }
    Retry getPackageRetry = clientProperties.getGetPackageRetry();
    if (getPackageRetry != null) {
      RetrySettings getPackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getPackageSettings().getRetrySettings(), getPackageRetry);
      clientSettingsBuilder.getPackageSettings().setRetrySettings(getPackageRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getPackage from properties.");
      }
    }
    Retry listVersionsRetry = clientProperties.getListVersionsRetry();
    if (listVersionsRetry != null) {
      RetrySettings listVersionsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listVersionsSettings().getRetrySettings(), listVersionsRetry);
      clientSettingsBuilder.listVersionsSettings().setRetrySettings(listVersionsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listVersions from properties.");
      }
    }
    Retry getVersionRetry = clientProperties.getGetVersionRetry();
    if (getVersionRetry != null) {
      RetrySettings getVersionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getVersionSettings().getRetrySettings(), getVersionRetry);
      clientSettingsBuilder.getVersionSettings().setRetrySettings(getVersionRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getVersion from properties.");
      }
    }
    Retry updateVersionRetry = clientProperties.getUpdateVersionRetry();
    if (updateVersionRetry != null) {
      RetrySettings updateVersionRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateVersionSettings().getRetrySettings(), updateVersionRetry);
      clientSettingsBuilder.updateVersionSettings().setRetrySettings(updateVersionRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateVersion from properties.");
      }
    }
    Retry listFilesRetry = clientProperties.getListFilesRetry();
    if (listFilesRetry != null) {
      RetrySettings listFilesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listFilesSettings().getRetrySettings(), listFilesRetry);
      clientSettingsBuilder.listFilesSettings().setRetrySettings(listFilesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listFiles from properties.");
      }
    }
    Retry getFileRetry = clientProperties.getGetFileRetry();
    if (getFileRetry != null) {
      RetrySettings getFileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getFileSettings().getRetrySettings(), getFileRetry);
      clientSettingsBuilder.getFileSettings().setRetrySettings(getFileRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getFile from properties.");
      }
    }
    Retry updateFileRetry = clientProperties.getUpdateFileRetry();
    if (updateFileRetry != null) {
      RetrySettings updateFileRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateFileSettings().getRetrySettings(), updateFileRetry);
      clientSettingsBuilder.updateFileSettings().setRetrySettings(updateFileRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateFile from properties.");
      }
    }
    Retry listTagsRetry = clientProperties.getListTagsRetry();
    if (listTagsRetry != null) {
      RetrySettings listTagsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listTagsSettings().getRetrySettings(), listTagsRetry);
      clientSettingsBuilder.listTagsSettings().setRetrySettings(listTagsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listTags from properties.");
      }
    }
    Retry getTagRetry = clientProperties.getGetTagRetry();
    if (getTagRetry != null) {
      RetrySettings getTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getTagSettings().getRetrySettings(), getTagRetry);
      clientSettingsBuilder.getTagSettings().setRetrySettings(getTagRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getTag from properties.");
      }
    }
    Retry createTagRetry = clientProperties.getCreateTagRetry();
    if (createTagRetry != null) {
      RetrySettings createTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createTagSettings().getRetrySettings(), createTagRetry);
      clientSettingsBuilder.createTagSettings().setRetrySettings(createTagRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createTag from properties.");
      }
    }
    Retry updateTagRetry = clientProperties.getUpdateTagRetry();
    if (updateTagRetry != null) {
      RetrySettings updateTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateTagSettings().getRetrySettings(), updateTagRetry);
      clientSettingsBuilder.updateTagSettings().setRetrySettings(updateTagRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateTag from properties.");
      }
    }
    Retry deleteTagRetry = clientProperties.getDeleteTagRetry();
    if (deleteTagRetry != null) {
      RetrySettings deleteTagRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteTagSettings().getRetrySettings(), deleteTagRetry);
      clientSettingsBuilder.deleteTagSettings().setRetrySettings(deleteTagRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteTag from properties.");
      }
    }
    Retry createRuleRetry = clientProperties.getCreateRuleRetry();
    if (createRuleRetry != null) {
      RetrySettings createRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.createRuleSettings().getRetrySettings(), createRuleRetry);
      clientSettingsBuilder.createRuleSettings().setRetrySettings(createRuleRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for createRule from properties.");
      }
    }
    Retry listRulesRetry = clientProperties.getListRulesRetry();
    if (listRulesRetry != null) {
      RetrySettings listRulesRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listRulesSettings().getRetrySettings(), listRulesRetry);
      clientSettingsBuilder.listRulesSettings().setRetrySettings(listRulesRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listRules from properties.");
      }
    }
    Retry getRuleRetry = clientProperties.getGetRuleRetry();
    if (getRuleRetry != null) {
      RetrySettings getRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getRuleSettings().getRetrySettings(), getRuleRetry);
      clientSettingsBuilder.getRuleSettings().setRetrySettings(getRuleRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getRule from properties.");
      }
    }
    Retry updateRuleRetry = clientProperties.getUpdateRuleRetry();
    if (updateRuleRetry != null) {
      RetrySettings updateRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateRuleSettings().getRetrySettings(), updateRuleRetry);
      clientSettingsBuilder.updateRuleSettings().setRetrySettings(updateRuleRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updateRule from properties.");
      }
    }
    Retry deleteRuleRetry = clientProperties.getDeleteRuleRetry();
    if (deleteRuleRetry != null) {
      RetrySettings deleteRuleRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.deleteRuleSettings().getRetrySettings(), deleteRuleRetry);
      clientSettingsBuilder.deleteRuleSettings().setRetrySettings(deleteRuleRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for deleteRule 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.");
      }
    }
    Retry getProjectSettingsRetry = clientProperties.getGetProjectSettingsRetry();
    if (getProjectSettingsRetry != null) {
      RetrySettings getProjectSettingsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getProjectSettingsSettings().getRetrySettings(),
              getProjectSettingsRetry);
      clientSettingsBuilder
          .getProjectSettingsSettings()
          .setRetrySettings(getProjectSettingsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for getProjectSettings from properties.");
      }
    }
    Retry updateProjectSettingsRetry = clientProperties.getUpdateProjectSettingsRetry();
    if (updateProjectSettingsRetry != null) {
      RetrySettings updateProjectSettingsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateProjectSettingsSettings().getRetrySettings(),
              updateProjectSettingsRetry);
      clientSettingsBuilder
          .updateProjectSettingsSettings()
          .setRetrySettings(updateProjectSettingsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateProjectSettings from properties.");
      }
    }
    Retry getVPCSCConfigRetry = clientProperties.getGetVPCSCConfigRetry();
    if (getVPCSCConfigRetry != null) {
      RetrySettings getVPCSCConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getVPCSCConfigSettings().getRetrySettings(),
              getVPCSCConfigRetry);
      clientSettingsBuilder.getVPCSCConfigSettings().setRetrySettings(getVPCSCConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getVPCSCConfig from properties.");
      }
    }
    Retry updateVPCSCConfigRetry = clientProperties.getUpdateVPCSCConfigRetry();
    if (updateVPCSCConfigRetry != null) {
      RetrySettings updateVPCSCConfigRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updateVPCSCConfigSettings().getRetrySettings(),
              updateVPCSCConfigRetry);
      clientSettingsBuilder
          .updateVPCSCConfigSettings()
          .setRetrySettings(updateVPCSCConfigRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace(
            "Configured method-level retry settings for updateVPCSCConfig from properties.");
      }
    }
    Retry updatePackageRetry = clientProperties.getUpdatePackageRetry();
    if (updatePackageRetry != null) {
      RetrySettings updatePackageRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.updatePackageSettings().getRetrySettings(), updatePackageRetry);
      clientSettingsBuilder.updatePackageSettings().setRetrySettings(updatePackageRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for updatePackage from properties.");
      }
    }
    Retry listAttachmentsRetry = clientProperties.getListAttachmentsRetry();
    if (listAttachmentsRetry != null) {
      RetrySettings listAttachmentsRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.listAttachmentsSettings().getRetrySettings(),
              listAttachmentsRetry);
      clientSettingsBuilder
          .listAttachmentsSettings()
          .setRetrySettings(listAttachmentsRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for listAttachments from properties.");
      }
    }
    Retry getAttachmentRetry = clientProperties.getGetAttachmentRetry();
    if (getAttachmentRetry != null) {
      RetrySettings getAttachmentRetrySettings =
          RetryUtil.updateRetrySettings(
              clientSettingsBuilder.getAttachmentSettings().getRetrySettings(), getAttachmentRetry);
      clientSettingsBuilder.getAttachmentSettings().setRetrySettings(getAttachmentRetrySettings);
      if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Configured method-level retry settings for getAttachment 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();
  }