in java/com/google/cloud/deploymentmanager/autogen/SpecValidations.java [540:558]
private static void validateMetadataKeyUniqueness(MultiVmDeploymentPackageSpec spec) {
// Ensures that metadata keys are unique.
Multiset<String> metadataKeyCounts = HashMultiset.create();
for (PasswordSpec password : spec.getPasswordsList()) {
metadataKeyCounts.add(password.getMetadataKey());
}
for (VmTierSpec tier : spec.getTiersList()) {
Multiset<String> perTier = HashMultiset.create(metadataKeyCounts);
for (GceMetadataItem metadataItem : tier.getGceMetadataItemsList()) {
perTier.add(metadataItem.getKey());
}
for (Multiset.Entry<String> entry : perTier.entrySet()) {
if (entry.getCount() > 1) {
throw new IllegalArgumentException(
String.format("Metadata key '%s' is not unique", entry.getElement()));
}
}
}
}