async function getMemorystoreClusterMetadata()

in src/poller/poller-core/index.js [92:122]


async function getMemorystoreClusterMetadata(cluster) {
  logger.info({
    message: `----- ${cluster.projectId}/${cluster.regionId}/${cluster.clusterId}: Metadata -----`,
    projectId: cluster.projectId,
    regionId: cluster.regionId,
    clusterId: cluster.clusterId,
  });

  const instancePlural =
    cluster.engine === AutoscalerEngine.REDIS ? 'clusters' : 'instances';
  const request = {
    name: `projects/${cluster.projectId}/locations/${cluster.regionId}/${instancePlural}/${cluster.clusterId}`,
  };
  const [metadata] =
    cluster.engine === AutoscalerEngine.REDIS
      ? await memorystoreRedisClient.getCluster(request)
      : await memorystoreValkeyClient.getInstance(request);

  const clusterMetadata = {
    currentSize: assertDefined(metadata['shardCount']),
  };

  logger.debug({
    message: `shardCount: ${clusterMetadata.currentSize}`,
    projectId: cluster.projectId,
    regionId: cluster.regionId,
    clusterId: cluster.clusterId,
  });

  return clusterMetadata;
}