in src/main/java/com/google/cloud/run/kafkascaler/scalingconfig/Spec.java [37:64]
static Spec fromYamlMap(Map<String, Object> input, String resourcePath) {
Spec.Builder builder = new AutoValue_Spec.Builder();
Validation.checkKeyExists(input, "scaleTargetRef", resourcePath);
Validation.checkKeyExists(input, "metrics", resourcePath);
builder =
builder.scaleTargetRef(
ScaleTargetRef.fromYamlMap(
(Map<String, Object>) input.get("scaleTargetRef"),
resourcePath + ".scaleTargetRef"));
List<Metric> metrics = new ArrayList<>();
for (Map<String, Object> metric : (List<Map<String, Object>>) input.get("metrics")) {
metrics.add(Metric.fromYamlMap(metric, resourcePath + ".metrics"));
}
builder = builder.metrics(ImmutableList.copyOf(metrics));
if (input.containsKey("behavior")) {
builder =
builder.behavior(
Behavior.fromYamlMap(
(Map<String, Object>) input.get("behavior"), resourcePath + ".behavior"));
}
return builder.build();
}