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