async def iter_get_reservation_purchase_recommendation(
self,
service: "capo_cost_explorer.types.generic_string.GenericString",
*,
config_overrides: Optional[AsyncCostExplorerClientConfig] = None,
account_id: Optional[
"capo_cost_explorer.types.generic_string.GenericString"
] = None,
filter: Optional["capo_cost_explorer.types.expression.Expression"] = None,
account_scope: Optional[
"capo_cost_explorer.types.account_scope.AccountScope"
] = None,
lookback_period_in_days: Optional[
"capo_cost_explorer.types.lookback_period_in_days.LookbackPeriodInDays"
] = None,
term_in_years: Optional[
"capo_cost_explorer.types.term_in_years.TermInYears"
] = None,
payment_option: Optional[
"capo_cost_explorer.types.payment_option.PaymentOption"
] = None,
service_specification: Optional[
"capo_cost_explorer.types.service_specification.ServiceSpecification"
] = None,
page_size: Optional[
"capo_cost_explorer.types.recommendations_page_size.RecommendationsPageSize"
] = None,
next_page_token: Optional[
"capo_cost_explorer.types.next_page_token.NextPageToken"
] = None,
) -> "AsyncIterator[capo_cost_explorer.types.reservation_purchase_recommendation.ReservationPurchaseRecommendation]":
_token = next_page_token
while True:
_response = await self.get_reservation_purchase_recommendation(
service,
config_overrides=config_overrides,
account_id=account_id,
filter=filter,
account_scope=account_scope,
lookback_period_in_days=lookback_period_in_days,
term_in_years=term_in_years,
payment_option=payment_option,
service_specification=service_specification,
page_size=page_size,
next_page_token=_token,
)
_page = _resolve_path(_response, ("recommendations",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("next_page_token",))
if not _token:
break