Skip to content

Commit ac812a0

Browse files
authored
Make the api response check loose to accept unknown extra keys (#7215)
data model class for api response should not be strict for additional fields
1 parent 8cf4254 commit ac812a0

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

aws/lambda/benchmark_regression_summary_report/common/benchmark_time_series_api_model.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@ class BenchmarkTimeSeriesItem:
1919
group_info: Dict[str, Any]
2020
num_of_dp: int
2121
data: List[Dict[str, Any]] = field(default_factory=list)
22+
# catch-all for unknown/extra keys
23+
extra: Dict[str, Any] = field(default_factory=dict)
24+
25+
def __init__(self, **kwargs):
26+
# separate known vs unknown
27+
known_fields = {f.name for f in self.__dataclass_fields__.values() if f.init}
28+
init_args = {k: v for k, v in kwargs.items() if k in known_fields}
29+
object.__setattr__(
30+
self, "extra", {k: v for k, v in kwargs.items() if k not in known_fields}
31+
)
32+
for k, v in init_args.items():
33+
object.__setattr__(self, k, v)
2234

2335

2436
@dataclass

0 commit comments

Comments
 (0)