aws_sdk_personalize/operation/create_solution/
_create_solution_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateSolutionInput {
6    /// <p>The name for the solution.</p>
7    pub name: ::std::option::Option<::std::string::String>,
8    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
9    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
10    pub perform_hpo: ::std::option::Option<bool>,
11    /// <important>
12    /// <p>We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
13    /// </important>
14    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
15    /// <p>When set to <code>true</code>, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit <code>recipeArn</code>. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.</p>
16    pub perform_auto_ml: ::std::option::Option<bool>,
17    /// <p>Whether the solution uses automatic training to create new solution versions (trained models). The default is <code>True</code> and the solution automatically creates new solution versions every 7 days. You can change the training frequency by specifying a <code>schedulingExpression</code> in the <code>AutoTrainingConfig</code> as part of solution configuration. For more information about automatic training, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/solution-config-auto-training.html">Configuring automatic training</a>.</p>
18    /// <p>Automatic solution version creation starts within one hour after the solution is ACTIVE. If you manually create a solution version within the hour, the solution skips the first automatic training.</p>
19    /// <p>After training starts, you can get the solution version's Amazon Resource Name (ARN) with the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html">ListSolutionVersions</a> API operation. To get its status, use the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html">DescribeSolutionVersion</a>.</p>
20    pub perform_auto_training: ::std::option::Option<bool>,
21    /// <p>Whether to perform incremental training updates on your model. When enabled, this allows the model to learn from new data more frequently without requiring full retraining, which enables near real-time personalization. This parameter is supported only for solutions that use the semantic-similarity recipe.</p>
22    pub perform_incremental_update: ::std::option::Option<bool>,
23    /// <p>The Amazon Resource Name (ARN) of the recipe to use for model training. This is required when <code>performAutoML</code> is false. For information about different Amazon Personalize recipes and their ARNs, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
24    pub recipe_arn: ::std::option::Option<::std::string::String>,
25    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
26    pub dataset_group_arn: ::std::option::Option<::std::string::String>,
27    /// <p>When your have multiple event types (using an <code>EVENT_TYPE</code> schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.</p>
28    /// <p>If you do not provide an <code>eventType</code>, Amazon Personalize will use all interactions for training with equal weight regardless of type.</p>
29    pub event_type: ::std::option::Option<::std::string::String>,
30    /// <p>The configuration properties for the solution. When <code>performAutoML</code> is set to true, Amazon Personalize only evaluates the <code>autoMLConfig</code> section of the solution configuration.</p><note>
31    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
32    /// </note>
33    pub solution_config: ::std::option::Option<crate::types::SolutionConfig>,
34    /// <p>A list of <a href="https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html">tags</a> to apply to the solution.</p>
35    pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
36}
37impl CreateSolutionInput {
38    /// <p>The name for the solution.</p>
39    pub fn name(&self) -> ::std::option::Option<&str> {
40        self.name.as_deref()
41    }
42    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
43    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
44    pub fn perform_hpo(&self) -> ::std::option::Option<bool> {
45        self.perform_hpo
46    }
47    /// <important>
48    /// <p>We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
49    /// </important>
50    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
51    /// <p>When set to <code>true</code>, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit <code>recipeArn</code>. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.</p>
52    pub fn perform_auto_ml(&self) -> ::std::option::Option<bool> {
53        self.perform_auto_ml
54    }
55    /// <p>Whether the solution uses automatic training to create new solution versions (trained models). The default is <code>True</code> and the solution automatically creates new solution versions every 7 days. You can change the training frequency by specifying a <code>schedulingExpression</code> in the <code>AutoTrainingConfig</code> as part of solution configuration. For more information about automatic training, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/solution-config-auto-training.html">Configuring automatic training</a>.</p>
56    /// <p>Automatic solution version creation starts within one hour after the solution is ACTIVE. If you manually create a solution version within the hour, the solution skips the first automatic training.</p>
57    /// <p>After training starts, you can get the solution version's Amazon Resource Name (ARN) with the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html">ListSolutionVersions</a> API operation. To get its status, use the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html">DescribeSolutionVersion</a>.</p>
58    pub fn perform_auto_training(&self) -> ::std::option::Option<bool> {
59        self.perform_auto_training
60    }
61    /// <p>Whether to perform incremental training updates on your model. When enabled, this allows the model to learn from new data more frequently without requiring full retraining, which enables near real-time personalization. This parameter is supported only for solutions that use the semantic-similarity recipe.</p>
62    pub fn perform_incremental_update(&self) -> ::std::option::Option<bool> {
63        self.perform_incremental_update
64    }
65    /// <p>The Amazon Resource Name (ARN) of the recipe to use for model training. This is required when <code>performAutoML</code> is false. For information about different Amazon Personalize recipes and their ARNs, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
66    pub fn recipe_arn(&self) -> ::std::option::Option<&str> {
67        self.recipe_arn.as_deref()
68    }
69    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
70    pub fn dataset_group_arn(&self) -> ::std::option::Option<&str> {
71        self.dataset_group_arn.as_deref()
72    }
73    /// <p>When your have multiple event types (using an <code>EVENT_TYPE</code> schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.</p>
74    /// <p>If you do not provide an <code>eventType</code>, Amazon Personalize will use all interactions for training with equal weight regardless of type.</p>
75    pub fn event_type(&self) -> ::std::option::Option<&str> {
76        self.event_type.as_deref()
77    }
78    /// <p>The configuration properties for the solution. When <code>performAutoML</code> is set to true, Amazon Personalize only evaluates the <code>autoMLConfig</code> section of the solution configuration.</p><note>
79    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
80    /// </note>
81    pub fn solution_config(&self) -> ::std::option::Option<&crate::types::SolutionConfig> {
82        self.solution_config.as_ref()
83    }
84    /// <p>A list of <a href="https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html">tags</a> to apply to the solution.</p>
85    ///
86    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.tags.is_none()`.
87    pub fn tags(&self) -> &[crate::types::Tag] {
88        self.tags.as_deref().unwrap_or_default()
89    }
90}
91impl CreateSolutionInput {
92    /// Creates a new builder-style object to manufacture [`CreateSolutionInput`](crate::operation::create_solution::CreateSolutionInput).
93    pub fn builder() -> crate::operation::create_solution::builders::CreateSolutionInputBuilder {
94        crate::operation::create_solution::builders::CreateSolutionInputBuilder::default()
95    }
96}
97
98/// A builder for [`CreateSolutionInput`](crate::operation::create_solution::CreateSolutionInput).
99#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
100#[non_exhaustive]
101pub struct CreateSolutionInputBuilder {
102    pub(crate) name: ::std::option::Option<::std::string::String>,
103    pub(crate) perform_hpo: ::std::option::Option<bool>,
104    pub(crate) perform_auto_ml: ::std::option::Option<bool>,
105    pub(crate) perform_auto_training: ::std::option::Option<bool>,
106    pub(crate) perform_incremental_update: ::std::option::Option<bool>,
107    pub(crate) recipe_arn: ::std::option::Option<::std::string::String>,
108    pub(crate) dataset_group_arn: ::std::option::Option<::std::string::String>,
109    pub(crate) event_type: ::std::option::Option<::std::string::String>,
110    pub(crate) solution_config: ::std::option::Option<crate::types::SolutionConfig>,
111    pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
112}
113impl CreateSolutionInputBuilder {
114    /// <p>The name for the solution.</p>
115    /// This field is required.
116    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
117        self.name = ::std::option::Option::Some(input.into());
118        self
119    }
120    /// <p>The name for the solution.</p>
121    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
122        self.name = input;
123        self
124    }
125    /// <p>The name for the solution.</p>
126    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
127        &self.name
128    }
129    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
130    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
131    pub fn perform_hpo(mut self, input: bool) -> Self {
132        self.perform_hpo = ::std::option::Option::Some(input);
133        self
134    }
135    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
136    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
137    pub fn set_perform_hpo(mut self, input: ::std::option::Option<bool>) -> Self {
138        self.perform_hpo = input;
139        self
140    }
141    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
142    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
143    pub fn get_perform_hpo(&self) -> &::std::option::Option<bool> {
144        &self.perform_hpo
145    }
146    /// <important>
147    /// <p>We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
148    /// </important>
149    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
150    /// <p>When set to <code>true</code>, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit <code>recipeArn</code>. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.</p>
151    pub fn perform_auto_ml(mut self, input: bool) -> Self {
152        self.perform_auto_ml = ::std::option::Option::Some(input);
153        self
154    }
155    /// <important>
156    /// <p>We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
157    /// </important>
158    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
159    /// <p>When set to <code>true</code>, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit <code>recipeArn</code>. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.</p>
160    pub fn set_perform_auto_ml(mut self, input: ::std::option::Option<bool>) -> Self {
161        self.perform_auto_ml = input;
162        self
163    }
164    /// <important>
165    /// <p>We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
166    /// </important>
167    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
168    /// <p>When set to <code>true</code>, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit <code>recipeArn</code>. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.</p>
169    pub fn get_perform_auto_ml(&self) -> &::std::option::Option<bool> {
170        &self.perform_auto_ml
171    }
172    /// <p>Whether the solution uses automatic training to create new solution versions (trained models). The default is <code>True</code> and the solution automatically creates new solution versions every 7 days. You can change the training frequency by specifying a <code>schedulingExpression</code> in the <code>AutoTrainingConfig</code> as part of solution configuration. For more information about automatic training, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/solution-config-auto-training.html">Configuring automatic training</a>.</p>
173    /// <p>Automatic solution version creation starts within one hour after the solution is ACTIVE. If you manually create a solution version within the hour, the solution skips the first automatic training.</p>
174    /// <p>After training starts, you can get the solution version's Amazon Resource Name (ARN) with the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html">ListSolutionVersions</a> API operation. To get its status, use the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html">DescribeSolutionVersion</a>.</p>
175    pub fn perform_auto_training(mut self, input: bool) -> Self {
176        self.perform_auto_training = ::std::option::Option::Some(input);
177        self
178    }
179    /// <p>Whether the solution uses automatic training to create new solution versions (trained models). The default is <code>True</code> and the solution automatically creates new solution versions every 7 days. You can change the training frequency by specifying a <code>schedulingExpression</code> in the <code>AutoTrainingConfig</code> as part of solution configuration. For more information about automatic training, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/solution-config-auto-training.html">Configuring automatic training</a>.</p>
180    /// <p>Automatic solution version creation starts within one hour after the solution is ACTIVE. If you manually create a solution version within the hour, the solution skips the first automatic training.</p>
181    /// <p>After training starts, you can get the solution version's Amazon Resource Name (ARN) with the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html">ListSolutionVersions</a> API operation. To get its status, use the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html">DescribeSolutionVersion</a>.</p>
182    pub fn set_perform_auto_training(mut self, input: ::std::option::Option<bool>) -> Self {
183        self.perform_auto_training = input;
184        self
185    }
186    /// <p>Whether the solution uses automatic training to create new solution versions (trained models). The default is <code>True</code> and the solution automatically creates new solution versions every 7 days. You can change the training frequency by specifying a <code>schedulingExpression</code> in the <code>AutoTrainingConfig</code> as part of solution configuration. For more information about automatic training, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/solution-config-auto-training.html">Configuring automatic training</a>.</p>
187    /// <p>Automatic solution version creation starts within one hour after the solution is ACTIVE. If you manually create a solution version within the hour, the solution skips the first automatic training.</p>
188    /// <p>After training starts, you can get the solution version's Amazon Resource Name (ARN) with the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html">ListSolutionVersions</a> API operation. To get its status, use the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html">DescribeSolutionVersion</a>.</p>
189    pub fn get_perform_auto_training(&self) -> &::std::option::Option<bool> {
190        &self.perform_auto_training
191    }
192    /// <p>Whether to perform incremental training updates on your model. When enabled, this allows the model to learn from new data more frequently without requiring full retraining, which enables near real-time personalization. This parameter is supported only for solutions that use the semantic-similarity recipe.</p>
193    pub fn perform_incremental_update(mut self, input: bool) -> Self {
194        self.perform_incremental_update = ::std::option::Option::Some(input);
195        self
196    }
197    /// <p>Whether to perform incremental training updates on your model. When enabled, this allows the model to learn from new data more frequently without requiring full retraining, which enables near real-time personalization. This parameter is supported only for solutions that use the semantic-similarity recipe.</p>
198    pub fn set_perform_incremental_update(mut self, input: ::std::option::Option<bool>) -> Self {
199        self.perform_incremental_update = input;
200        self
201    }
202    /// <p>Whether to perform incremental training updates on your model. When enabled, this allows the model to learn from new data more frequently without requiring full retraining, which enables near real-time personalization. This parameter is supported only for solutions that use the semantic-similarity recipe.</p>
203    pub fn get_perform_incremental_update(&self) -> &::std::option::Option<bool> {
204        &self.perform_incremental_update
205    }
206    /// <p>The Amazon Resource Name (ARN) of the recipe to use for model training. This is required when <code>performAutoML</code> is false. For information about different Amazon Personalize recipes and their ARNs, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
207    pub fn recipe_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208        self.recipe_arn = ::std::option::Option::Some(input.into());
209        self
210    }
211    /// <p>The Amazon Resource Name (ARN) of the recipe to use for model training. This is required when <code>performAutoML</code> is false. For information about different Amazon Personalize recipes and their ARNs, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
212    pub fn set_recipe_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213        self.recipe_arn = input;
214        self
215    }
216    /// <p>The Amazon Resource Name (ARN) of the recipe to use for model training. This is required when <code>performAutoML</code> is false. For information about different Amazon Personalize recipes and their ARNs, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html">Choosing a recipe</a>.</p>
217    pub fn get_recipe_arn(&self) -> &::std::option::Option<::std::string::String> {
218        &self.recipe_arn
219    }
220    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
221    /// This field is required.
222    pub fn dataset_group_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
223        self.dataset_group_arn = ::std::option::Option::Some(input.into());
224        self
225    }
226    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
227    pub fn set_dataset_group_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228        self.dataset_group_arn = input;
229        self
230    }
231    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
232    pub fn get_dataset_group_arn(&self) -> &::std::option::Option<::std::string::String> {
233        &self.dataset_group_arn
234    }
235    /// <p>When your have multiple event types (using an <code>EVENT_TYPE</code> schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.</p>
236    /// <p>If you do not provide an <code>eventType</code>, Amazon Personalize will use all interactions for training with equal weight regardless of type.</p>
237    pub fn event_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
238        self.event_type = ::std::option::Option::Some(input.into());
239        self
240    }
241    /// <p>When your have multiple event types (using an <code>EVENT_TYPE</code> schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.</p>
242    /// <p>If you do not provide an <code>eventType</code>, Amazon Personalize will use all interactions for training with equal weight regardless of type.</p>
243    pub fn set_event_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
244        self.event_type = input;
245        self
246    }
247    /// <p>When your have multiple event types (using an <code>EVENT_TYPE</code> schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.</p>
248    /// <p>If you do not provide an <code>eventType</code>, Amazon Personalize will use all interactions for training with equal weight regardless of type.</p>
249    pub fn get_event_type(&self) -> &::std::option::Option<::std::string::String> {
250        &self.event_type
251    }
252    /// <p>The configuration properties for the solution. When <code>performAutoML</code> is set to true, Amazon Personalize only evaluates the <code>autoMLConfig</code> section of the solution configuration.</p><note>
253    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
254    /// </note>
255    pub fn solution_config(mut self, input: crate::types::SolutionConfig) -> Self {
256        self.solution_config = ::std::option::Option::Some(input);
257        self
258    }
259    /// <p>The configuration properties for the solution. When <code>performAutoML</code> is set to true, Amazon Personalize only evaluates the <code>autoMLConfig</code> section of the solution configuration.</p><note>
260    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
261    /// </note>
262    pub fn set_solution_config(mut self, input: ::std::option::Option<crate::types::SolutionConfig>) -> Self {
263        self.solution_config = input;
264        self
265    }
266    /// <p>The configuration properties for the solution. When <code>performAutoML</code> is set to true, Amazon Personalize only evaluates the <code>autoMLConfig</code> section of the solution configuration.</p><note>
267    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
268    /// </note>
269    pub fn get_solution_config(&self) -> &::std::option::Option<crate::types::SolutionConfig> {
270        &self.solution_config
271    }
272    /// Appends an item to `tags`.
273    ///
274    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
275    ///
276    /// <p>A list of <a href="https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html">tags</a> to apply to the solution.</p>
277    pub fn tags(mut self, input: crate::types::Tag) -> Self {
278        let mut v = self.tags.unwrap_or_default();
279        v.push(input);
280        self.tags = ::std::option::Option::Some(v);
281        self
282    }
283    /// <p>A list of <a href="https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html">tags</a> to apply to the solution.</p>
284    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
285        self.tags = input;
286        self
287    }
288    /// <p>A list of <a href="https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html">tags</a> to apply to the solution.</p>
289    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
290        &self.tags
291    }
292    /// Consumes the builder and constructs a [`CreateSolutionInput`](crate::operation::create_solution::CreateSolutionInput).
293    pub fn build(
294        self,
295    ) -> ::std::result::Result<crate::operation::create_solution::CreateSolutionInput, ::aws_smithy_types::error::operation::BuildError> {
296        ::std::result::Result::Ok(crate::operation::create_solution::CreateSolutionInput {
297            name: self.name,
298            perform_hpo: self.perform_hpo,
299            perform_auto_ml: self.perform_auto_ml,
300            perform_auto_training: self.perform_auto_training,
301            perform_incremental_update: self.perform_incremental_update,
302            recipe_arn: self.recipe_arn,
303            dataset_group_arn: self.dataset_group_arn,
304            event_type: self.event_type,
305            solution_config: self.solution_config,
306            tags: self.tags,
307        })
308    }
309}