private static void validateMetadataKeyUniqueness()

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