/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #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 multivariate split activity in a journey. This * type of activity sends participants down one of as many as five paths (including * a default Else path) in a journey, based on conditions that you * specify.

To create multivariate split activities that send * participants down different paths based on push notification events (such as * Open or Received events), your mobile app has to specify the User ID and * Endpoint ID values. For more information, see Integrating * Amazon Pinpoint with your application in the Amazon Pinpoint Developer * Guide.

See Also:

AWS * API Reference

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

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline const Aws::Vector& GetBranches() const{ return m_branches; } /** *

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline bool BranchesHasBeenSet() const { return m_branchesHasBeenSet; } /** *

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline void SetBranches(const Aws::Vector& value) { m_branchesHasBeenSet = true; m_branches = value; } /** *

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline void SetBranches(Aws::Vector&& value) { m_branchesHasBeenSet = true; m_branches = std::move(value); } /** *

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline MultiConditionalSplitActivity& WithBranches(const Aws::Vector& value) { SetBranches(value); return *this;} /** *

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline MultiConditionalSplitActivity& WithBranches(Aws::Vector&& value) { SetBranches(std::move(value)); return *this;} /** *

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline MultiConditionalSplitActivity& AddBranches(const MultiConditionalBranch& value) { m_branchesHasBeenSet = true; m_branches.push_back(value); return *this; } /** *

The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.

*/ inline MultiConditionalSplitActivity& AddBranches(MultiConditionalBranch&& value) { m_branchesHasBeenSet = true; m_branches.push_back(std::move(value)); return *this; } /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline const Aws::String& GetDefaultActivity() const{ return m_defaultActivity; } /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline bool DefaultActivityHasBeenSet() const { return m_defaultActivityHasBeenSet; } /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline void SetDefaultActivity(const Aws::String& value) { m_defaultActivityHasBeenSet = true; m_defaultActivity = value; } /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline void SetDefaultActivity(Aws::String&& value) { m_defaultActivityHasBeenSet = true; m_defaultActivity = std::move(value); } /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline void SetDefaultActivity(const char* value) { m_defaultActivityHasBeenSet = true; m_defaultActivity.assign(value); } /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline MultiConditionalSplitActivity& WithDefaultActivity(const Aws::String& value) { SetDefaultActivity(value); return *this;} /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline MultiConditionalSplitActivity& WithDefaultActivity(Aws::String&& value) { SetDefaultActivity(std::move(value)); return *this;} /** *

The unique identifier for the activity to perform for participants who don't * meet any of the conditions specified for other paths in the activity.

*/ inline MultiConditionalSplitActivity& WithDefaultActivity(const char* value) { SetDefaultActivity(value); return *this;} /** *

The amount of time to wait or the date and time when Amazon Pinpoint * determines whether the conditions are met.

*/ inline const WaitTime& GetEvaluationWaitTime() const{ return m_evaluationWaitTime; } /** *

The amount of time to wait or the date and time when Amazon Pinpoint * determines whether the conditions are met.

*/ inline bool EvaluationWaitTimeHasBeenSet() const { return m_evaluationWaitTimeHasBeenSet; } /** *

The amount of time to wait or the date and time when Amazon Pinpoint * determines whether the conditions are met.

*/ inline void SetEvaluationWaitTime(const WaitTime& value) { m_evaluationWaitTimeHasBeenSet = true; m_evaluationWaitTime = value; } /** *

The amount of time to wait or the date and time when Amazon Pinpoint * determines whether the conditions are met.

*/ inline void SetEvaluationWaitTime(WaitTime&& value) { m_evaluationWaitTimeHasBeenSet = true; m_evaluationWaitTime = std::move(value); } /** *

The amount of time to wait or the date and time when Amazon Pinpoint * determines whether the conditions are met.

*/ inline MultiConditionalSplitActivity& WithEvaluationWaitTime(const WaitTime& value) { SetEvaluationWaitTime(value); return *this;} /** *

The amount of time to wait or the date and time when Amazon Pinpoint * determines whether the conditions are met.

*/ inline MultiConditionalSplitActivity& WithEvaluationWaitTime(WaitTime&& value) { SetEvaluationWaitTime(std::move(value)); return *this;} private: Aws::Vector m_branches; bool m_branchesHasBeenSet = false; Aws::String m_defaultActivity; bool m_defaultActivityHasBeenSet = false; WaitTime m_evaluationWaitTime; bool m_evaluationWaitTimeHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws