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/AWSString.h> 9 #include <aws/personalize/model/SolutionConfig.h> 10 #include <aws/personalize/model/TrainingMode.h> 11 #include <aws/personalize/model/TunedHPOParams.h> 12 #include <aws/core/utils/DateTime.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace Personalize 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>An object that provides information about a specific version of a 32 * <a>Solution</a>.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/SolutionVersion">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_PERSONALIZE_API SolutionVersion 37 { 38 public: 39 SolutionVersion(); 40 SolutionVersion(Aws::Utils::Json::JsonView jsonValue); 41 SolutionVersion& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The ARN of the solution version.</p> 47 */ GetSolutionVersionArn()48 inline const Aws::String& GetSolutionVersionArn() const{ return m_solutionVersionArn; } 49 50 /** 51 * <p>The ARN of the solution version.</p> 52 */ SolutionVersionArnHasBeenSet()53 inline bool SolutionVersionArnHasBeenSet() const { return m_solutionVersionArnHasBeenSet; } 54 55 /** 56 * <p>The ARN of the solution version.</p> 57 */ SetSolutionVersionArn(const Aws::String & value)58 inline void SetSolutionVersionArn(const Aws::String& value) { m_solutionVersionArnHasBeenSet = true; m_solutionVersionArn = value; } 59 60 /** 61 * <p>The ARN of the solution version.</p> 62 */ SetSolutionVersionArn(Aws::String && value)63 inline void SetSolutionVersionArn(Aws::String&& value) { m_solutionVersionArnHasBeenSet = true; m_solutionVersionArn = std::move(value); } 64 65 /** 66 * <p>The ARN of the solution version.</p> 67 */ SetSolutionVersionArn(const char * value)68 inline void SetSolutionVersionArn(const char* value) { m_solutionVersionArnHasBeenSet = true; m_solutionVersionArn.assign(value); } 69 70 /** 71 * <p>The ARN of the solution version.</p> 72 */ WithSolutionVersionArn(const Aws::String & value)73 inline SolutionVersion& WithSolutionVersionArn(const Aws::String& value) { SetSolutionVersionArn(value); return *this;} 74 75 /** 76 * <p>The ARN of the solution version.</p> 77 */ WithSolutionVersionArn(Aws::String && value)78 inline SolutionVersion& WithSolutionVersionArn(Aws::String&& value) { SetSolutionVersionArn(std::move(value)); return *this;} 79 80 /** 81 * <p>The ARN of the solution version.</p> 82 */ WithSolutionVersionArn(const char * value)83 inline SolutionVersion& WithSolutionVersionArn(const char* value) { SetSolutionVersionArn(value); return *this;} 84 85 86 /** 87 * <p>The ARN of the solution.</p> 88 */ GetSolutionArn()89 inline const Aws::String& GetSolutionArn() const{ return m_solutionArn; } 90 91 /** 92 * <p>The ARN of the solution.</p> 93 */ SolutionArnHasBeenSet()94 inline bool SolutionArnHasBeenSet() const { return m_solutionArnHasBeenSet; } 95 96 /** 97 * <p>The ARN of the solution.</p> 98 */ SetSolutionArn(const Aws::String & value)99 inline void SetSolutionArn(const Aws::String& value) { m_solutionArnHasBeenSet = true; m_solutionArn = value; } 100 101 /** 102 * <p>The ARN of the solution.</p> 103 */ SetSolutionArn(Aws::String && value)104 inline void SetSolutionArn(Aws::String&& value) { m_solutionArnHasBeenSet = true; m_solutionArn = std::move(value); } 105 106 /** 107 * <p>The ARN of the solution.</p> 108 */ SetSolutionArn(const char * value)109 inline void SetSolutionArn(const char* value) { m_solutionArnHasBeenSet = true; m_solutionArn.assign(value); } 110 111 /** 112 * <p>The ARN of the solution.</p> 113 */ WithSolutionArn(const Aws::String & value)114 inline SolutionVersion& WithSolutionArn(const Aws::String& value) { SetSolutionArn(value); return *this;} 115 116 /** 117 * <p>The ARN of the solution.</p> 118 */ WithSolutionArn(Aws::String && value)119 inline SolutionVersion& WithSolutionArn(Aws::String&& value) { SetSolutionArn(std::move(value)); return *this;} 120 121 /** 122 * <p>The ARN of the solution.</p> 123 */ WithSolutionArn(const char * value)124 inline SolutionVersion& WithSolutionArn(const char* value) { SetSolutionArn(value); return *this;} 125 126 127 /** 128 * <p>Whether to perform hyperparameter optimization (HPO) on the chosen recipe. 129 * The default is <code>false</code>.</p> 130 */ GetPerformHPO()131 inline bool GetPerformHPO() const{ return m_performHPO; } 132 133 /** 134 * <p>Whether to perform hyperparameter optimization (HPO) on the chosen recipe. 135 * The default is <code>false</code>.</p> 136 */ PerformHPOHasBeenSet()137 inline bool PerformHPOHasBeenSet() const { return m_performHPOHasBeenSet; } 138 139 /** 140 * <p>Whether to perform hyperparameter optimization (HPO) on the chosen recipe. 141 * The default is <code>false</code>.</p> 142 */ SetPerformHPO(bool value)143 inline void SetPerformHPO(bool value) { m_performHPOHasBeenSet = true; m_performHPO = value; } 144 145 /** 146 * <p>Whether to perform hyperparameter optimization (HPO) on the chosen recipe. 147 * The default is <code>false</code>.</p> 148 */ WithPerformHPO(bool value)149 inline SolutionVersion& WithPerformHPO(bool value) { SetPerformHPO(value); return *this;} 150 151 152 /** 153 * <p>When true, Amazon Personalize searches for the most optimal recipe according 154 * to the solution configuration. When false (the default), Amazon Personalize uses 155 * <code>recipeArn</code>.</p> 156 */ GetPerformAutoML()157 inline bool GetPerformAutoML() const{ return m_performAutoML; } 158 159 /** 160 * <p>When true, Amazon Personalize searches for the most optimal recipe according 161 * to the solution configuration. When false (the default), Amazon Personalize uses 162 * <code>recipeArn</code>.</p> 163 */ PerformAutoMLHasBeenSet()164 inline bool PerformAutoMLHasBeenSet() const { return m_performAutoMLHasBeenSet; } 165 166 /** 167 * <p>When true, Amazon Personalize searches for the most optimal recipe according 168 * to the solution configuration. When false (the default), Amazon Personalize uses 169 * <code>recipeArn</code>.</p> 170 */ SetPerformAutoML(bool value)171 inline void SetPerformAutoML(bool value) { m_performAutoMLHasBeenSet = true; m_performAutoML = value; } 172 173 /** 174 * <p>When true, Amazon Personalize searches for the most optimal recipe according 175 * to the solution configuration. When false (the default), Amazon Personalize uses 176 * <code>recipeArn</code>.</p> 177 */ WithPerformAutoML(bool value)178 inline SolutionVersion& WithPerformAutoML(bool value) { SetPerformAutoML(value); return *this;} 179 180 181 /** 182 * <p>The ARN of the recipe used in the solution.</p> 183 */ GetRecipeArn()184 inline const Aws::String& GetRecipeArn() const{ return m_recipeArn; } 185 186 /** 187 * <p>The ARN of the recipe used in the solution.</p> 188 */ RecipeArnHasBeenSet()189 inline bool RecipeArnHasBeenSet() const { return m_recipeArnHasBeenSet; } 190 191 /** 192 * <p>The ARN of the recipe used in the solution.</p> 193 */ SetRecipeArn(const Aws::String & value)194 inline void SetRecipeArn(const Aws::String& value) { m_recipeArnHasBeenSet = true; m_recipeArn = value; } 195 196 /** 197 * <p>The ARN of the recipe used in the solution.</p> 198 */ SetRecipeArn(Aws::String && value)199 inline void SetRecipeArn(Aws::String&& value) { m_recipeArnHasBeenSet = true; m_recipeArn = std::move(value); } 200 201 /** 202 * <p>The ARN of the recipe used in the solution.</p> 203 */ SetRecipeArn(const char * value)204 inline void SetRecipeArn(const char* value) { m_recipeArnHasBeenSet = true; m_recipeArn.assign(value); } 205 206 /** 207 * <p>The ARN of the recipe used in the solution.</p> 208 */ WithRecipeArn(const Aws::String & value)209 inline SolutionVersion& WithRecipeArn(const Aws::String& value) { SetRecipeArn(value); return *this;} 210 211 /** 212 * <p>The ARN of the recipe used in the solution.</p> 213 */ WithRecipeArn(Aws::String && value)214 inline SolutionVersion& WithRecipeArn(Aws::String&& value) { SetRecipeArn(std::move(value)); return *this;} 215 216 /** 217 * <p>The ARN of the recipe used in the solution.</p> 218 */ WithRecipeArn(const char * value)219 inline SolutionVersion& WithRecipeArn(const char* value) { SetRecipeArn(value); return *this;} 220 221 222 /** 223 * <p>The event type (for example, 'click' or 'like') that is used for training the 224 * model.</p> 225 */ GetEventType()226 inline const Aws::String& GetEventType() const{ return m_eventType; } 227 228 /** 229 * <p>The event type (for example, 'click' or 'like') that is used for training the 230 * model.</p> 231 */ EventTypeHasBeenSet()232 inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } 233 234 /** 235 * <p>The event type (for example, 'click' or 'like') that is used for training the 236 * model.</p> 237 */ SetEventType(const Aws::String & value)238 inline void SetEventType(const Aws::String& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } 239 240 /** 241 * <p>The event type (for example, 'click' or 'like') that is used for training the 242 * model.</p> 243 */ SetEventType(Aws::String && value)244 inline void SetEventType(Aws::String&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } 245 246 /** 247 * <p>The event type (for example, 'click' or 'like') that is used for training the 248 * model.</p> 249 */ SetEventType(const char * value)250 inline void SetEventType(const char* value) { m_eventTypeHasBeenSet = true; m_eventType.assign(value); } 251 252 /** 253 * <p>The event type (for example, 'click' or 'like') that is used for training the 254 * model.</p> 255 */ WithEventType(const Aws::String & value)256 inline SolutionVersion& WithEventType(const Aws::String& value) { SetEventType(value); return *this;} 257 258 /** 259 * <p>The event type (for example, 'click' or 'like') that is used for training the 260 * model.</p> 261 */ WithEventType(Aws::String && value)262 inline SolutionVersion& WithEventType(Aws::String&& value) { SetEventType(std::move(value)); return *this;} 263 264 /** 265 * <p>The event type (for example, 'click' or 'like') that is used for training the 266 * model.</p> 267 */ WithEventType(const char * value)268 inline SolutionVersion& WithEventType(const char* value) { SetEventType(value); return *this;} 269 270 271 /** 272 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 273 * data.</p> 274 */ GetDatasetGroupArn()275 inline const Aws::String& GetDatasetGroupArn() const{ return m_datasetGroupArn; } 276 277 /** 278 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 279 * data.</p> 280 */ DatasetGroupArnHasBeenSet()281 inline bool DatasetGroupArnHasBeenSet() const { return m_datasetGroupArnHasBeenSet; } 282 283 /** 284 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 285 * data.</p> 286 */ SetDatasetGroupArn(const Aws::String & value)287 inline void SetDatasetGroupArn(const Aws::String& value) { m_datasetGroupArnHasBeenSet = true; m_datasetGroupArn = value; } 288 289 /** 290 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 291 * data.</p> 292 */ SetDatasetGroupArn(Aws::String && value)293 inline void SetDatasetGroupArn(Aws::String&& value) { m_datasetGroupArnHasBeenSet = true; m_datasetGroupArn = std::move(value); } 294 295 /** 296 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 297 * data.</p> 298 */ SetDatasetGroupArn(const char * value)299 inline void SetDatasetGroupArn(const char* value) { m_datasetGroupArnHasBeenSet = true; m_datasetGroupArn.assign(value); } 300 301 /** 302 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 303 * data.</p> 304 */ WithDatasetGroupArn(const Aws::String & value)305 inline SolutionVersion& WithDatasetGroupArn(const Aws::String& value) { SetDatasetGroupArn(value); return *this;} 306 307 /** 308 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 309 * data.</p> 310 */ WithDatasetGroupArn(Aws::String && value)311 inline SolutionVersion& WithDatasetGroupArn(Aws::String&& value) { SetDatasetGroupArn(std::move(value)); return *this;} 312 313 /** 314 * <p>The Amazon Resource Name (ARN) of the dataset group providing the training 315 * data.</p> 316 */ WithDatasetGroupArn(const char * value)317 inline SolutionVersion& WithDatasetGroupArn(const char* value) { SetDatasetGroupArn(value); return *this;} 318 319 320 /** 321 * <p>Describes the configuration properties for the solution.</p> 322 */ GetSolutionConfig()323 inline const SolutionConfig& GetSolutionConfig() const{ return m_solutionConfig; } 324 325 /** 326 * <p>Describes the configuration properties for the solution.</p> 327 */ SolutionConfigHasBeenSet()328 inline bool SolutionConfigHasBeenSet() const { return m_solutionConfigHasBeenSet; } 329 330 /** 331 * <p>Describes the configuration properties for the solution.</p> 332 */ SetSolutionConfig(const SolutionConfig & value)333 inline void SetSolutionConfig(const SolutionConfig& value) { m_solutionConfigHasBeenSet = true; m_solutionConfig = value; } 334 335 /** 336 * <p>Describes the configuration properties for the solution.</p> 337 */ SetSolutionConfig(SolutionConfig && value)338 inline void SetSolutionConfig(SolutionConfig&& value) { m_solutionConfigHasBeenSet = true; m_solutionConfig = std::move(value); } 339 340 /** 341 * <p>Describes the configuration properties for the solution.</p> 342 */ WithSolutionConfig(const SolutionConfig & value)343 inline SolutionVersion& WithSolutionConfig(const SolutionConfig& value) { SetSolutionConfig(value); return *this;} 344 345 /** 346 * <p>Describes the configuration properties for the solution.</p> 347 */ WithSolutionConfig(SolutionConfig && value)348 inline SolutionVersion& WithSolutionConfig(SolutionConfig&& value) { SetSolutionConfig(std::move(value)); return *this;} 349 350 351 /** 352 * <p>The time used to train the model. You are billed for the time it takes to 353 * train a model. This field is visible only after Amazon Personalize successfully 354 * trains a model.</p> 355 */ GetTrainingHours()356 inline double GetTrainingHours() const{ return m_trainingHours; } 357 358 /** 359 * <p>The time used to train the model. You are billed for the time it takes to 360 * train a model. This field is visible only after Amazon Personalize successfully 361 * trains a model.</p> 362 */ TrainingHoursHasBeenSet()363 inline bool TrainingHoursHasBeenSet() const { return m_trainingHoursHasBeenSet; } 364 365 /** 366 * <p>The time used to train the model. You are billed for the time it takes to 367 * train a model. This field is visible only after Amazon Personalize successfully 368 * trains a model.</p> 369 */ SetTrainingHours(double value)370 inline void SetTrainingHours(double value) { m_trainingHoursHasBeenSet = true; m_trainingHours = value; } 371 372 /** 373 * <p>The time used to train the model. You are billed for the time it takes to 374 * train a model. This field is visible only after Amazon Personalize successfully 375 * trains a model.</p> 376 */ WithTrainingHours(double value)377 inline SolutionVersion& WithTrainingHours(double value) { SetTrainingHours(value); return *this;} 378 379 380 /** 381 * <p>The scope of training to be performed when creating the solution version. The 382 * <code>FULL</code> option trains the solution version based on the entirety of 383 * the input solution's training data, while the <code>UPDATE</code> option 384 * processes only the data that has changed in comparison to the input solution. 385 * Choose <code>UPDATE</code> when you want to incrementally update your solution 386 * version instead of creating an entirely new one.</p> <p>The 387 * <code>UPDATE</code> option can only be used when you already have an active 388 * solution version created from the input solution using the <code>FULL</code> 389 * option and the input solution was trained with the <a 390 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a> 391 * recipe or the <a 392 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html">HRNN-Coldstart</a> 393 * recipe.</p> 394 */ GetTrainingMode()395 inline const TrainingMode& GetTrainingMode() const{ return m_trainingMode; } 396 397 /** 398 * <p>The scope of training to be performed when creating the solution version. The 399 * <code>FULL</code> option trains the solution version based on the entirety of 400 * the input solution's training data, while the <code>UPDATE</code> option 401 * processes only the data that has changed in comparison to the input solution. 402 * Choose <code>UPDATE</code> when you want to incrementally update your solution 403 * version instead of creating an entirely new one.</p> <p>The 404 * <code>UPDATE</code> option can only be used when you already have an active 405 * solution version created from the input solution using the <code>FULL</code> 406 * option and the input solution was trained with the <a 407 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a> 408 * recipe or the <a 409 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html">HRNN-Coldstart</a> 410 * recipe.</p> 411 */ TrainingModeHasBeenSet()412 inline bool TrainingModeHasBeenSet() const { return m_trainingModeHasBeenSet; } 413 414 /** 415 * <p>The scope of training to be performed when creating the solution version. The 416 * <code>FULL</code> option trains the solution version based on the entirety of 417 * the input solution's training data, while the <code>UPDATE</code> option 418 * processes only the data that has changed in comparison to the input solution. 419 * Choose <code>UPDATE</code> when you want to incrementally update your solution 420 * version instead of creating an entirely new one.</p> <p>The 421 * <code>UPDATE</code> option can only be used when you already have an active 422 * solution version created from the input solution using the <code>FULL</code> 423 * option and the input solution was trained with the <a 424 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a> 425 * recipe or the <a 426 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html">HRNN-Coldstart</a> 427 * recipe.</p> 428 */ SetTrainingMode(const TrainingMode & value)429 inline void SetTrainingMode(const TrainingMode& value) { m_trainingModeHasBeenSet = true; m_trainingMode = value; } 430 431 /** 432 * <p>The scope of training to be performed when creating the solution version. The 433 * <code>FULL</code> option trains the solution version based on the entirety of 434 * the input solution's training data, while the <code>UPDATE</code> option 435 * processes only the data that has changed in comparison to the input solution. 436 * Choose <code>UPDATE</code> when you want to incrementally update your solution 437 * version instead of creating an entirely new one.</p> <p>The 438 * <code>UPDATE</code> option can only be used when you already have an active 439 * solution version created from the input solution using the <code>FULL</code> 440 * option and the input solution was trained with the <a 441 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a> 442 * recipe or the <a 443 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html">HRNN-Coldstart</a> 444 * recipe.</p> 445 */ SetTrainingMode(TrainingMode && value)446 inline void SetTrainingMode(TrainingMode&& value) { m_trainingModeHasBeenSet = true; m_trainingMode = std::move(value); } 447 448 /** 449 * <p>The scope of training to be performed when creating the solution version. The 450 * <code>FULL</code> option trains the solution version based on the entirety of 451 * the input solution's training data, while the <code>UPDATE</code> option 452 * processes only the data that has changed in comparison to the input solution. 453 * Choose <code>UPDATE</code> when you want to incrementally update your solution 454 * version instead of creating an entirely new one.</p> <p>The 455 * <code>UPDATE</code> option can only be used when you already have an active 456 * solution version created from the input solution using the <code>FULL</code> 457 * option and the input solution was trained with the <a 458 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a> 459 * recipe or the <a 460 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html">HRNN-Coldstart</a> 461 * recipe.</p> 462 */ WithTrainingMode(const TrainingMode & value)463 inline SolutionVersion& WithTrainingMode(const TrainingMode& value) { SetTrainingMode(value); return *this;} 464 465 /** 466 * <p>The scope of training to be performed when creating the solution version. The 467 * <code>FULL</code> option trains the solution version based on the entirety of 468 * the input solution's training data, while the <code>UPDATE</code> option 469 * processes only the data that has changed in comparison to the input solution. 470 * Choose <code>UPDATE</code> when you want to incrementally update your solution 471 * version instead of creating an entirely new one.</p> <p>The 472 * <code>UPDATE</code> option can only be used when you already have an active 473 * solution version created from the input solution using the <code>FULL</code> 474 * option and the input solution was trained with the <a 475 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-new-item-USER_PERSONALIZATION.html">User-Personalization</a> 476 * recipe or the <a 477 * href="https://docs.aws.amazon.com/personalize/latest/dg/native-recipe-hrnn-coldstart.html">HRNN-Coldstart</a> 478 * recipe.</p> 479 */ WithTrainingMode(TrainingMode && value)480 inline SolutionVersion& WithTrainingMode(TrainingMode&& value) { SetTrainingMode(std::move(value)); return *this;} 481 482 483 /** 484 * <p>If hyperparameter optimization was performed, contains the hyperparameter 485 * values of the best performing model.</p> 486 */ GetTunedHPOParams()487 inline const TunedHPOParams& GetTunedHPOParams() const{ return m_tunedHPOParams; } 488 489 /** 490 * <p>If hyperparameter optimization was performed, contains the hyperparameter 491 * values of the best performing model.</p> 492 */ TunedHPOParamsHasBeenSet()493 inline bool TunedHPOParamsHasBeenSet() const { return m_tunedHPOParamsHasBeenSet; } 494 495 /** 496 * <p>If hyperparameter optimization was performed, contains the hyperparameter 497 * values of the best performing model.</p> 498 */ SetTunedHPOParams(const TunedHPOParams & value)499 inline void SetTunedHPOParams(const TunedHPOParams& value) { m_tunedHPOParamsHasBeenSet = true; m_tunedHPOParams = value; } 500 501 /** 502 * <p>If hyperparameter optimization was performed, contains the hyperparameter 503 * values of the best performing model.</p> 504 */ SetTunedHPOParams(TunedHPOParams && value)505 inline void SetTunedHPOParams(TunedHPOParams&& value) { m_tunedHPOParamsHasBeenSet = true; m_tunedHPOParams = std::move(value); } 506 507 /** 508 * <p>If hyperparameter optimization was performed, contains the hyperparameter 509 * values of the best performing model.</p> 510 */ WithTunedHPOParams(const TunedHPOParams & value)511 inline SolutionVersion& WithTunedHPOParams(const TunedHPOParams& value) { SetTunedHPOParams(value); return *this;} 512 513 /** 514 * <p>If hyperparameter optimization was performed, contains the hyperparameter 515 * values of the best performing model.</p> 516 */ WithTunedHPOParams(TunedHPOParams && value)517 inline SolutionVersion& WithTunedHPOParams(TunedHPOParams&& value) { SetTunedHPOParams(std::move(value)); return *this;} 518 519 520 /** 521 * <p>The status of the solution version.</p> <p>A solution version can be in one 522 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 523 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 524 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 525 * </li> </ul> 526 */ GetStatus()527 inline const Aws::String& GetStatus() const{ return m_status; } 528 529 /** 530 * <p>The status of the solution version.</p> <p>A solution version can be in one 531 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 532 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 533 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 534 * </li> </ul> 535 */ StatusHasBeenSet()536 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 537 538 /** 539 * <p>The status of the solution version.</p> <p>A solution version can be in one 540 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 541 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 542 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 543 * </li> </ul> 544 */ SetStatus(const Aws::String & value)545 inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } 546 547 /** 548 * <p>The status of the solution version.</p> <p>A solution version can be in one 549 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 550 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 551 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 552 * </li> </ul> 553 */ SetStatus(Aws::String && value)554 inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 555 556 /** 557 * <p>The status of the solution version.</p> <p>A solution version can be in one 558 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 559 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 560 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 561 * </li> </ul> 562 */ SetStatus(const char * value)563 inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } 564 565 /** 566 * <p>The status of the solution version.</p> <p>A solution version can be in one 567 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 568 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 569 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 570 * </li> </ul> 571 */ WithStatus(const Aws::String & value)572 inline SolutionVersion& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} 573 574 /** 575 * <p>The status of the solution version.</p> <p>A solution version can be in one 576 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 577 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 578 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 579 * </li> </ul> 580 */ WithStatus(Aws::String && value)581 inline SolutionVersion& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} 582 583 /** 584 * <p>The status of the solution version.</p> <p>A solution version can be in one 585 * of the following states:</p> <ul> <li> <p>CREATE PENDING</p> </li> <li> 586 * <p>CREATE IN_PROGRESS</p> </li> <li> <p>ACTIVE</p> </li> <li> <p>CREATE 587 * FAILED</p> </li> <li> <p>CREATE STOPPING</p> </li> <li> <p>CREATE STOPPED</p> 588 * </li> </ul> 589 */ WithStatus(const char * value)590 inline SolutionVersion& WithStatus(const char* value) { SetStatus(value); return *this;} 591 592 593 /** 594 * <p>If training a solution version fails, the reason for the failure.</p> 595 */ GetFailureReason()596 inline const Aws::String& GetFailureReason() const{ return m_failureReason; } 597 598 /** 599 * <p>If training a solution version fails, the reason for the failure.</p> 600 */ FailureReasonHasBeenSet()601 inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } 602 603 /** 604 * <p>If training a solution version fails, the reason for the failure.</p> 605 */ SetFailureReason(const Aws::String & value)606 inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } 607 608 /** 609 * <p>If training a solution version fails, the reason for the failure.</p> 610 */ SetFailureReason(Aws::String && value)611 inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } 612 613 /** 614 * <p>If training a solution version fails, the reason for the failure.</p> 615 */ SetFailureReason(const char * value)616 inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } 617 618 /** 619 * <p>If training a solution version fails, the reason for the failure.</p> 620 */ WithFailureReason(const Aws::String & value)621 inline SolutionVersion& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} 622 623 /** 624 * <p>If training a solution version fails, the reason for the failure.</p> 625 */ WithFailureReason(Aws::String && value)626 inline SolutionVersion& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} 627 628 /** 629 * <p>If training a solution version fails, the reason for the failure.</p> 630 */ WithFailureReason(const char * value)631 inline SolutionVersion& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} 632 633 634 /** 635 * <p>The date and time (in Unix time) that this version of the solution was 636 * created.</p> 637 */ GetCreationDateTime()638 inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } 639 640 /** 641 * <p>The date and time (in Unix time) that this version of the solution was 642 * created.</p> 643 */ CreationDateTimeHasBeenSet()644 inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } 645 646 /** 647 * <p>The date and time (in Unix time) that this version of the solution was 648 * created.</p> 649 */ SetCreationDateTime(const Aws::Utils::DateTime & value)650 inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } 651 652 /** 653 * <p>The date and time (in Unix time) that this version of the solution was 654 * created.</p> 655 */ SetCreationDateTime(Aws::Utils::DateTime && value)656 inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } 657 658 /** 659 * <p>The date and time (in Unix time) that this version of the solution was 660 * created.</p> 661 */ WithCreationDateTime(const Aws::Utils::DateTime & value)662 inline SolutionVersion& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} 663 664 /** 665 * <p>The date and time (in Unix time) that this version of the solution was 666 * created.</p> 667 */ WithCreationDateTime(Aws::Utils::DateTime && value)668 inline SolutionVersion& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;} 669 670 671 /** 672 * <p>The date and time (in Unix time) that the solution was last updated.</p> 673 */ GetLastUpdatedDateTime()674 inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } 675 676 /** 677 * <p>The date and time (in Unix time) that the solution was last updated.</p> 678 */ LastUpdatedDateTimeHasBeenSet()679 inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } 680 681 /** 682 * <p>The date and time (in Unix time) that the solution was last updated.</p> 683 */ SetLastUpdatedDateTime(const Aws::Utils::DateTime & value)684 inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } 685 686 /** 687 * <p>The date and time (in Unix time) that the solution was last updated.</p> 688 */ SetLastUpdatedDateTime(Aws::Utils::DateTime && value)689 inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } 690 691 /** 692 * <p>The date and time (in Unix time) that the solution was last updated.</p> 693 */ WithLastUpdatedDateTime(const Aws::Utils::DateTime & value)694 inline SolutionVersion& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} 695 696 /** 697 * <p>The date and time (in Unix time) that the solution was last updated.</p> 698 */ WithLastUpdatedDateTime(Aws::Utils::DateTime && value)699 inline SolutionVersion& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;} 700 701 private: 702 703 Aws::String m_solutionVersionArn; 704 bool m_solutionVersionArnHasBeenSet; 705 706 Aws::String m_solutionArn; 707 bool m_solutionArnHasBeenSet; 708 709 bool m_performHPO; 710 bool m_performHPOHasBeenSet; 711 712 bool m_performAutoML; 713 bool m_performAutoMLHasBeenSet; 714 715 Aws::String m_recipeArn; 716 bool m_recipeArnHasBeenSet; 717 718 Aws::String m_eventType; 719 bool m_eventTypeHasBeenSet; 720 721 Aws::String m_datasetGroupArn; 722 bool m_datasetGroupArnHasBeenSet; 723 724 SolutionConfig m_solutionConfig; 725 bool m_solutionConfigHasBeenSet; 726 727 double m_trainingHours; 728 bool m_trainingHoursHasBeenSet; 729 730 TrainingMode m_trainingMode; 731 bool m_trainingModeHasBeenSet; 732 733 TunedHPOParams m_tunedHPOParams; 734 bool m_tunedHPOParamsHasBeenSet; 735 736 Aws::String m_status; 737 bool m_statusHasBeenSet; 738 739 Aws::String m_failureReason; 740 bool m_failureReasonHasBeenSet; 741 742 Aws::Utils::DateTime m_creationDateTime; 743 bool m_creationDateTimeHasBeenSet; 744 745 Aws::Utils::DateTime m_lastUpdatedDateTime; 746 bool m_lastUpdatedDateTimeHasBeenSet; 747 }; 748 749 } // namespace Model 750 } // namespace Personalize 751 } // namespace Aws 752