private void decodeMetadata()

in iep-servergroups/src/main/java/com/netflix/iep/servergroups/EurekaLoader.java [70:109]


  private void decodeMetadata(InstanceInfo info, JsonParser jp) throws IOException {
    JsonUtils.forEachField(jp, (field, p) -> {
      switch (field) {
        case "accountId":
          info.account = JsonUtils.stringValue(p);
          break;
        case "vpc-id":
          info.builder.vpcId(JsonUtils.stringValue(p));
          break;
        case "ami-id":
          info.builder.ami(JsonUtils.stringValue(p));
          break;
        case "availability-zone":
          info.builder.zone(JsonUtils.stringValue(p));
          break;
        case "local-ipv4":
          if (info.privateIp == null) {
            info.privateIp = JsonUtils.stringValue(p);
          } else {
            JsonUtils.skipValue(p);
          }
          break;
        case "ipv6":
          info.builder.ipv6Address(JsonUtils.stringValue(p));
          break;
        case "instance-id":
          info.node = JsonUtils.stringValue(p);
          break;
        case "instance-type":
          String vmtype = JsonUtils.stringValue(p);
          if (vmtype != null && VM_TYPE_PATTERN.matcher(vmtype).matches()) {
            info.builder.vmtype(vmtype);
          }
          break;
        default:
          JsonUtils.skipValue(p);
          break;
      }
    });
  }