/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Personalize { namespace Model { /** *

Describes a custom algorithm.

See Also:

AWS * API Reference

*/ class Algorithm { public: AWS_PERSONALIZE_API Algorithm(); AWS_PERSONALIZE_API Algorithm(Aws::Utils::Json::JsonView jsonValue); AWS_PERSONALIZE_API Algorithm& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PERSONALIZE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the algorithm.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the algorithm.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the algorithm.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the algorithm.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the algorithm.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the algorithm.

*/ inline Algorithm& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the algorithm.

*/ inline Algorithm& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the algorithm.

*/ inline Algorithm& WithName(const char* value) { SetName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline const Aws::String& GetAlgorithmArn() const{ return m_algorithmArn; } /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline bool AlgorithmArnHasBeenSet() const { return m_algorithmArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline void SetAlgorithmArn(const Aws::String& value) { m_algorithmArnHasBeenSet = true; m_algorithmArn = value; } /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline void SetAlgorithmArn(Aws::String&& value) { m_algorithmArnHasBeenSet = true; m_algorithmArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline void SetAlgorithmArn(const char* value) { m_algorithmArnHasBeenSet = true; m_algorithmArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline Algorithm& WithAlgorithmArn(const Aws::String& value) { SetAlgorithmArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline Algorithm& WithAlgorithmArn(Aws::String&& value) { SetAlgorithmArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the algorithm.

*/ inline Algorithm& WithAlgorithmArn(const char* value) { SetAlgorithmArn(value); return *this;} /** *

The URI of the Docker container for the algorithm image.

*/ inline const AlgorithmImage& GetAlgorithmImage() const{ return m_algorithmImage; } /** *

The URI of the Docker container for the algorithm image.

*/ inline bool AlgorithmImageHasBeenSet() const { return m_algorithmImageHasBeenSet; } /** *

The URI of the Docker container for the algorithm image.

*/ inline void SetAlgorithmImage(const AlgorithmImage& value) { m_algorithmImageHasBeenSet = true; m_algorithmImage = value; } /** *

The URI of the Docker container for the algorithm image.

*/ inline void SetAlgorithmImage(AlgorithmImage&& value) { m_algorithmImageHasBeenSet = true; m_algorithmImage = std::move(value); } /** *

The URI of the Docker container for the algorithm image.

*/ inline Algorithm& WithAlgorithmImage(const AlgorithmImage& value) { SetAlgorithmImage(value); return *this;} /** *

The URI of the Docker container for the algorithm image.

*/ inline Algorithm& WithAlgorithmImage(AlgorithmImage&& value) { SetAlgorithmImage(std::move(value)); return *this;} /** *

Specifies the default hyperparameters.

*/ inline const Aws::Map& GetDefaultHyperParameters() const{ return m_defaultHyperParameters; } /** *

Specifies the default hyperparameters.

*/ inline bool DefaultHyperParametersHasBeenSet() const { return m_defaultHyperParametersHasBeenSet; } /** *

Specifies the default hyperparameters.

*/ inline void SetDefaultHyperParameters(const Aws::Map& value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters = value; } /** *

Specifies the default hyperparameters.

*/ inline void SetDefaultHyperParameters(Aws::Map&& value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters = std::move(value); } /** *

Specifies the default hyperparameters.

*/ inline Algorithm& WithDefaultHyperParameters(const Aws::Map& value) { SetDefaultHyperParameters(value); return *this;} /** *

Specifies the default hyperparameters.

*/ inline Algorithm& WithDefaultHyperParameters(Aws::Map&& value) { SetDefaultHyperParameters(std::move(value)); return *this;} /** *

Specifies the default hyperparameters.

*/ inline Algorithm& AddDefaultHyperParameters(const Aws::String& key, const Aws::String& value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters.emplace(key, value); return *this; } /** *

Specifies the default hyperparameters.

*/ inline Algorithm& AddDefaultHyperParameters(Aws::String&& key, const Aws::String& value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters.emplace(std::move(key), value); return *this; } /** *

Specifies the default hyperparameters.

*/ inline Algorithm& AddDefaultHyperParameters(const Aws::String& key, Aws::String&& value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters.emplace(key, std::move(value)); return *this; } /** *

Specifies the default hyperparameters.

*/ inline Algorithm& AddDefaultHyperParameters(Aws::String&& key, Aws::String&& value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the default hyperparameters.

*/ inline Algorithm& AddDefaultHyperParameters(const char* key, Aws::String&& value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters.emplace(key, std::move(value)); return *this; } /** *

Specifies the default hyperparameters.

*/ inline Algorithm& AddDefaultHyperParameters(Aws::String&& key, const char* value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters.emplace(std::move(key), value); return *this; } /** *

Specifies the default hyperparameters.

*/ inline Algorithm& AddDefaultHyperParameters(const char* key, const char* value) { m_defaultHyperParametersHasBeenSet = true; m_defaultHyperParameters.emplace(key, value); return *this; } /** *

Specifies the default hyperparameters, their ranges, and whether they are * tunable. A tunable hyperparameter can have its value determined during * hyperparameter optimization (HPO).

*/ inline const DefaultHyperParameterRanges& GetDefaultHyperParameterRanges() const{ return m_defaultHyperParameterRanges; } /** *

Specifies the default hyperparameters, their ranges, and whether they are * tunable. A tunable hyperparameter can have its value determined during * hyperparameter optimization (HPO).

*/ inline bool DefaultHyperParameterRangesHasBeenSet() const { return m_defaultHyperParameterRangesHasBeenSet; } /** *

Specifies the default hyperparameters, their ranges, and whether they are * tunable. A tunable hyperparameter can have its value determined during * hyperparameter optimization (HPO).

*/ inline void SetDefaultHyperParameterRanges(const DefaultHyperParameterRanges& value) { m_defaultHyperParameterRangesHasBeenSet = true; m_defaultHyperParameterRanges = value; } /** *

Specifies the default hyperparameters, their ranges, and whether they are * tunable. A tunable hyperparameter can have its value determined during * hyperparameter optimization (HPO).

*/ inline void SetDefaultHyperParameterRanges(DefaultHyperParameterRanges&& value) { m_defaultHyperParameterRangesHasBeenSet = true; m_defaultHyperParameterRanges = std::move(value); } /** *

Specifies the default hyperparameters, their ranges, and whether they are * tunable. A tunable hyperparameter can have its value determined during * hyperparameter optimization (HPO).

*/ inline Algorithm& WithDefaultHyperParameterRanges(const DefaultHyperParameterRanges& value) { SetDefaultHyperParameterRanges(value); return *this;} /** *

Specifies the default hyperparameters, their ranges, and whether they are * tunable. A tunable hyperparameter can have its value determined during * hyperparameter optimization (HPO).

*/ inline Algorithm& WithDefaultHyperParameterRanges(DefaultHyperParameterRanges&& value) { SetDefaultHyperParameterRanges(std::move(value)); return *this;} /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline const Aws::Map& GetDefaultResourceConfig() const{ return m_defaultResourceConfig; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline bool DefaultResourceConfigHasBeenSet() const { return m_defaultResourceConfigHasBeenSet; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline void SetDefaultResourceConfig(const Aws::Map& value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig = value; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline void SetDefaultResourceConfig(Aws::Map&& value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig = std::move(value); } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& WithDefaultResourceConfig(const Aws::Map& value) { SetDefaultResourceConfig(value); return *this;} /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& WithDefaultResourceConfig(Aws::Map&& value) { SetDefaultResourceConfig(std::move(value)); return *this;} /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& AddDefaultResourceConfig(const Aws::String& key, const Aws::String& value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig.emplace(key, value); return *this; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& AddDefaultResourceConfig(Aws::String&& key, const Aws::String& value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig.emplace(std::move(key), value); return *this; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& AddDefaultResourceConfig(const Aws::String& key, Aws::String&& value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig.emplace(key, std::move(value)); return *this; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& AddDefaultResourceConfig(Aws::String&& key, Aws::String&& value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig.emplace(std::move(key), std::move(value)); return *this; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& AddDefaultResourceConfig(const char* key, Aws::String&& value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig.emplace(key, std::move(value)); return *this; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& AddDefaultResourceConfig(Aws::String&& key, const char* value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig.emplace(std::move(key), value); return *this; } /** *

Specifies the default maximum number of training jobs and parallel training * jobs.

*/ inline Algorithm& AddDefaultResourceConfig(const char* key, const char* value) { m_defaultResourceConfigHasBeenSet = true; m_defaultResourceConfig.emplace(key, value); return *this; } /** *

The training input mode.

*/ inline const Aws::String& GetTrainingInputMode() const{ return m_trainingInputMode; } /** *

The training input mode.

*/ inline bool TrainingInputModeHasBeenSet() const { return m_trainingInputModeHasBeenSet; } /** *

The training input mode.

*/ inline void SetTrainingInputMode(const Aws::String& value) { m_trainingInputModeHasBeenSet = true; m_trainingInputMode = value; } /** *

The training input mode.

*/ inline void SetTrainingInputMode(Aws::String&& value) { m_trainingInputModeHasBeenSet = true; m_trainingInputMode = std::move(value); } /** *

The training input mode.

*/ inline void SetTrainingInputMode(const char* value) { m_trainingInputModeHasBeenSet = true; m_trainingInputMode.assign(value); } /** *

The training input mode.

*/ inline Algorithm& WithTrainingInputMode(const Aws::String& value) { SetTrainingInputMode(value); return *this;} /** *

The training input mode.

*/ inline Algorithm& WithTrainingInputMode(Aws::String&& value) { SetTrainingInputMode(std::move(value)); return *this;} /** *

The training input mode.

*/ inline Algorithm& WithTrainingInputMode(const char* value) { SetTrainingInputMode(value); return *this;} /** *

The Amazon Resource Name (ARN) of the role.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the role.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the role.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the role.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the role.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the role.

*/ inline Algorithm& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the role.

*/ inline Algorithm& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the role.

*/ inline Algorithm& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The date and time (in Unix time) that the algorithm was created.

*/ inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } /** *

The date and time (in Unix time) that the algorithm was created.

*/ inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } /** *

The date and time (in Unix time) that the algorithm was created.

*/ inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } /** *

The date and time (in Unix time) that the algorithm was created.

*/ inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } /** *

The date and time (in Unix time) that the algorithm was created.

*/ inline Algorithm& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} /** *

The date and time (in Unix time) that the algorithm was created.

*/ inline Algorithm& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;} /** *

The date and time (in Unix time) that the algorithm was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } /** *

The date and time (in Unix time) that the algorithm was last updated.

*/ inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } /** *

The date and time (in Unix time) that the algorithm was last updated.

*/ inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } /** *

The date and time (in Unix time) that the algorithm was last updated.

*/ inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } /** *

The date and time (in Unix time) that the algorithm was last updated.

*/ inline Algorithm& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} /** *

The date and time (in Unix time) that the algorithm was last updated.

*/ inline Algorithm& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_algorithmArn; bool m_algorithmArnHasBeenSet = false; AlgorithmImage m_algorithmImage; bool m_algorithmImageHasBeenSet = false; Aws::Map m_defaultHyperParameters; bool m_defaultHyperParametersHasBeenSet = false; DefaultHyperParameterRanges m_defaultHyperParameterRanges; bool m_defaultHyperParameterRangesHasBeenSet = false; Aws::Map m_defaultResourceConfig; bool m_defaultResourceConfigHasBeenSet = false; Aws::String m_trainingInputMode; bool m_trainingInputModeHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Utils::DateTime m_creationDateTime; bool m_creationDateTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedDateTime; bool m_lastUpdatedDateTimeHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws