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/personalize/Personalize_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 Personalize
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>The configuration details of a batch inference job.</p><p><h3>See Also:</h3>
29    * <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/BatchInferenceJobConfig">AWS
31    * API Reference</a></p>
32    */
33   class AWS_PERSONALIZE_API BatchInferenceJobConfig
34   {
35   public:
36     BatchInferenceJobConfig();
37     BatchInferenceJobConfig(Aws::Utils::Json::JsonView jsonValue);
38     BatchInferenceJobConfig& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>A string to string map specifying the exploration configuration
44      * hyperparameters, including <code>explorationWeight</code> and
45      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
46      * of item exploration Amazon Personalize uses when recommending items. See <a
47      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
48      */
GetItemExplorationConfig()49     inline const Aws::Map<Aws::String, Aws::String>& GetItemExplorationConfig() const{ return m_itemExplorationConfig; }
50 
51     /**
52      * <p>A string to string map specifying the exploration configuration
53      * hyperparameters, including <code>explorationWeight</code> and
54      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
55      * of item exploration Amazon Personalize uses when recommending items. See <a
56      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
57      */
ItemExplorationConfigHasBeenSet()58     inline bool ItemExplorationConfigHasBeenSet() const { return m_itemExplorationConfigHasBeenSet; }
59 
60     /**
61      * <p>A string to string map specifying the exploration configuration
62      * hyperparameters, including <code>explorationWeight</code> and
63      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
64      * of item exploration Amazon Personalize uses when recommending items. See <a
65      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
66      */
SetItemExplorationConfig(const Aws::Map<Aws::String,Aws::String> & value)67     inline void SetItemExplorationConfig(const Aws::Map<Aws::String, Aws::String>& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig = value; }
68 
69     /**
70      * <p>A string to string map specifying the exploration configuration
71      * hyperparameters, including <code>explorationWeight</code> and
72      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
73      * of item exploration Amazon Personalize uses when recommending items. See <a
74      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
75      */
SetItemExplorationConfig(Aws::Map<Aws::String,Aws::String> && value)76     inline void SetItemExplorationConfig(Aws::Map<Aws::String, Aws::String>&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig = std::move(value); }
77 
78     /**
79      * <p>A string to string map specifying the exploration configuration
80      * hyperparameters, including <code>explorationWeight</code> and
81      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
82      * of item exploration Amazon Personalize uses when recommending items. See <a
83      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
84      */
WithItemExplorationConfig(const Aws::Map<Aws::String,Aws::String> & value)85     inline BatchInferenceJobConfig& WithItemExplorationConfig(const Aws::Map<Aws::String, Aws::String>& value) { SetItemExplorationConfig(value); return *this;}
86 
87     /**
88      * <p>A string to string map specifying the exploration configuration
89      * hyperparameters, including <code>explorationWeight</code> and
90      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
91      * of item exploration Amazon Personalize uses when recommending items. See <a
92      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
93      */
WithItemExplorationConfig(Aws::Map<Aws::String,Aws::String> && value)94     inline BatchInferenceJobConfig& WithItemExplorationConfig(Aws::Map<Aws::String, Aws::String>&& value) { SetItemExplorationConfig(std::move(value)); return *this;}
95 
96     /**
97      * <p>A string to string map specifying the exploration configuration
98      * hyperparameters, including <code>explorationWeight</code> and
99      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
100      * of item exploration Amazon Personalize uses when recommending items. See <a
101      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
102      */
AddItemExplorationConfig(const Aws::String & key,const Aws::String & value)103     inline BatchInferenceJobConfig& AddItemExplorationConfig(const Aws::String& key, const Aws::String& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, value); return *this; }
104 
105     /**
106      * <p>A string to string map specifying the exploration configuration
107      * hyperparameters, including <code>explorationWeight</code> and
108      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
109      * of item exploration Amazon Personalize uses when recommending items. See <a
110      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
111      */
AddItemExplorationConfig(Aws::String && key,const Aws::String & value)112     inline BatchInferenceJobConfig& AddItemExplorationConfig(Aws::String&& key, const Aws::String& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(std::move(key), value); return *this; }
113 
114     /**
115      * <p>A string to string map specifying the exploration configuration
116      * hyperparameters, including <code>explorationWeight</code> and
117      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
118      * of item exploration Amazon Personalize uses when recommending items. See <a
119      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
120      */
AddItemExplorationConfig(const Aws::String & key,Aws::String && value)121     inline BatchInferenceJobConfig& AddItemExplorationConfig(const Aws::String& key, Aws::String&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, std::move(value)); return *this; }
122 
123     /**
124      * <p>A string to string map specifying the exploration configuration
125      * hyperparameters, including <code>explorationWeight</code> and
126      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
127      * of item exploration Amazon Personalize uses when recommending items. See <a
128      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
129      */
AddItemExplorationConfig(Aws::String && key,Aws::String && value)130     inline BatchInferenceJobConfig& AddItemExplorationConfig(Aws::String&& key, Aws::String&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(std::move(key), std::move(value)); return *this; }
131 
132     /**
133      * <p>A string to string map specifying the exploration configuration
134      * hyperparameters, including <code>explorationWeight</code> and
135      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
136      * of item exploration Amazon Personalize uses when recommending items. See <a
137      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
138      */
AddItemExplorationConfig(const char * key,Aws::String && value)139     inline BatchInferenceJobConfig& AddItemExplorationConfig(const char* key, Aws::String&& value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, std::move(value)); return *this; }
140 
141     /**
142      * <p>A string to string map specifying the exploration configuration
143      * hyperparameters, including <code>explorationWeight</code> and
144      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
145      * of item exploration Amazon Personalize uses when recommending items. See <a
146      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
147      */
AddItemExplorationConfig(Aws::String && key,const char * value)148     inline BatchInferenceJobConfig& AddItemExplorationConfig(Aws::String&& key, const char* value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(std::move(key), value); return *this; }
149 
150     /**
151      * <p>A string to string map specifying the exploration configuration
152      * hyperparameters, including <code>explorationWeight</code> and
153      * <code>explorationItemAgeCutOff</code>, you want to use to configure the amount
154      * of item exploration Amazon Personalize uses when recommending items. See <a
155      * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a>.</p>
156      */
AddItemExplorationConfig(const char * key,const char * value)157     inline BatchInferenceJobConfig& AddItemExplorationConfig(const char* key, const char* value) { m_itemExplorationConfigHasBeenSet = true; m_itemExplorationConfig.emplace(key, value); return *this; }
158 
159   private:
160 
161     Aws::Map<Aws::String, Aws::String> m_itemExplorationConfig;
162     bool m_itemExplorationConfigHasBeenSet;
163   };
164 
165 } // namespace Model
166 } // namespace Personalize
167 } // namespace Aws
168