// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`SearchPrincipals`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder) operation.
/// This operation supports pagination; See [`into_paginator()`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::into_paginator).
///
/// - The fluent builder is configurable:
/// - [`domain_id(impl Into<String>)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::domain_id) / [`set_domain_id(Option<String>)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::set_domain_id):<br>required: **true**<br>The ID of the domain to search within.<br>
/// - [`search_query(impl Into<String>)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::search_query) / [`set_search_query(Option<String>)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::set_search_query):<br>required: **true**<br>A search term to match against user names, display names, and IDs. Pass * to list all principals. Maximum 128 characters.<br>
/// - [`max_results(i32)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::set_max_results):<br>required: **false**<br>The maximum number of results to return. Defaults to 10. Valid only when searchQuery is *; other searches reject this parameter and return at most 10 results.<br>
/// - [`next_token(impl Into<String>)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::set_next_token):<br>required: **false**<br>A token to retrieve the next page of results. Valid only when searchQuery is *; other searches do not paginate and reject this parameter. Tokens expire after 24 hours.<br>
/// - On success, responds with [`SearchPrincipalsOutput`](crate::operation::search_principals::SearchPrincipalsOutput) with field(s):
/// - [`results(Vec::<PrincipalSearchResult>)`](crate::operation::search_principals::SearchPrincipalsOutput::results): The list of matching principals.
/// - [`next_token(Option<String>)`](crate::operation::search_principals::SearchPrincipalsOutput::next_token): A token to retrieve the next page of results, or null if there are no more results.
/// - On failure, responds with [`SdkError<SearchPrincipalsError>`](crate::operation::search_principals::SearchPrincipalsError)
pub fn search_principals(&self) -> crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder {
crate::operation::search_principals::builders::SearchPrincipalsFluentBuilder::new(self.handle.clone())
}
}