#[allow(missing_docs)] #[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct GetRecommendationsOutput {
pub item_list: std::option::Option<std::vec::Vec<crate::model::PredictedItem>>,
pub recommendation_id: std::option::Option<std::string::String>,
}
impl GetRecommendationsOutput {
pub fn item_list(&self) -> std::option::Option<&[crate::model::PredictedItem]> {
self.item_list.as_deref()
}
pub fn recommendation_id(&self) -> std::option::Option<&str> {
self.recommendation_id.as_deref()
}
}
impl std::fmt::Debug for GetRecommendationsOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("GetRecommendationsOutput");
formatter.field("item_list", &self.item_list);
formatter.field("recommendation_id", &self.recommendation_id);
formatter.finish()
}
}
pub mod get_recommendations_output {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) item_list: std::option::Option<std::vec::Vec<crate::model::PredictedItem>>,
pub(crate) recommendation_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn item_list(mut self, input: crate::model::PredictedItem) -> Self {
let mut v = self.item_list.unwrap_or_default();
v.push(input);
self.item_list = Some(v);
self
}
pub fn set_item_list(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::PredictedItem>>,
) -> Self {
self.item_list = input;
self
}
pub fn recommendation_id(mut self, input: impl Into<std::string::String>) -> Self {
self.recommendation_id = Some(input.into());
self
}
pub fn set_recommendation_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.recommendation_id = input;
self
}
pub fn build(self) -> crate::output::GetRecommendationsOutput {
crate::output::GetRecommendationsOutput {
item_list: self.item_list,
recommendation_id: self.recommendation_id,
}
}
}
}
impl GetRecommendationsOutput {
pub fn builder() -> crate::output::get_recommendations_output::Builder {
crate::output::get_recommendations_output::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct GetPersonalizedRankingOutput {
pub personalized_ranking: std::option::Option<std::vec::Vec<crate::model::PredictedItem>>,
pub recommendation_id: std::option::Option<std::string::String>,
}
impl GetPersonalizedRankingOutput {
pub fn personalized_ranking(&self) -> std::option::Option<&[crate::model::PredictedItem]> {
self.personalized_ranking.as_deref()
}
pub fn recommendation_id(&self) -> std::option::Option<&str> {
self.recommendation_id.as_deref()
}
}
impl std::fmt::Debug for GetPersonalizedRankingOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("GetPersonalizedRankingOutput");
formatter.field("personalized_ranking", &self.personalized_ranking);
formatter.field("recommendation_id", &self.recommendation_id);
formatter.finish()
}
}
pub mod get_personalized_ranking_output {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) personalized_ranking:
std::option::Option<std::vec::Vec<crate::model::PredictedItem>>,
pub(crate) recommendation_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn personalized_ranking(mut self, input: crate::model::PredictedItem) -> Self {
let mut v = self.personalized_ranking.unwrap_or_default();
v.push(input);
self.personalized_ranking = Some(v);
self
}
pub fn set_personalized_ranking(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::PredictedItem>>,
) -> Self {
self.personalized_ranking = input;
self
}
pub fn recommendation_id(mut self, input: impl Into<std::string::String>) -> Self {
self.recommendation_id = Some(input.into());
self
}
pub fn set_recommendation_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.recommendation_id = input;
self
}
pub fn build(self) -> crate::output::GetPersonalizedRankingOutput {
crate::output::GetPersonalizedRankingOutput {
personalized_ranking: self.personalized_ranking,
recommendation_id: self.recommendation_id,
}
}
}
}
impl GetPersonalizedRankingOutput {
pub fn builder() -> crate::output::get_personalized_ranking_output::Builder {
crate::output::get_personalized_ranking_output::Builder::default()
}
}