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

Describes the properties for hyperparameter optimization (HPO).

See * Also:

AWS * API Reference

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

The metric to optimize during HPO.

Amazon Personalize doesn't * support configuring the hpoObjective at this time.

*/ inline const HPOObjective& GetHpoObjective() const{ return m_hpoObjective; } /** *

The metric to optimize during HPO.

Amazon Personalize doesn't * support configuring the hpoObjective at this time.

*/ inline bool HpoObjectiveHasBeenSet() const { return m_hpoObjectiveHasBeenSet; } /** *

The metric to optimize during HPO.

Amazon Personalize doesn't * support configuring the hpoObjective at this time.

*/ inline void SetHpoObjective(const HPOObjective& value) { m_hpoObjectiveHasBeenSet = true; m_hpoObjective = value; } /** *

The metric to optimize during HPO.

Amazon Personalize doesn't * support configuring the hpoObjective at this time.

*/ inline void SetHpoObjective(HPOObjective&& value) { m_hpoObjectiveHasBeenSet = true; m_hpoObjective = std::move(value); } /** *

The metric to optimize during HPO.

Amazon Personalize doesn't * support configuring the hpoObjective at this time.

*/ inline HPOConfig& WithHpoObjective(const HPOObjective& value) { SetHpoObjective(value); return *this;} /** *

The metric to optimize during HPO.

Amazon Personalize doesn't * support configuring the hpoObjective at this time.

*/ inline HPOConfig& WithHpoObjective(HPOObjective&& value) { SetHpoObjective(std::move(value)); return *this;} /** *

Describes the resource configuration for HPO.

*/ inline const HPOResourceConfig& GetHpoResourceConfig() const{ return m_hpoResourceConfig; } /** *

Describes the resource configuration for HPO.

*/ inline bool HpoResourceConfigHasBeenSet() const { return m_hpoResourceConfigHasBeenSet; } /** *

Describes the resource configuration for HPO.

*/ inline void SetHpoResourceConfig(const HPOResourceConfig& value) { m_hpoResourceConfigHasBeenSet = true; m_hpoResourceConfig = value; } /** *

Describes the resource configuration for HPO.

*/ inline void SetHpoResourceConfig(HPOResourceConfig&& value) { m_hpoResourceConfigHasBeenSet = true; m_hpoResourceConfig = std::move(value); } /** *

Describes the resource configuration for HPO.

*/ inline HPOConfig& WithHpoResourceConfig(const HPOResourceConfig& value) { SetHpoResourceConfig(value); return *this;} /** *

Describes the resource configuration for HPO.

*/ inline HPOConfig& WithHpoResourceConfig(HPOResourceConfig&& value) { SetHpoResourceConfig(std::move(value)); return *this;} /** *

The hyperparameters and their allowable ranges.

*/ inline const HyperParameterRanges& GetAlgorithmHyperParameterRanges() const{ return m_algorithmHyperParameterRanges; } /** *

The hyperparameters and their allowable ranges.

*/ inline bool AlgorithmHyperParameterRangesHasBeenSet() const { return m_algorithmHyperParameterRangesHasBeenSet; } /** *

The hyperparameters and their allowable ranges.

*/ inline void SetAlgorithmHyperParameterRanges(const HyperParameterRanges& value) { m_algorithmHyperParameterRangesHasBeenSet = true; m_algorithmHyperParameterRanges = value; } /** *

The hyperparameters and their allowable ranges.

*/ inline void SetAlgorithmHyperParameterRanges(HyperParameterRanges&& value) { m_algorithmHyperParameterRangesHasBeenSet = true; m_algorithmHyperParameterRanges = std::move(value); } /** *

The hyperparameters and their allowable ranges.

*/ inline HPOConfig& WithAlgorithmHyperParameterRanges(const HyperParameterRanges& value) { SetAlgorithmHyperParameterRanges(value); return *this;} /** *

The hyperparameters and their allowable ranges.

*/ inline HPOConfig& WithAlgorithmHyperParameterRanges(HyperParameterRanges&& value) { SetAlgorithmHyperParameterRanges(std::move(value)); return *this;} private: HPOObjective m_hpoObjective; bool m_hpoObjectiveHasBeenSet = false; HPOResourceConfig m_hpoResourceConfig; bool m_hpoResourceConfigHasBeenSet = false; HyperParameterRanges m_algorithmHyperParameterRanges; bool m_algorithmHyperParameterRangesHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws