floci-io/floci · error · AwsException
ValidationException
ValidationException
Error message
Unsupported GroupBy.Type: {} What it means
Error "Unsupported GroupBy.Type: {}" thrown in floci-io/floci.
Source
Thrown at src/main/java/io/github/hectorvent/floci/services/ce/GroupAggregator.java:101
mv.put("Amount", formatAmount(me.getValue()));
mv.put("Unit", groupUnits.get(entry.getKey()).getOrDefault(me.getKey(), ""));
}
}
result.put("Estimated", false);
return result;
}
private static List<String> groupKey(List<GroupBy> groupBys, UsageLine line) {
List<String> out = new ArrayList<>(groupBys.size());
for (GroupBy gb : groupBys) {
out.add(switch (gb.type()) {
case "DIMENSION" -> {
String v = FilterExpressionEvaluator.dimensionValue(gb.key(), line);
yield v == null ? "" : v;
}
case "TAG" -> line.tags() == null ? "" : line.tags().getOrDefault(gb.key(), "");
case "COST_CATEGORY" -> "";
default -> throw new AwsException("ValidationException",
"Unsupported GroupBy.Type: " + gb.type(), 400);
});
}
return out;
}
static List<GroupBy> parseGroupBy(JsonNode node) {
List<GroupBy> out = new ArrayList<>();
if (!node.isArray()) {
return out;
}
for (JsonNode entry : node) {
String type = entry.path("Type").asText("DIMENSION");
String key = entry.path("Key").asText(null);
if (key == null || key.isEmpty()) {
throw new AwsException("ValidationException",
"GroupBy entries must include a Key.", 400);
}View on GitHub (pinned to 62ff490619)
Solutions
- Use a supported GroupBy.Type such as DIMENSION or TAG.
- Check the GetCostAndUsage GroupBy parameter in the request.
When it happens
Trigger: Thrown at src/main/java/io/github/hectorvent/floci/services/ce/GroupAggregator.java:101 when the library encounters an invalid state.
Common situations: Occurs when a GetCostAndUsage request uses a GroupBy type other than DIMENSION or TAG. Use Type=DIMENSION with a supported Key, or Type=TAG.
AI-assisted analysis of floci-io/floci@62ff490619 (2026-08-14).
Data as JSON: /api/errors/42a40f2211b1e167.
Report an issue: GitHub.