/** * 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 Pinpoint { namespace Model { /** *

Specifies the settings for a holdout activity in a journey. This type of * activity stops a journey for a specified percentage of * participants.

See Also:

AWS * API Reference

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

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline const Aws::String& GetNextActivity() const{ return m_nextActivity; } /** *

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline bool NextActivityHasBeenSet() const { return m_nextActivityHasBeenSet; } /** *

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline void SetNextActivity(const Aws::String& value) { m_nextActivityHasBeenSet = true; m_nextActivity = value; } /** *

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline void SetNextActivity(Aws::String&& value) { m_nextActivityHasBeenSet = true; m_nextActivity = std::move(value); } /** *

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline void SetNextActivity(const char* value) { m_nextActivityHasBeenSet = true; m_nextActivity.assign(value); } /** *

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline HoldoutActivity& WithNextActivity(const Aws::String& value) { SetNextActivity(value); return *this;} /** *

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline HoldoutActivity& WithNextActivity(Aws::String&& value) { SetNextActivity(std::move(value)); return *this;} /** *

The unique identifier for the next activity to perform, after performing the * holdout activity.

*/ inline HoldoutActivity& WithNextActivity(const char* value) { SetNextActivity(value); return *this;} /** *

The percentage of participants who shouldn't continue the journey.

To * determine which participants are held out, Amazon Pinpoint applies a * probability-based algorithm to the percentage that you specify. Therefore, the * actual percentage of participants who are held out may not be equal to the * percentage that you specify.

*/ inline int GetPercentage() const{ return m_percentage; } /** *

The percentage of participants who shouldn't continue the journey.

To * determine which participants are held out, Amazon Pinpoint applies a * probability-based algorithm to the percentage that you specify. Therefore, the * actual percentage of participants who are held out may not be equal to the * percentage that you specify.

*/ inline bool PercentageHasBeenSet() const { return m_percentageHasBeenSet; } /** *

The percentage of participants who shouldn't continue the journey.

To * determine which participants are held out, Amazon Pinpoint applies a * probability-based algorithm to the percentage that you specify. Therefore, the * actual percentage of participants who are held out may not be equal to the * percentage that you specify.

*/ inline void SetPercentage(int value) { m_percentageHasBeenSet = true; m_percentage = value; } /** *

The percentage of participants who shouldn't continue the journey.

To * determine which participants are held out, Amazon Pinpoint applies a * probability-based algorithm to the percentage that you specify. Therefore, the * actual percentage of participants who are held out may not be equal to the * percentage that you specify.

*/ inline HoldoutActivity& WithPercentage(int value) { SetPercentage(value); return *this;} private: Aws::String m_nextActivity; bool m_nextActivityHasBeenSet; int m_percentage; bool m_percentageHasBeenSet; }; } // namespace Model } // namespace Pinpoint } // namespace Aws