1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace Pinpoint 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Specifies the settings for a holdout activity in a journey. This type of 28 * activity stops a journey for a specified percentage of 29 * participants.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/HoldoutActivity">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_PINPOINT_API HoldoutActivity 34 { 35 public: 36 HoldoutActivity(); 37 HoldoutActivity(Aws::Utils::Json::JsonView jsonValue); 38 HoldoutActivity& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The unique identifier for the next activity to perform, after performing the 44 * holdout activity.</p> 45 */ GetNextActivity()46 inline const Aws::String& GetNextActivity() const{ return m_nextActivity; } 47 48 /** 49 * <p>The unique identifier for the next activity to perform, after performing the 50 * holdout activity.</p> 51 */ NextActivityHasBeenSet()52 inline bool NextActivityHasBeenSet() const { return m_nextActivityHasBeenSet; } 53 54 /** 55 * <p>The unique identifier for the next activity to perform, after performing the 56 * holdout activity.</p> 57 */ SetNextActivity(const Aws::String & value)58 inline void SetNextActivity(const Aws::String& value) { m_nextActivityHasBeenSet = true; m_nextActivity = value; } 59 60 /** 61 * <p>The unique identifier for the next activity to perform, after performing the 62 * holdout activity.</p> 63 */ SetNextActivity(Aws::String && value)64 inline void SetNextActivity(Aws::String&& value) { m_nextActivityHasBeenSet = true; m_nextActivity = std::move(value); } 65 66 /** 67 * <p>The unique identifier for the next activity to perform, after performing the 68 * holdout activity.</p> 69 */ SetNextActivity(const char * value)70 inline void SetNextActivity(const char* value) { m_nextActivityHasBeenSet = true; m_nextActivity.assign(value); } 71 72 /** 73 * <p>The unique identifier for the next activity to perform, after performing the 74 * holdout activity.</p> 75 */ WithNextActivity(const Aws::String & value)76 inline HoldoutActivity& WithNextActivity(const Aws::String& value) { SetNextActivity(value); return *this;} 77 78 /** 79 * <p>The unique identifier for the next activity to perform, after performing the 80 * holdout activity.</p> 81 */ WithNextActivity(Aws::String && value)82 inline HoldoutActivity& WithNextActivity(Aws::String&& value) { SetNextActivity(std::move(value)); return *this;} 83 84 /** 85 * <p>The unique identifier for the next activity to perform, after performing the 86 * holdout activity.</p> 87 */ WithNextActivity(const char * value)88 inline HoldoutActivity& WithNextActivity(const char* value) { SetNextActivity(value); return *this;} 89 90 91 /** 92 * <p>The percentage of participants who shouldn't continue the journey.</p> <p>To 93 * determine which participants are held out, Amazon Pinpoint applies a 94 * probability-based algorithm to the percentage that you specify. Therefore, the 95 * actual percentage of participants who are held out may not be equal to the 96 * percentage that you specify.</p> 97 */ GetPercentage()98 inline int GetPercentage() const{ return m_percentage; } 99 100 /** 101 * <p>The percentage of participants who shouldn't continue the journey.</p> <p>To 102 * determine which participants are held out, Amazon Pinpoint applies a 103 * probability-based algorithm to the percentage that you specify. Therefore, the 104 * actual percentage of participants who are held out may not be equal to the 105 * percentage that you specify.</p> 106 */ PercentageHasBeenSet()107 inline bool PercentageHasBeenSet() const { return m_percentageHasBeenSet; } 108 109 /** 110 * <p>The percentage of participants who shouldn't continue the journey.</p> <p>To 111 * determine which participants are held out, Amazon Pinpoint applies a 112 * probability-based algorithm to the percentage that you specify. Therefore, the 113 * actual percentage of participants who are held out may not be equal to the 114 * percentage that you specify.</p> 115 */ SetPercentage(int value)116 inline void SetPercentage(int value) { m_percentageHasBeenSet = true; m_percentage = value; } 117 118 /** 119 * <p>The percentage of participants who shouldn't continue the journey.</p> <p>To 120 * determine which participants are held out, Amazon Pinpoint applies a 121 * probability-based algorithm to the percentage that you specify. Therefore, the 122 * actual percentage of participants who are held out may not be equal to the 123 * percentage that you specify.</p> 124 */ WithPercentage(int value)125 inline HoldoutActivity& WithPercentage(int value) { SetPercentage(value); return *this;} 126 127 private: 128 129 Aws::String m_nextActivity; 130 bool m_nextActivityHasBeenSet; 131 132 int m_percentage; 133 bool m_percentageHasBeenSet; 134 }; 135 136 } // namespace Model 137 } // namespace Pinpoint 138 } // namespace Aws 139