def iter_list_efficiency_metrics(
self,
granularity: "capo_cost_optimization_hub.types.granularity_type.GranularityType",
time_period: "capo_cost_optimization_hub.types.time_period.TimePeriod",
*,
config_overrides: Optional[CostOptimizationHubClientConfig] = None,
group_by: Optional[str] = None,
max_results: Optional[
"capo_cost_optimization_hub.types.max_results.MaxResults"
] = None,
order_by: Optional["capo_cost_optimization_hub.types.order_by.OrderBy"] = None,
next_token: Optional[str] = None,
) -> "Iterator[capo_cost_optimization_hub.types.efficiency_metrics_by_group.EfficiencyMetricsByGroup]":
_token = next_token
while True:
_response = self.list_efficiency_metrics(
granularity,
time_period,
config_overrides=config_overrides,
group_by=group_by,
max_results=max_results,
order_by=order_by,
next_token=_token,
)
_page = _resolve_path(_response, ("efficiency_metrics_by_group",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("next_token",))
if not _token:
break