// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`GetProfileRecommendations`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`domain_name(impl Into<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_domain_name):<br>required: **true**<br><p>The unique name of the domain.</p><br>
/// - [`profile_id(impl Into<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::profile_id) / [`set_profile_id(Option<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_profile_id):<br>required: **true**<br><p>The unique identifier of the profile for which to retrieve recommendations.</p><br>
/// - [`recommender_name(impl Into<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::recommender_name) / [`set_recommender_name(Option<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_recommender_name):<br>required: **true**<br><p>The unique name of the recommender.</p><br>
/// - [`context(impl Into<String>, impl Into<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::context) / [`set_context(Option<HashMap::<String, String>>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_context):<br>required: **false**<br><p>The contextual metadata used to provide dynamic runtime information to tailor recommendations.</p><br>
/// - [`recommender_filters(RecommenderFilter)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::recommender_filters) / [`set_recommender_filters(Option<Vec::<RecommenderFilter>>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_recommender_filters):<br>required: **false**<br><p>A list of filters to apply to the returned recommendations. Filters define criteria for including or excluding items from the recommendation results.</p><br>
/// - [`recommender_promotional_filters(RecommenderPromotionalFilter)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::recommender_promotional_filters) / [`set_recommender_promotional_filters(Option<Vec::<RecommenderPromotionalFilter>>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_recommender_promotional_filters):<br>required: **false**<br><p>A list of promotional filters to apply to the recommendations. Promotional filters allow you to promote specific items within a configurable subset of recommendation results.</p><br>
/// - [`candidate_ids(impl Into<String>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::candidate_ids) / [`set_candidate_ids(Option<Vec::<String>>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_candidate_ids):<br>required: **false**<br><p>A list of item IDs to rank for the user. Use this when you want to re-rank a specific set of items rather than getting recommendations from the full item catalog. Required for personalized-ranking use cases.</p><br>
/// - [`max_results(i32)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_max_results):<br>required: **false**<br><p>The maximum number of recommendations to return. The default value is 10.</p><br>
/// - [`metadata_config(MetadataConfig)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::metadata_config) / [`set_metadata_config(Option<MetadataConfig>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_metadata_config):<br>required: **false**<br><p>Configuration for including item metadata in the recommendation response. Use this to specify which metadata columns to return alongside recommended items.</p><br>
/// - [`diversity_config(RecommendationDiversityConfig)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::diversity_config) / [`set_diversity_config(Option<RecommendationDiversityConfig>)`](crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::set_diversity_config):<br>required: **false**<br><p>Runtime diversity configuration for this request. Enables diversity-aware recommendations and optionally supplies values for placeholder-based diversity caps configured on the recommender.</p><br>
/// - On success, responds with [`GetProfileRecommendationsOutput`](crate::operation::get_profile_recommendations::GetProfileRecommendationsOutput) with field(s):
/// - [`recommendations(Option<Vec::<Recommendation>>)`](crate::operation::get_profile_recommendations::GetProfileRecommendationsOutput::recommendations): <p>List of recommendations generated by the recommender.</p>
/// - On failure, responds with [`SdkError<GetProfileRecommendationsError>`](crate::operation::get_profile_recommendations::GetProfileRecommendationsError)
pub fn get_profile_recommendations(&self) -> crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder {
crate::operation::get_profile_recommendations::builders::GetProfileRecommendationsFluentBuilder::new(self.handle.clone())
}
}