async def iter_describe_spot_price_history(
self,
*,
config_overrides: Optional[AsyncEC2ClientConfig] = None,
availability_zone_id: Optional[
"capo_ec2.types.availability_zone_id.AvailabilityZoneId"
] = None,
dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
start_time: Optional["capo_ec2.types.date_time.DateTime"] = None,
end_time: Optional["capo_ec2.types.date_time.DateTime"] = None,
instance_types: Optional[
"capo_ec2.types.instance_type_list.InstanceTypeList"
] = None,
product_descriptions: Optional[
"capo_ec2.types.product_description_list.ProductDescriptionList"
] = None,
filters: Optional["capo_ec2.types.filter_list.FilterList"] = None,
availability_zone: Optional["capo_ec2.types.string.String"] = None,
max_results: Optional["capo_ec2.types.integer.Integer"] = None,
next_token: Optional["capo_ec2.types.string.String"] = None,
) -> "AsyncIterator[capo_ec2.types.spot_price.SpotPrice]":
_token = next_token
while True:
_response = await self.describe_spot_price_history(
config_overrides=config_overrides,
availability_zone_id=availability_zone_id,
dry_run=dry_run,
start_time=start_time,
end_time=end_time,
instance_types=instance_types,
product_descriptions=product_descriptions,
filters=filters,
availability_zone=availability_zone,
max_results=max_results,
next_token=_token,
)
_page = _resolve_path(_response, ("spot_price_history",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("next_token",))
if not _token:
break