def iter_describe_dimension_keys(
self,
service_type: "capo_pi.types.service_type.ServiceType",
identifier: "capo_pi.types.identifier_string.IdentifierString",
start_time: "capo_pi.types.iso_timestamp.ISOTimestamp",
end_time: "capo_pi.types.iso_timestamp.ISOTimestamp",
metric: "capo_pi.types.request_string.RequestString",
group_by: "capo_pi.types.dimension_group.DimensionGroup",
*,
config_overrides: Optional[PIClientConfig] = None,
period_in_seconds: Optional["capo_pi.types.integer.Integer"] = None,
additional_metrics: Optional[
"capo_pi.types.additional_metrics_list.AdditionalMetricsList"
] = None,
partition_by: Optional["capo_pi.types.dimension_group.DimensionGroup"] = None,
filter: Optional[
"capo_pi.types.metric_query_filter_map.MetricQueryFilterMap"
] = None,
max_results: Optional["capo_pi.types.max_results.MaxResults"] = None,
next_token: Optional["capo_pi.types.next_token.NextToken"] = None,
) -> "Iterator[capo_pi.types.describe_dimension_keys_response.DescribeDimensionKeysResponse]":
_token = next_token
while True:
_response = self.describe_dimension_keys(
service_type,
identifier,
start_time,
end_time,
metric,
group_by,
config_overrides=config_overrides,
period_in_seconds=period_in_seconds,
additional_metrics=additional_metrics,
partition_by=partition_by,
filter=filter,
max_results=max_results,
next_token=_token,
)
yield _response
_token = _resolve_path(_response, ("next_token",))
if not _token:
break