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

  1. Use a supported GroupBy.Type such as DIMENSION or TAG.
  2. 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.