/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
The paths for the activity, including the conditions for entering each path * and the activity to perform for each path.
*/ inline const Aws::VectorThe 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::VectorThe paths for the activity, including the conditions for entering each path * and the activity to perform for each path.
*/ inline void SetBranches(Aws::VectorThe paths for the activity, including the conditions for entering each path * and the activity to perform for each path.
*/ inline MultiConditionalSplitActivity& WithBranches(const Aws::VectorThe paths for the activity, including the conditions for entering each path * and the activity to perform for each path.
*/ inline MultiConditionalSplitActivity& WithBranches(Aws::VectorThe 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