private void getBigTableInstanceConfiguration()

in vandelay-bigtable/src/main/java/com/spotify/api/vandelay/bigtable/exports/VandelayBigTableExporter.java [174:204]


  private void getBigTableInstanceConfiguration(
      final String instanceId,
      final BigtableInstanceAdminClient instanceAdminClient,
      final Builder builder) {

    final Instance instance = instanceAdminClient.getInstance(instanceId);
    builder.setInstance(new BigTableInstanceMapperFunction().convertTo(instance).orElse(null));

    final List<BigTableCluster> clusters =
        instanceAdminClient.listClusters(instance.getId()).stream()
            .map(x -> new BigTableClusterMapperFunction().convertTo(x))
            .filter(Optional::isPresent)
            .map(Optional::get)
            .toList();
    builder.setClusters(clusters);
    logger.info("Set " + clusters.size() + " clusters");

    final List<BigTableAppProfile> appProfiles =
        instanceAdminClient.listAppProfiles(instance.getId()).stream()
            .map(x -> new BigTableAppProfileMapperFunction().convertTo(x))
            .filter(Optional::isPresent)
            .map(Optional::get)
            .toList();
    builder.setInstanceAppProfiles(appProfiles);
    logger.info("Set " + appProfiles.size() + " app profiles");

    builder.setInstancePolicies(
        new IAMPolicyMapperFunction()
            .convertTo(instanceAdminClient.getIamPolicy(instance.getId()))
            .orElse(null));
  }