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>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>
22    pub recipe_arn: ::std::option::Option<::std::string::String>,
23    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
24    pub dataset_group_arn: ::std::option::Option<::std::string::String>,
25    /// <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>
26    /// <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>
27    pub event_type: ::std::option::Option<::std::string::String>,
28    /// <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>
29    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
30    /// </note>
31    pub solution_config: ::std::option::Option<crate::types::SolutionConfig>,
32    /// <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>
33    pub tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
34}
35impl CreateSolutionInput {
36    /// <p>The name for the solution.</p>
37    pub fn name(&self) -> ::std::option::Option<&str> {
38        self.name.as_deref()
39    }
40    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
41    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
42    pub fn perform_hpo(&self) -> ::std::option::Option<bool> {
43        self.perform_hpo
44    }
45    /// <important>
46    /// <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>
47    /// </important>
48    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
49    /// <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>
50    pub fn perform_auto_ml(&self) -> ::std::option::Option<bool> {
51        self.perform_auto_ml
52    }
53    /// <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>
54    /// <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>
55    /// <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>
56    pub fn perform_auto_training(&self) -> ::std::option::Option<bool> {
57        self.perform_auto_training
58    }
59    /// <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>
60    pub fn recipe_arn(&self) -> ::std::option::Option<&str> {
61        self.recipe_arn.as_deref()
62    }
63    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
64    pub fn dataset_group_arn(&self) -> ::std::option::Option<&str> {
65        self.dataset_group_arn.as_deref()
66    }
67    /// <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>
68    /// <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>
69    pub fn event_type(&self) -> ::std::option::Option<&str> {
70        self.event_type.as_deref()
71    }
72    /// <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>
73    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
74    /// </note>
75    pub fn solution_config(&self) -> ::std::option::Option<&crate::types::SolutionConfig> {
76        self.solution_config.as_ref()
77    }
78    /// <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>
79    ///
80    /// 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()`.
81    pub fn tags(&self) -> &[crate::types::Tag] {
82        self.tags.as_deref().unwrap_or_default()
83    }
84}
85impl CreateSolutionInput {
86    /// Creates a new builder-style object to manufacture [`CreateSolutionInput`](crate::operation::create_solution::CreateSolutionInput).
87    pub fn builder() -> crate::operation::create_solution::builders::CreateSolutionInputBuilder {
88        crate::operation::create_solution::builders::CreateSolutionInputBuilder::default()
89    }
90}
91
92/// A builder for [`CreateSolutionInput`](crate::operation::create_solution::CreateSolutionInput).
93#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
94#[non_exhaustive]
95pub struct CreateSolutionInputBuilder {
96    pub(crate) name: ::std::option::Option<::std::string::String>,
97    pub(crate) perform_hpo: ::std::option::Option<bool>,
98    pub(crate) perform_auto_ml: ::std::option::Option<bool>,
99    pub(crate) perform_auto_training: ::std::option::Option<bool>,
100    pub(crate) recipe_arn: ::std::option::Option<::std::string::String>,
101    pub(crate) dataset_group_arn: ::std::option::Option<::std::string::String>,
102    pub(crate) event_type: ::std::option::Option<::std::string::String>,
103    pub(crate) solution_config: ::std::option::Option<crate::types::SolutionConfig>,
104    pub(crate) tags: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>,
105}
106impl CreateSolutionInputBuilder {
107    /// <p>The name for the solution.</p>
108    /// This field is required.
109    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
110        self.name = ::std::option::Option::Some(input.into());
111        self
112    }
113    /// <p>The name for the solution.</p>
114    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
115        self.name = input;
116        self
117    }
118    /// <p>The name for the solution.</p>
119    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
120        &self.name
121    }
122    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
123    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
124    pub fn perform_hpo(mut self, input: bool) -> Self {
125        self.perform_hpo = ::std::option::Option::Some(input);
126        self
127    }
128    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
129    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
130    pub fn set_perform_hpo(mut self, input: ::std::option::Option<bool>) -> Self {
131        self.perform_hpo = input;
132        self
133    }
134    /// <p>Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is <code>false</code>.</p>
135    /// <p>When performing AutoML, this parameter is always <code>true</code> and you should not set it to <code>false</code>.</p>
136    pub fn get_perform_hpo(&self) -> &::std::option::Option<bool> {
137        &self.perform_hpo
138    }
139    /// <important>
140    /// <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>
141    /// </important>
142    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
143    /// <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>
144    pub fn perform_auto_ml(mut self, input: bool) -> Self {
145        self.perform_auto_ml = ::std::option::Option::Some(input);
146        self
147    }
148    /// <important>
149    /// <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>
150    /// </important>
151    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
152    /// <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>
153    pub fn set_perform_auto_ml(mut self, input: ::std::option::Option<bool>) -> Self {
154        self.perform_auto_ml = input;
155        self
156    }
157    /// <important>
158    /// <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>
159    /// </important>
160    /// <p>Whether to perform automated machine learning (AutoML). The default is <code>false</code>. For this case, you must specify <code>recipeArn</code>.</p>
161    /// <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>
162    pub fn get_perform_auto_ml(&self) -> &::std::option::Option<bool> {
163        &self.perform_auto_ml
164    }
165    /// <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>
166    /// <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>
167    /// <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>
168    pub fn perform_auto_training(mut self, input: bool) -> Self {
169        self.perform_auto_training = ::std::option::Option::Some(input);
170        self
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 set_perform_auto_training(mut self, input: ::std::option::Option<bool>) -> Self {
176        self.perform_auto_training = 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 get_perform_auto_training(&self) -> &::std::option::Option<bool> {
183        &self.perform_auto_training
184    }
185    /// <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>
186    pub fn recipe_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
187        self.recipe_arn = ::std::option::Option::Some(input.into());
188        self
189    }
190    /// <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>
191    pub fn set_recipe_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
192        self.recipe_arn = input;
193        self
194    }
195    /// <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>
196    pub fn get_recipe_arn(&self) -> &::std::option::Option<::std::string::String> {
197        &self.recipe_arn
198    }
199    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
200    /// This field is required.
201    pub fn dataset_group_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
202        self.dataset_group_arn = ::std::option::Option::Some(input.into());
203        self
204    }
205    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
206    pub fn set_dataset_group_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
207        self.dataset_group_arn = input;
208        self
209    }
210    /// <p>The Amazon Resource Name (ARN) of the dataset group that provides the training data.</p>
211    pub fn get_dataset_group_arn(&self) -> &::std::option::Option<::std::string::String> {
212        &self.dataset_group_arn
213    }
214    /// <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>
215    /// <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>
216    pub fn event_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
217        self.event_type = ::std::option::Option::Some(input.into());
218        self
219    }
220    /// <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>
221    /// <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>
222    pub fn set_event_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
223        self.event_type = input;
224        self
225    }
226    /// <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>
227    /// <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>
228    pub fn get_event_type(&self) -> &::std::option::Option<::std::string::String> {
229        &self.event_type
230    }
231    /// <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>
232    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
233    /// </note>
234    pub fn solution_config(mut self, input: crate::types::SolutionConfig) -> Self {
235        self.solution_config = ::std::option::Option::Some(input);
236        self
237    }
238    /// <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>
239    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
240    /// </note>
241    pub fn set_solution_config(mut self, input: ::std::option::Option<crate::types::SolutionConfig>) -> Self {
242        self.solution_config = input;
243        self
244    }
245    /// <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>
246    /// <p>Amazon Personalize doesn't support configuring the <code>hpoObjective</code> at this time.</p>
247    /// </note>
248    pub fn get_solution_config(&self) -> &::std::option::Option<crate::types::SolutionConfig> {
249        &self.solution_config
250    }
251    /// Appends an item to `tags`.
252    ///
253    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
254    ///
255    /// <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>
256    pub fn tags(mut self, input: crate::types::Tag) -> Self {
257        let mut v = self.tags.unwrap_or_default();
258        v.push(input);
259        self.tags = ::std::option::Option::Some(v);
260        self
261    }
262    /// <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>
263    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
264        self.tags = input;
265        self
266    }
267    /// <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>
268    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
269        &self.tags
270    }
271    /// Consumes the builder and constructs a [`CreateSolutionInput`](crate::operation::create_solution::CreateSolutionInput).
272    pub fn build(
273        self,
274    ) -> ::std::result::Result<crate::operation::create_solution::CreateSolutionInput, ::aws_smithy_types::error::operation::BuildError> {
275        ::std::result::Result::Ok(crate::operation::create_solution::CreateSolutionInput {
276            name: self.name,
277            perform_hpo: self.perform_hpo,
278            perform_auto_ml: self.perform_auto_ml,
279            perform_auto_training: self.perform_auto_training,
280            recipe_arn: self.recipe_arn,
281            dataset_group_arn: self.dataset_group_arn,
282            event_type: self.event_type,
283            solution_config: self.solution_config,
284            tags: self.tags,
285        })
286    }
287}