def iter_get_usage(
self,
usage_plan_id: "capo_api_gateway.types.string.String",
start_date: "capo_api_gateway.types.string.String",
end_date: "capo_api_gateway.types.string.String",
*,
config_overrides: Optional[APIGatewayClientConfig] = None,
key_id: Optional["capo_api_gateway.types.string.String"] = None,
position: Optional["capo_api_gateway.types.string.String"] = None,
limit: Optional[
"capo_api_gateway.types.nullable_integer.NullableInteger"
] = None,
) -> "Iterator[tuple[capo_api_gateway.types.string.String, capo_api_gateway.types.list_of_usage.ListOfUsage]]":
_token = position
while True:
_response = self.get_usage(
usage_plan_id,
start_date,
end_date,
config_overrides=config_overrides,
key_id=key_id,
position=_token,
limit=limit,
)
_page = _resolve_path(_response, ("items",))
for _k, _v in (_page or {}).items():
yield (_k, _v)
_token = _resolve_path(_response, ("position",))
if not _token:
break