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

The metric to optimize during hyperparameter optimization (HPO).

*

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

See Also:

AWS * API Reference

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

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline HPOObjective& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline HPOObjective& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of the metric. Valid values are Maximize and * Minimize.

*/ inline HPOObjective& WithType(const char* value) { SetType(value); return *this;} /** *

The name of the metric.

*/ inline const Aws::String& GetMetricName() const{ return m_metricName; } /** *

The name of the metric.

*/ inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } /** *

The name of the metric.

*/ inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; } /** *

The name of the metric.

*/ inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } /** *

The name of the metric.

*/ inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); } /** *

The name of the metric.

*/ inline HPOObjective& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} /** *

The name of the metric.

*/ inline HPOObjective& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} /** *

The name of the metric.

*/ inline HPOObjective& WithMetricName(const char* value) { SetMetricName(value); return *this;} /** *

A regular expression for finding the metric in the training job logs.

*/ inline const Aws::String& GetMetricRegex() const{ return m_metricRegex; } /** *

A regular expression for finding the metric in the training job logs.

*/ inline bool MetricRegexHasBeenSet() const { return m_metricRegexHasBeenSet; } /** *

A regular expression for finding the metric in the training job logs.

*/ inline void SetMetricRegex(const Aws::String& value) { m_metricRegexHasBeenSet = true; m_metricRegex = value; } /** *

A regular expression for finding the metric in the training job logs.

*/ inline void SetMetricRegex(Aws::String&& value) { m_metricRegexHasBeenSet = true; m_metricRegex = std::move(value); } /** *

A regular expression for finding the metric in the training job logs.

*/ inline void SetMetricRegex(const char* value) { m_metricRegexHasBeenSet = true; m_metricRegex.assign(value); } /** *

A regular expression for finding the metric in the training job logs.

*/ inline HPOObjective& WithMetricRegex(const Aws::String& value) { SetMetricRegex(value); return *this;} /** *

A regular expression for finding the metric in the training job logs.

*/ inline HPOObjective& WithMetricRegex(Aws::String&& value) { SetMetricRegex(std::move(value)); return *this;} /** *

A regular expression for finding the metric in the training job logs.

*/ inline HPOObjective& WithMetricRegex(const char* value) { SetMetricRegex(value); return *this;} private: Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_metricName; bool m_metricNameHasBeenSet = false; Aws::String m_metricRegex; bool m_metricRegexHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws