1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSMap.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace Pinpoint
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Provides information about Amazon Pinpoint configuration settings for
29    * retrieving and processing data from a recommender model.</p><p><h3>See
30    * Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/RecommenderConfigurationResponse">AWS
32    * API Reference</a></p>
33    */
34   class AWS_PINPOINT_API RecommenderConfigurationResponse
35   {
36   public:
37     RecommenderConfigurationResponse();
38     RecommenderConfigurationResponse(Aws::Utils::Json::JsonView jsonValue);
39     RecommenderConfigurationResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
45      * value for the RecommendationProviderIdType property. Each of these attributes
46      * temporarily stores a recommended item that's retrieved from the recommender
47      * model and sent to an AWS Lambda function for additional processing. Each
48      * attribute can be used as a message variable in a message template.</p> <p>This
49      * value is null if the configuration doesn't invoke an AWS Lambda function
50      * (RecommendationTransformerUri) to perform additional processing of
51      * recommendation data.</p>
52      */
GetAttributes()53     inline const Aws::Map<Aws::String, Aws::String>& GetAttributes() const{ return m_attributes; }
54 
55     /**
56      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
57      * value for the RecommendationProviderIdType property. Each of these attributes
58      * temporarily stores a recommended item that's retrieved from the recommender
59      * model and sent to an AWS Lambda function for additional processing. Each
60      * attribute can be used as a message variable in a message template.</p> <p>This
61      * value is null if the configuration doesn't invoke an AWS Lambda function
62      * (RecommendationTransformerUri) to perform additional processing of
63      * recommendation data.</p>
64      */
AttributesHasBeenSet()65     inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; }
66 
67     /**
68      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
69      * value for the RecommendationProviderIdType property. Each of these attributes
70      * temporarily stores a recommended item that's retrieved from the recommender
71      * model and sent to an AWS Lambda function for additional processing. Each
72      * attribute can be used as a message variable in a message template.</p> <p>This
73      * value is null if the configuration doesn't invoke an AWS Lambda function
74      * (RecommendationTransformerUri) to perform additional processing of
75      * recommendation data.</p>
76      */
SetAttributes(const Aws::Map<Aws::String,Aws::String> & value)77     inline void SetAttributes(const Aws::Map<Aws::String, Aws::String>& value) { m_attributesHasBeenSet = true; m_attributes = value; }
78 
79     /**
80      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
81      * value for the RecommendationProviderIdType property. Each of these attributes
82      * temporarily stores a recommended item that's retrieved from the recommender
83      * model and sent to an AWS Lambda function for additional processing. Each
84      * attribute can be used as a message variable in a message template.</p> <p>This
85      * value is null if the configuration doesn't invoke an AWS Lambda function
86      * (RecommendationTransformerUri) to perform additional processing of
87      * recommendation data.</p>
88      */
SetAttributes(Aws::Map<Aws::String,Aws::String> && value)89     inline void SetAttributes(Aws::Map<Aws::String, Aws::String>&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); }
90 
91     /**
92      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
93      * value for the RecommendationProviderIdType property. Each of these attributes
94      * temporarily stores a recommended item that's retrieved from the recommender
95      * model and sent to an AWS Lambda function for additional processing. Each
96      * attribute can be used as a message variable in a message template.</p> <p>This
97      * value is null if the configuration doesn't invoke an AWS Lambda function
98      * (RecommendationTransformerUri) to perform additional processing of
99      * recommendation data.</p>
100      */
WithAttributes(const Aws::Map<Aws::String,Aws::String> & value)101     inline RecommenderConfigurationResponse& WithAttributes(const Aws::Map<Aws::String, Aws::String>& value) { SetAttributes(value); return *this;}
102 
103     /**
104      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
105      * value for the RecommendationProviderIdType property. Each of these attributes
106      * temporarily stores a recommended item that's retrieved from the recommender
107      * model and sent to an AWS Lambda function for additional processing. Each
108      * attribute can be used as a message variable in a message template.</p> <p>This
109      * value is null if the configuration doesn't invoke an AWS Lambda function
110      * (RecommendationTransformerUri) to perform additional processing of
111      * recommendation data.</p>
112      */
WithAttributes(Aws::Map<Aws::String,Aws::String> && value)113     inline RecommenderConfigurationResponse& WithAttributes(Aws::Map<Aws::String, Aws::String>&& value) { SetAttributes(std::move(value)); return *this;}
114 
115     /**
116      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
117      * value for the RecommendationProviderIdType property. Each of these attributes
118      * temporarily stores a recommended item that's retrieved from the recommender
119      * model and sent to an AWS Lambda function for additional processing. Each
120      * attribute can be used as a message variable in a message template.</p> <p>This
121      * value is null if the configuration doesn't invoke an AWS Lambda function
122      * (RecommendationTransformerUri) to perform additional processing of
123      * recommendation data.</p>
124      */
AddAttributes(const Aws::String & key,const Aws::String & value)125     inline RecommenderConfigurationResponse& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; }
126 
127     /**
128      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
129      * value for the RecommendationProviderIdType property. Each of these attributes
130      * temporarily stores a recommended item that's retrieved from the recommender
131      * model and sent to an AWS Lambda function for additional processing. Each
132      * attribute can be used as a message variable in a message template.</p> <p>This
133      * value is null if the configuration doesn't invoke an AWS Lambda function
134      * (RecommendationTransformerUri) to perform additional processing of
135      * recommendation data.</p>
136      */
AddAttributes(Aws::String && key,const Aws::String & value)137     inline RecommenderConfigurationResponse& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; }
138 
139     /**
140      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
141      * value for the RecommendationProviderIdType property. Each of these attributes
142      * temporarily stores a recommended item that's retrieved from the recommender
143      * model and sent to an AWS Lambda function for additional processing. Each
144      * attribute can be used as a message variable in a message template.</p> <p>This
145      * value is null if the configuration doesn't invoke an AWS Lambda function
146      * (RecommendationTransformerUri) to perform additional processing of
147      * recommendation data.</p>
148      */
AddAttributes(const Aws::String & key,Aws::String && value)149     inline RecommenderConfigurationResponse& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; }
150 
151     /**
152      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
153      * value for the RecommendationProviderIdType property. Each of these attributes
154      * temporarily stores a recommended item that's retrieved from the recommender
155      * model and sent to an AWS Lambda function for additional processing. Each
156      * attribute can be used as a message variable in a message template.</p> <p>This
157      * value is null if the configuration doesn't invoke an AWS Lambda function
158      * (RecommendationTransformerUri) to perform additional processing of
159      * recommendation data.</p>
160      */
AddAttributes(Aws::String && key,Aws::String && value)161     inline RecommenderConfigurationResponse& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; }
162 
163     /**
164      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
165      * value for the RecommendationProviderIdType property. Each of these attributes
166      * temporarily stores a recommended item that's retrieved from the recommender
167      * model and sent to an AWS Lambda function for additional processing. Each
168      * attribute can be used as a message variable in a message template.</p> <p>This
169      * value is null if the configuration doesn't invoke an AWS Lambda function
170      * (RecommendationTransformerUri) to perform additional processing of
171      * recommendation data.</p>
172      */
AddAttributes(const char * key,Aws::String && value)173     inline RecommenderConfigurationResponse& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; }
174 
175     /**
176      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
177      * value for the RecommendationProviderIdType property. Each of these attributes
178      * temporarily stores a recommended item that's retrieved from the recommender
179      * model and sent to an AWS Lambda function for additional processing. Each
180      * attribute can be used as a message variable in a message template.</p> <p>This
181      * value is null if the configuration doesn't invoke an AWS Lambda function
182      * (RecommendationTransformerUri) to perform additional processing of
183      * recommendation data.</p>
184      */
AddAttributes(Aws::String && key,const char * value)185     inline RecommenderConfigurationResponse& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; }
186 
187     /**
188      * <p>A map that defines 1-10 custom endpoint or user attributes, depending on the
189      * value for the RecommendationProviderIdType property. Each of these attributes
190      * temporarily stores a recommended item that's retrieved from the recommender
191      * model and sent to an AWS Lambda function for additional processing. Each
192      * attribute can be used as a message variable in a message template.</p> <p>This
193      * value is null if the configuration doesn't invoke an AWS Lambda function
194      * (RecommendationTransformerUri) to perform additional processing of
195      * recommendation data.</p>
196      */
AddAttributes(const char * key,const char * value)197     inline RecommenderConfigurationResponse& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; }
198 
199 
200     /**
201      * <p>The date, in extended ISO 8601 format, when the configuration was created for
202      * the recommender model.</p>
203      */
GetCreationDate()204     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
205 
206     /**
207      * <p>The date, in extended ISO 8601 format, when the configuration was created for
208      * the recommender model.</p>
209      */
CreationDateHasBeenSet()210     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
211 
212     /**
213      * <p>The date, in extended ISO 8601 format, when the configuration was created for
214      * the recommender model.</p>
215      */
SetCreationDate(const Aws::String & value)216     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
217 
218     /**
219      * <p>The date, in extended ISO 8601 format, when the configuration was created for
220      * the recommender model.</p>
221      */
SetCreationDate(Aws::String && value)222     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
223 
224     /**
225      * <p>The date, in extended ISO 8601 format, when the configuration was created for
226      * the recommender model.</p>
227      */
SetCreationDate(const char * value)228     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
229 
230     /**
231      * <p>The date, in extended ISO 8601 format, when the configuration was created for
232      * the recommender model.</p>
233      */
WithCreationDate(const Aws::String & value)234     inline RecommenderConfigurationResponse& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
235 
236     /**
237      * <p>The date, in extended ISO 8601 format, when the configuration was created for
238      * the recommender model.</p>
239      */
WithCreationDate(Aws::String && value)240     inline RecommenderConfigurationResponse& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
241 
242     /**
243      * <p>The date, in extended ISO 8601 format, when the configuration was created for
244      * the recommender model.</p>
245      */
WithCreationDate(const char * value)246     inline RecommenderConfigurationResponse& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
247 
248 
249     /**
250      * <p>The custom description of the configuration for the recommender model.</p>
251      */
GetDescription()252     inline const Aws::String& GetDescription() const{ return m_description; }
253 
254     /**
255      * <p>The custom description of the configuration for the recommender model.</p>
256      */
DescriptionHasBeenSet()257     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
258 
259     /**
260      * <p>The custom description of the configuration for the recommender model.</p>
261      */
SetDescription(const Aws::String & value)262     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
263 
264     /**
265      * <p>The custom description of the configuration for the recommender model.</p>
266      */
SetDescription(Aws::String && value)267     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
268 
269     /**
270      * <p>The custom description of the configuration for the recommender model.</p>
271      */
SetDescription(const char * value)272     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
273 
274     /**
275      * <p>The custom description of the configuration for the recommender model.</p>
276      */
WithDescription(const Aws::String & value)277     inline RecommenderConfigurationResponse& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
278 
279     /**
280      * <p>The custom description of the configuration for the recommender model.</p>
281      */
WithDescription(Aws::String && value)282     inline RecommenderConfigurationResponse& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
283 
284     /**
285      * <p>The custom description of the configuration for the recommender model.</p>
286      */
WithDescription(const char * value)287     inline RecommenderConfigurationResponse& WithDescription(const char* value) { SetDescription(value); return *this;}
288 
289 
290     /**
291      * <p>The unique identifier for the recommender model configuration.</p>
292      */
GetId()293     inline const Aws::String& GetId() const{ return m_id; }
294 
295     /**
296      * <p>The unique identifier for the recommender model configuration.</p>
297      */
IdHasBeenSet()298     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
299 
300     /**
301      * <p>The unique identifier for the recommender model configuration.</p>
302      */
SetId(const Aws::String & value)303     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
304 
305     /**
306      * <p>The unique identifier for the recommender model configuration.</p>
307      */
SetId(Aws::String && value)308     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
309 
310     /**
311      * <p>The unique identifier for the recommender model configuration.</p>
312      */
SetId(const char * value)313     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
314 
315     /**
316      * <p>The unique identifier for the recommender model configuration.</p>
317      */
WithId(const Aws::String & value)318     inline RecommenderConfigurationResponse& WithId(const Aws::String& value) { SetId(value); return *this;}
319 
320     /**
321      * <p>The unique identifier for the recommender model configuration.</p>
322      */
WithId(Aws::String && value)323     inline RecommenderConfigurationResponse& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
324 
325     /**
326      * <p>The unique identifier for the recommender model configuration.</p>
327      */
WithId(const char * value)328     inline RecommenderConfigurationResponse& WithId(const char* value) { SetId(value); return *this;}
329 
330 
331     /**
332      * <p>The date, in extended ISO 8601 format, when the configuration for the
333      * recommender model was last modified.</p>
334      */
GetLastModifiedDate()335     inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; }
336 
337     /**
338      * <p>The date, in extended ISO 8601 format, when the configuration for the
339      * recommender model was last modified.</p>
340      */
LastModifiedDateHasBeenSet()341     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
342 
343     /**
344      * <p>The date, in extended ISO 8601 format, when the configuration for the
345      * recommender model was last modified.</p>
346      */
SetLastModifiedDate(const Aws::String & value)347     inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
348 
349     /**
350      * <p>The date, in extended ISO 8601 format, when the configuration for the
351      * recommender model was last modified.</p>
352      */
SetLastModifiedDate(Aws::String && value)353     inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
354 
355     /**
356      * <p>The date, in extended ISO 8601 format, when the configuration for the
357      * recommender model was last modified.</p>
358      */
SetLastModifiedDate(const char * value)359     inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); }
360 
361     /**
362      * <p>The date, in extended ISO 8601 format, when the configuration for the
363      * recommender model was last modified.</p>
364      */
WithLastModifiedDate(const Aws::String & value)365     inline RecommenderConfigurationResponse& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;}
366 
367     /**
368      * <p>The date, in extended ISO 8601 format, when the configuration for the
369      * recommender model was last modified.</p>
370      */
WithLastModifiedDate(Aws::String && value)371     inline RecommenderConfigurationResponse& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;}
372 
373     /**
374      * <p>The date, in extended ISO 8601 format, when the configuration for the
375      * recommender model was last modified.</p>
376      */
WithLastModifiedDate(const char * value)377     inline RecommenderConfigurationResponse& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;}
378 
379 
380     /**
381      * <p>The custom name of the configuration for the recommender model.</p>
382      */
GetName()383     inline const Aws::String& GetName() const{ return m_name; }
384 
385     /**
386      * <p>The custom name of the configuration for the recommender model.</p>
387      */
NameHasBeenSet()388     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
389 
390     /**
391      * <p>The custom name of the configuration for the recommender model.</p>
392      */
SetName(const Aws::String & value)393     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
394 
395     /**
396      * <p>The custom name of the configuration for the recommender model.</p>
397      */
SetName(Aws::String && value)398     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
399 
400     /**
401      * <p>The custom name of the configuration for the recommender model.</p>
402      */
SetName(const char * value)403     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
404 
405     /**
406      * <p>The custom name of the configuration for the recommender model.</p>
407      */
WithName(const Aws::String & value)408     inline RecommenderConfigurationResponse& WithName(const Aws::String& value) { SetName(value); return *this;}
409 
410     /**
411      * <p>The custom name of the configuration for the recommender model.</p>
412      */
WithName(Aws::String && value)413     inline RecommenderConfigurationResponse& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
414 
415     /**
416      * <p>The custom name of the configuration for the recommender model.</p>
417      */
WithName(const char * value)418     inline RecommenderConfigurationResponse& WithName(const char* value) { SetName(value); return *this;}
419 
420 
421     /**
422      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
423      * recommender model. This value enables the model to use attribute and event data
424      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
425      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
426      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
427      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
428      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
429      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
430      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
431      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
432      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
433      * endpoint.</p></li></ul>
434      */
GetRecommendationProviderIdType()435     inline const Aws::String& GetRecommendationProviderIdType() const{ return m_recommendationProviderIdType; }
436 
437     /**
438      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
439      * recommender model. This value enables the model to use attribute and event data
440      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
441      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
442      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
443      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
444      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
445      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
446      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
447      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
448      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
449      * endpoint.</p></li></ul>
450      */
RecommendationProviderIdTypeHasBeenSet()451     inline bool RecommendationProviderIdTypeHasBeenSet() const { return m_recommendationProviderIdTypeHasBeenSet; }
452 
453     /**
454      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
455      * recommender model. This value enables the model to use attribute and event data
456      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
457      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
458      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
459      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
460      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
461      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
462      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
463      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
464      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
465      * endpoint.</p></li></ul>
466      */
SetRecommendationProviderIdType(const Aws::String & value)467     inline void SetRecommendationProviderIdType(const Aws::String& value) { m_recommendationProviderIdTypeHasBeenSet = true; m_recommendationProviderIdType = value; }
468 
469     /**
470      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
471      * recommender model. This value enables the model to use attribute and event data
472      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
473      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
474      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
475      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
476      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
477      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
478      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
479      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
480      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
481      * endpoint.</p></li></ul>
482      */
SetRecommendationProviderIdType(Aws::String && value)483     inline void SetRecommendationProviderIdType(Aws::String&& value) { m_recommendationProviderIdTypeHasBeenSet = true; m_recommendationProviderIdType = std::move(value); }
484 
485     /**
486      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
487      * recommender model. This value enables the model to use attribute and event data
488      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
489      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
490      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
491      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
492      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
493      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
494      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
495      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
496      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
497      * endpoint.</p></li></ul>
498      */
SetRecommendationProviderIdType(const char * value)499     inline void SetRecommendationProviderIdType(const char* value) { m_recommendationProviderIdTypeHasBeenSet = true; m_recommendationProviderIdType.assign(value); }
500 
501     /**
502      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
503      * recommender model. This value enables the model to use attribute and event data
504      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
505      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
506      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
507      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
508      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
509      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
510      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
511      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
512      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
513      * endpoint.</p></li></ul>
514      */
WithRecommendationProviderIdType(const Aws::String & value)515     inline RecommenderConfigurationResponse& WithRecommendationProviderIdType(const Aws::String& value) { SetRecommendationProviderIdType(value); return *this;}
516 
517     /**
518      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
519      * recommender model. This value enables the model to use attribute and event data
520      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
521      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
522      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
523      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
524      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
525      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
526      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
527      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
528      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
529      * endpoint.</p></li></ul>
530      */
WithRecommendationProviderIdType(Aws::String && value)531     inline RecommenderConfigurationResponse& WithRecommendationProviderIdType(Aws::String&& value) { SetRecommendationProviderIdType(std::move(value)); return *this;}
532 
533     /**
534      * <p>The type of Amazon Pinpoint ID that's associated with unique user IDs in the
535      * recommender model. This value enables the model to use attribute and event data
536      * that’s specific to a particular endpoint or user in an Amazon Pinpoint
537      * application. Possible values are:</p> <ul><li><p>PINPOINT_ENDPOINT_ID - Each
538      * user in the model is associated with a particular endpoint in Amazon Pinpoint.
539      * The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the
540      * default value.</p></li> <li><p>PINPOINT_USER_ID - Each user in the model is
541      * associated with a particular user and endpoint in Amazon Pinpoint. The data is
542      * correlated based on user IDs in Amazon Pinpoint. If this value is specified, an
543      * endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId)
544      * and an endpoint ID. Otherwise, messages won’t be sent to the user's
545      * endpoint.</p></li></ul>
546      */
WithRecommendationProviderIdType(const char * value)547     inline RecommenderConfigurationResponse& WithRecommendationProviderIdType(const char* value) { SetRecommendationProviderIdType(value); return *this;}
548 
549 
550     /**
551      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
552      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
553      * the recommender model.</p>
554      */
GetRecommendationProviderRoleArn()555     inline const Aws::String& GetRecommendationProviderRoleArn() const{ return m_recommendationProviderRoleArn; }
556 
557     /**
558      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
559      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
560      * the recommender model.</p>
561      */
RecommendationProviderRoleArnHasBeenSet()562     inline bool RecommendationProviderRoleArnHasBeenSet() const { return m_recommendationProviderRoleArnHasBeenSet; }
563 
564     /**
565      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
566      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
567      * the recommender model.</p>
568      */
SetRecommendationProviderRoleArn(const Aws::String & value)569     inline void SetRecommendationProviderRoleArn(const Aws::String& value) { m_recommendationProviderRoleArnHasBeenSet = true; m_recommendationProviderRoleArn = value; }
570 
571     /**
572      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
573      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
574      * the recommender model.</p>
575      */
SetRecommendationProviderRoleArn(Aws::String && value)576     inline void SetRecommendationProviderRoleArn(Aws::String&& value) { m_recommendationProviderRoleArnHasBeenSet = true; m_recommendationProviderRoleArn = std::move(value); }
577 
578     /**
579      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
580      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
581      * the recommender model.</p>
582      */
SetRecommendationProviderRoleArn(const char * value)583     inline void SetRecommendationProviderRoleArn(const char* value) { m_recommendationProviderRoleArnHasBeenSet = true; m_recommendationProviderRoleArn.assign(value); }
584 
585     /**
586      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
587      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
588      * the recommender model.</p>
589      */
WithRecommendationProviderRoleArn(const Aws::String & value)590     inline RecommenderConfigurationResponse& WithRecommendationProviderRoleArn(const Aws::String& value) { SetRecommendationProviderRoleArn(value); return *this;}
591 
592     /**
593      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
594      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
595      * the recommender model.</p>
596      */
WithRecommendationProviderRoleArn(Aws::String && value)597     inline RecommenderConfigurationResponse& WithRecommendationProviderRoleArn(Aws::String&& value) { SetRecommendationProviderRoleArn(std::move(value)); return *this;}
598 
599     /**
600      * <p>The Amazon Resource Name (ARN) of the AWS Identity and Access Management
601      * (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from
602      * the recommender model.</p>
603      */
WithRecommendationProviderRoleArn(const char * value)604     inline RecommenderConfigurationResponse& WithRecommendationProviderRoleArn(const char* value) { SetRecommendationProviderRoleArn(value); return *this;}
605 
606 
607     /**
608      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
609      * retrieves the recommendation data from. This value is the ARN of an Amazon
610      * Personalize campaign.</p>
611      */
GetRecommendationProviderUri()612     inline const Aws::String& GetRecommendationProviderUri() const{ return m_recommendationProviderUri; }
613 
614     /**
615      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
616      * retrieves the recommendation data from. This value is the ARN of an Amazon
617      * Personalize campaign.</p>
618      */
RecommendationProviderUriHasBeenSet()619     inline bool RecommendationProviderUriHasBeenSet() const { return m_recommendationProviderUriHasBeenSet; }
620 
621     /**
622      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
623      * retrieves the recommendation data from. This value is the ARN of an Amazon
624      * Personalize campaign.</p>
625      */
SetRecommendationProviderUri(const Aws::String & value)626     inline void SetRecommendationProviderUri(const Aws::String& value) { m_recommendationProviderUriHasBeenSet = true; m_recommendationProviderUri = value; }
627 
628     /**
629      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
630      * retrieves the recommendation data from. This value is the ARN of an Amazon
631      * Personalize campaign.</p>
632      */
SetRecommendationProviderUri(Aws::String && value)633     inline void SetRecommendationProviderUri(Aws::String&& value) { m_recommendationProviderUriHasBeenSet = true; m_recommendationProviderUri = std::move(value); }
634 
635     /**
636      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
637      * retrieves the recommendation data from. This value is the ARN of an Amazon
638      * Personalize campaign.</p>
639      */
SetRecommendationProviderUri(const char * value)640     inline void SetRecommendationProviderUri(const char* value) { m_recommendationProviderUriHasBeenSet = true; m_recommendationProviderUri.assign(value); }
641 
642     /**
643      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
644      * retrieves the recommendation data from. This value is the ARN of an Amazon
645      * Personalize campaign.</p>
646      */
WithRecommendationProviderUri(const Aws::String & value)647     inline RecommenderConfigurationResponse& WithRecommendationProviderUri(const Aws::String& value) { SetRecommendationProviderUri(value); return *this;}
648 
649     /**
650      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
651      * retrieves the recommendation data from. This value is the ARN of an Amazon
652      * Personalize campaign.</p>
653      */
WithRecommendationProviderUri(Aws::String && value)654     inline RecommenderConfigurationResponse& WithRecommendationProviderUri(Aws::String&& value) { SetRecommendationProviderUri(std::move(value)); return *this;}
655 
656     /**
657      * <p>The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint
658      * retrieves the recommendation data from. This value is the ARN of an Amazon
659      * Personalize campaign.</p>
660      */
WithRecommendationProviderUri(const char * value)661     inline RecommenderConfigurationResponse& WithRecommendationProviderUri(const char* value) { SetRecommendationProviderUri(value); return *this;}
662 
663 
664     /**
665      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
666      * Pinpoint invokes to perform additional processing of recommendation data that it
667      * retrieves from the recommender model.</p>
668      */
GetRecommendationTransformerUri()669     inline const Aws::String& GetRecommendationTransformerUri() const{ return m_recommendationTransformerUri; }
670 
671     /**
672      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
673      * Pinpoint invokes to perform additional processing of recommendation data that it
674      * retrieves from the recommender model.</p>
675      */
RecommendationTransformerUriHasBeenSet()676     inline bool RecommendationTransformerUriHasBeenSet() const { return m_recommendationTransformerUriHasBeenSet; }
677 
678     /**
679      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
680      * Pinpoint invokes to perform additional processing of recommendation data that it
681      * retrieves from the recommender model.</p>
682      */
SetRecommendationTransformerUri(const Aws::String & value)683     inline void SetRecommendationTransformerUri(const Aws::String& value) { m_recommendationTransformerUriHasBeenSet = true; m_recommendationTransformerUri = value; }
684 
685     /**
686      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
687      * Pinpoint invokes to perform additional processing of recommendation data that it
688      * retrieves from the recommender model.</p>
689      */
SetRecommendationTransformerUri(Aws::String && value)690     inline void SetRecommendationTransformerUri(Aws::String&& value) { m_recommendationTransformerUriHasBeenSet = true; m_recommendationTransformerUri = std::move(value); }
691 
692     /**
693      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
694      * Pinpoint invokes to perform additional processing of recommendation data that it
695      * retrieves from the recommender model.</p>
696      */
SetRecommendationTransformerUri(const char * value)697     inline void SetRecommendationTransformerUri(const char* value) { m_recommendationTransformerUriHasBeenSet = true; m_recommendationTransformerUri.assign(value); }
698 
699     /**
700      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
701      * Pinpoint invokes to perform additional processing of recommendation data that it
702      * retrieves from the recommender model.</p>
703      */
WithRecommendationTransformerUri(const Aws::String & value)704     inline RecommenderConfigurationResponse& WithRecommendationTransformerUri(const Aws::String& value) { SetRecommendationTransformerUri(value); return *this;}
705 
706     /**
707      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
708      * Pinpoint invokes to perform additional processing of recommendation data that it
709      * retrieves from the recommender model.</p>
710      */
WithRecommendationTransformerUri(Aws::String && value)711     inline RecommenderConfigurationResponse& WithRecommendationTransformerUri(Aws::String&& value) { SetRecommendationTransformerUri(std::move(value)); return *this;}
712 
713     /**
714      * <p>The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon
715      * Pinpoint invokes to perform additional processing of recommendation data that it
716      * retrieves from the recommender model.</p>
717      */
WithRecommendationTransformerUri(const char * value)718     inline RecommenderConfigurationResponse& WithRecommendationTransformerUri(const char* value) { SetRecommendationTransformerUri(value); return *this;}
719 
720 
721     /**
722      * <p>The custom display name for the standard endpoint or user attribute
723      * (RecommendationItems) that temporarily stores recommended items for each
724      * endpoint or user, depending on the value for the RecommendationProviderIdType
725      * property. This name appears in the <b>Attribute finder</b> of the template
726      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
727      * configuration doesn't invoke an AWS Lambda function
728      * (RecommendationTransformerUri) to perform additional processing of
729      * recommendation data.</p>
730      */
GetRecommendationsDisplayName()731     inline const Aws::String& GetRecommendationsDisplayName() const{ return m_recommendationsDisplayName; }
732 
733     /**
734      * <p>The custom display name for the standard endpoint or user attribute
735      * (RecommendationItems) that temporarily stores recommended items for each
736      * endpoint or user, depending on the value for the RecommendationProviderIdType
737      * property. This name appears in the <b>Attribute finder</b> of the template
738      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
739      * configuration doesn't invoke an AWS Lambda function
740      * (RecommendationTransformerUri) to perform additional processing of
741      * recommendation data.</p>
742      */
RecommendationsDisplayNameHasBeenSet()743     inline bool RecommendationsDisplayNameHasBeenSet() const { return m_recommendationsDisplayNameHasBeenSet; }
744 
745     /**
746      * <p>The custom display name for the standard endpoint or user attribute
747      * (RecommendationItems) that temporarily stores recommended items for each
748      * endpoint or user, depending on the value for the RecommendationProviderIdType
749      * property. This name appears in the <b>Attribute finder</b> of the template
750      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
751      * configuration doesn't invoke an AWS Lambda function
752      * (RecommendationTransformerUri) to perform additional processing of
753      * recommendation data.</p>
754      */
SetRecommendationsDisplayName(const Aws::String & value)755     inline void SetRecommendationsDisplayName(const Aws::String& value) { m_recommendationsDisplayNameHasBeenSet = true; m_recommendationsDisplayName = value; }
756 
757     /**
758      * <p>The custom display name for the standard endpoint or user attribute
759      * (RecommendationItems) that temporarily stores recommended items for each
760      * endpoint or user, depending on the value for the RecommendationProviderIdType
761      * property. This name appears in the <b>Attribute finder</b> of the template
762      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
763      * configuration doesn't invoke an AWS Lambda function
764      * (RecommendationTransformerUri) to perform additional processing of
765      * recommendation data.</p>
766      */
SetRecommendationsDisplayName(Aws::String && value)767     inline void SetRecommendationsDisplayName(Aws::String&& value) { m_recommendationsDisplayNameHasBeenSet = true; m_recommendationsDisplayName = std::move(value); }
768 
769     /**
770      * <p>The custom display name for the standard endpoint or user attribute
771      * (RecommendationItems) that temporarily stores recommended items for each
772      * endpoint or user, depending on the value for the RecommendationProviderIdType
773      * property. This name appears in the <b>Attribute finder</b> of the template
774      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
775      * configuration doesn't invoke an AWS Lambda function
776      * (RecommendationTransformerUri) to perform additional processing of
777      * recommendation data.</p>
778      */
SetRecommendationsDisplayName(const char * value)779     inline void SetRecommendationsDisplayName(const char* value) { m_recommendationsDisplayNameHasBeenSet = true; m_recommendationsDisplayName.assign(value); }
780 
781     /**
782      * <p>The custom display name for the standard endpoint or user attribute
783      * (RecommendationItems) that temporarily stores recommended items for each
784      * endpoint or user, depending on the value for the RecommendationProviderIdType
785      * property. This name appears in the <b>Attribute finder</b> of the template
786      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
787      * configuration doesn't invoke an AWS Lambda function
788      * (RecommendationTransformerUri) to perform additional processing of
789      * recommendation data.</p>
790      */
WithRecommendationsDisplayName(const Aws::String & value)791     inline RecommenderConfigurationResponse& WithRecommendationsDisplayName(const Aws::String& value) { SetRecommendationsDisplayName(value); return *this;}
792 
793     /**
794      * <p>The custom display name for the standard endpoint or user attribute
795      * (RecommendationItems) that temporarily stores recommended items for each
796      * endpoint or user, depending on the value for the RecommendationProviderIdType
797      * property. This name appears in the <b>Attribute finder</b> of the template
798      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
799      * configuration doesn't invoke an AWS Lambda function
800      * (RecommendationTransformerUri) to perform additional processing of
801      * recommendation data.</p>
802      */
WithRecommendationsDisplayName(Aws::String && value)803     inline RecommenderConfigurationResponse& WithRecommendationsDisplayName(Aws::String&& value) { SetRecommendationsDisplayName(std::move(value)); return *this;}
804 
805     /**
806      * <p>The custom display name for the standard endpoint or user attribute
807      * (RecommendationItems) that temporarily stores recommended items for each
808      * endpoint or user, depending on the value for the RecommendationProviderIdType
809      * property. This name appears in the <b>Attribute finder</b> of the template
810      * editor on the Amazon Pinpoint console.</p> <p>This value is null if the
811      * configuration doesn't invoke an AWS Lambda function
812      * (RecommendationTransformerUri) to perform additional processing of
813      * recommendation data.</p>
814      */
WithRecommendationsDisplayName(const char * value)815     inline RecommenderConfigurationResponse& WithRecommendationsDisplayName(const char* value) { SetRecommendationsDisplayName(value); return *this;}
816 
817 
818     /**
819      * <p>The number of recommended items that are retrieved from the model for each
820      * endpoint or user, depending on the value for the RecommendationProviderIdType
821      * property. This number determines how many recommended items are available for
822      * use in message variables.</p>
823      */
GetRecommendationsPerMessage()824     inline int GetRecommendationsPerMessage() const{ return m_recommendationsPerMessage; }
825 
826     /**
827      * <p>The number of recommended items that are retrieved from the model for each
828      * endpoint or user, depending on the value for the RecommendationProviderIdType
829      * property. This number determines how many recommended items are available for
830      * use in message variables.</p>
831      */
RecommendationsPerMessageHasBeenSet()832     inline bool RecommendationsPerMessageHasBeenSet() const { return m_recommendationsPerMessageHasBeenSet; }
833 
834     /**
835      * <p>The number of recommended items that are retrieved from the model for each
836      * endpoint or user, depending on the value for the RecommendationProviderIdType
837      * property. This number determines how many recommended items are available for
838      * use in message variables.</p>
839      */
SetRecommendationsPerMessage(int value)840     inline void SetRecommendationsPerMessage(int value) { m_recommendationsPerMessageHasBeenSet = true; m_recommendationsPerMessage = value; }
841 
842     /**
843      * <p>The number of recommended items that are retrieved from the model for each
844      * endpoint or user, depending on the value for the RecommendationProviderIdType
845      * property. This number determines how many recommended items are available for
846      * use in message variables.</p>
847      */
WithRecommendationsPerMessage(int value)848     inline RecommenderConfigurationResponse& WithRecommendationsPerMessage(int value) { SetRecommendationsPerMessage(value); return *this;}
849 
850   private:
851 
852     Aws::Map<Aws::String, Aws::String> m_attributes;
853     bool m_attributesHasBeenSet;
854 
855     Aws::String m_creationDate;
856     bool m_creationDateHasBeenSet;
857 
858     Aws::String m_description;
859     bool m_descriptionHasBeenSet;
860 
861     Aws::String m_id;
862     bool m_idHasBeenSet;
863 
864     Aws::String m_lastModifiedDate;
865     bool m_lastModifiedDateHasBeenSet;
866 
867     Aws::String m_name;
868     bool m_nameHasBeenSet;
869 
870     Aws::String m_recommendationProviderIdType;
871     bool m_recommendationProviderIdTypeHasBeenSet;
872 
873     Aws::String m_recommendationProviderRoleArn;
874     bool m_recommendationProviderRoleArnHasBeenSet;
875 
876     Aws::String m_recommendationProviderUri;
877     bool m_recommendationProviderUriHasBeenSet;
878 
879     Aws::String m_recommendationTransformerUri;
880     bool m_recommendationTransformerUriHasBeenSet;
881 
882     Aws::String m_recommendationsDisplayName;
883     bool m_recommendationsDisplayNameHasBeenSet;
884 
885     int m_recommendationsPerMessage;
886     bool m_recommendationsPerMessageHasBeenSet;
887   };
888 
889 } // namespace Model
890 } // namespace Pinpoint
891 } // namespace Aws
892