async def iter_search_principals(
self,
domain_id: "capo_cloudwatchomni.types.domain_id.DomainId",
search_query: str,
*,
config_overrides: Optional[AsyncCloudWatchOmniClientConfig] = None,
max_results: Optional[int] = None,
next_token: Optional[
"capo_cloudwatchomni.types.search_principals_next_token.SearchPrincipalsNextToken"
] = None,
) -> "AsyncIterator[capo_cloudwatchomni.types.principal_search_result.PrincipalSearchResult]":
_token = next_token
while True:
_response = await self.search_principals(
domain_id,
search_query,
config_overrides=config_overrides,
max_results=max_results,
next_token=_token,
)
_page = _resolve_path(_response, ("results",))
for _item in _page or []:
yield _item
_token = _resolve_path(_response, ("next_token",))
if not _token:
break