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

Describes the additional objective for the solution, such as maximizing * streaming minutes or increasing revenue. For more information see Optimizing * a solution.

See Also:

AWS * API Reference

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

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline const Aws::String& GetItemAttribute() const{ return m_itemAttribute; } /** *

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline bool ItemAttributeHasBeenSet() const { return m_itemAttributeHasBeenSet; } /** *

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline void SetItemAttribute(const Aws::String& value) { m_itemAttributeHasBeenSet = true; m_itemAttribute = value; } /** *

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline void SetItemAttribute(Aws::String&& value) { m_itemAttributeHasBeenSet = true; m_itemAttribute = std::move(value); } /** *

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline void SetItemAttribute(const char* value) { m_itemAttributeHasBeenSet = true; m_itemAttribute.assign(value); } /** *

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline OptimizationObjective& WithItemAttribute(const Aws::String& value) { SetItemAttribute(value); return *this;} /** *

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline OptimizationObjective& WithItemAttribute(Aws::String&& value) { SetItemAttribute(std::move(value)); return *this;} /** *

The numerical metadata column in an Items dataset related to the optimization * objective. For example, VIDEO_LENGTH (to maximize streaming minutes), or PRICE * (to maximize revenue).

*/ inline OptimizationObjective& WithItemAttribute(const char* value) { SetItemAttribute(value); return *this;} /** *

Specifies how Amazon Personalize balances the importance of your optimization * objective versus relevance.

*/ inline const ObjectiveSensitivity& GetObjectiveSensitivity() const{ return m_objectiveSensitivity; } /** *

Specifies how Amazon Personalize balances the importance of your optimization * objective versus relevance.

*/ inline bool ObjectiveSensitivityHasBeenSet() const { return m_objectiveSensitivityHasBeenSet; } /** *

Specifies how Amazon Personalize balances the importance of your optimization * objective versus relevance.

*/ inline void SetObjectiveSensitivity(const ObjectiveSensitivity& value) { m_objectiveSensitivityHasBeenSet = true; m_objectiveSensitivity = value; } /** *

Specifies how Amazon Personalize balances the importance of your optimization * objective versus relevance.

*/ inline void SetObjectiveSensitivity(ObjectiveSensitivity&& value) { m_objectiveSensitivityHasBeenSet = true; m_objectiveSensitivity = std::move(value); } /** *

Specifies how Amazon Personalize balances the importance of your optimization * objective versus relevance.

*/ inline OptimizationObjective& WithObjectiveSensitivity(const ObjectiveSensitivity& value) { SetObjectiveSensitivity(value); return *this;} /** *

Specifies how Amazon Personalize balances the importance of your optimization * objective versus relevance.

*/ inline OptimizationObjective& WithObjectiveSensitivity(ObjectiveSensitivity&& value) { SetObjectiveSensitivity(std::move(value)); return *this;} private: Aws::String m_itemAttribute; bool m_itemAttributeHasBeenSet = false; ObjectiveSensitivity m_objectiveSensitivity; bool m_objectiveSensitivityHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws