/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the configuration and other settings for an activity in a
* journey.See Also:
AWS
* API Reference
The settings for a custom message activity. This type of activity calls an * AWS Lambda function or web hook that sends messages to participants.
*/ inline const CustomMessageActivity& GetCUSTOM() const{ return m_cUSTOM; } /** *The settings for a custom message activity. This type of activity calls an * AWS Lambda function or web hook that sends messages to participants.
*/ inline bool CUSTOMHasBeenSet() const { return m_cUSTOMHasBeenSet; } /** *The settings for a custom message activity. This type of activity calls an * AWS Lambda function or web hook that sends messages to participants.
*/ inline void SetCUSTOM(const CustomMessageActivity& value) { m_cUSTOMHasBeenSet = true; m_cUSTOM = value; } /** *The settings for a custom message activity. This type of activity calls an * AWS Lambda function or web hook that sends messages to participants.
*/ inline void SetCUSTOM(CustomMessageActivity&& value) { m_cUSTOMHasBeenSet = true; m_cUSTOM = std::move(value); } /** *The settings for a custom message activity. This type of activity calls an * AWS Lambda function or web hook that sends messages to participants.
*/ inline Activity& WithCUSTOM(const CustomMessageActivity& value) { SetCUSTOM(value); return *this;} /** *The settings for a custom message activity. This type of activity calls an * AWS Lambda function or web hook that sends messages to participants.
*/ inline Activity& WithCUSTOM(CustomMessageActivity&& value) { SetCUSTOM(std::move(value)); return *this;} /** *The settings for a yes/no split activity. This type of activity sends * participants down one of two paths in a journey, based on conditions that you * specify.
*/ inline const ConditionalSplitActivity& GetConditionalSplit() const{ return m_conditionalSplit; } /** *The settings for a yes/no split activity. This type of activity sends * participants down one of two paths in a journey, based on conditions that you * specify.
*/ inline bool ConditionalSplitHasBeenSet() const { return m_conditionalSplitHasBeenSet; } /** *The settings for a yes/no split activity. This type of activity sends * participants down one of two paths in a journey, based on conditions that you * specify.
*/ inline void SetConditionalSplit(const ConditionalSplitActivity& value) { m_conditionalSplitHasBeenSet = true; m_conditionalSplit = value; } /** *The settings for a yes/no split activity. This type of activity sends * participants down one of two paths in a journey, based on conditions that you * specify.
*/ inline void SetConditionalSplit(ConditionalSplitActivity&& value) { m_conditionalSplitHasBeenSet = true; m_conditionalSplit = std::move(value); } /** *The settings for a yes/no split activity. This type of activity sends * participants down one of two paths in a journey, based on conditions that you * specify.
*/ inline Activity& WithConditionalSplit(const ConditionalSplitActivity& value) { SetConditionalSplit(value); return *this;} /** *The settings for a yes/no split activity. This type of activity sends * participants down one of two paths in a journey, based on conditions that you * specify.
*/ inline Activity& WithConditionalSplit(ConditionalSplitActivity&& value) { SetConditionalSplit(std::move(value)); return *this;} /** *The custom description of the activity.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The custom description of the activity.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The custom description of the activity.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The custom description of the activity.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The custom description of the activity.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The custom description of the activity.
*/ inline Activity& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The custom description of the activity.
*/ inline Activity& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The custom description of the activity.
*/ inline Activity& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The settings for an email activity. This type of activity sends an email * message to participants.
*/ inline const EmailMessageActivity& GetEMAIL() const{ return m_eMAIL; } /** *The settings for an email activity. This type of activity sends an email * message to participants.
*/ inline bool EMAILHasBeenSet() const { return m_eMAILHasBeenSet; } /** *The settings for an email activity. This type of activity sends an email * message to participants.
*/ inline void SetEMAIL(const EmailMessageActivity& value) { m_eMAILHasBeenSet = true; m_eMAIL = value; } /** *The settings for an email activity. This type of activity sends an email * message to participants.
*/ inline void SetEMAIL(EmailMessageActivity&& value) { m_eMAILHasBeenSet = true; m_eMAIL = std::move(value); } /** *The settings for an email activity. This type of activity sends an email * message to participants.
*/ inline Activity& WithEMAIL(const EmailMessageActivity& value) { SetEMAIL(value); return *this;} /** *The settings for an email activity. This type of activity sends an email * message to participants.
*/ inline Activity& WithEMAIL(EmailMessageActivity&& value) { SetEMAIL(std::move(value)); return *this;} /** *The settings for a holdout activity. This type of activity stops a journey * for a specified percentage of participants.
*/ inline const HoldoutActivity& GetHoldout() const{ return m_holdout; } /** *The settings for a holdout activity. This type of activity stops a journey * for a specified percentage of participants.
*/ inline bool HoldoutHasBeenSet() const { return m_holdoutHasBeenSet; } /** *The settings for a holdout activity. This type of activity stops a journey * for a specified percentage of participants.
*/ inline void SetHoldout(const HoldoutActivity& value) { m_holdoutHasBeenSet = true; m_holdout = value; } /** *The settings for a holdout activity. This type of activity stops a journey * for a specified percentage of participants.
*/ inline void SetHoldout(HoldoutActivity&& value) { m_holdoutHasBeenSet = true; m_holdout = std::move(value); } /** *The settings for a holdout activity. This type of activity stops a journey * for a specified percentage of participants.
*/ inline Activity& WithHoldout(const HoldoutActivity& value) { SetHoldout(value); return *this;} /** *The settings for a holdout activity. This type of activity stops a journey * for a specified percentage of participants.
*/ inline Activity& WithHoldout(HoldoutActivity&& value) { SetHoldout(std::move(value)); return *this;} /** *The settings for a multivariate split activity. 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.
*/ inline const MultiConditionalSplitActivity& GetMultiCondition() const{ return m_multiCondition; } /** *The settings for a multivariate split activity. 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.
*/ inline bool MultiConditionHasBeenSet() const { return m_multiConditionHasBeenSet; } /** *The settings for a multivariate split activity. 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.
*/ inline void SetMultiCondition(const MultiConditionalSplitActivity& value) { m_multiConditionHasBeenSet = true; m_multiCondition = value; } /** *The settings for a multivariate split activity. 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.
*/ inline void SetMultiCondition(MultiConditionalSplitActivity&& value) { m_multiConditionHasBeenSet = true; m_multiCondition = std::move(value); } /** *The settings for a multivariate split activity. 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.
*/ inline Activity& WithMultiCondition(const MultiConditionalSplitActivity& value) { SetMultiCondition(value); return *this;} /** *The settings for a multivariate split activity. 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.
*/ inline Activity& WithMultiCondition(MultiConditionalSplitActivity&& value) { SetMultiCondition(std::move(value)); return *this;} /** *The settings for a push notification activity. This type of activity sends a * push notification to participants.
*/ inline const PushMessageActivity& GetPUSH() const{ return m_pUSH; } /** *The settings for a push notification activity. This type of activity sends a * push notification to participants.
*/ inline bool PUSHHasBeenSet() const { return m_pUSHHasBeenSet; } /** *The settings for a push notification activity. This type of activity sends a * push notification to participants.
*/ inline void SetPUSH(const PushMessageActivity& value) { m_pUSHHasBeenSet = true; m_pUSH = value; } /** *The settings for a push notification activity. This type of activity sends a * push notification to participants.
*/ inline void SetPUSH(PushMessageActivity&& value) { m_pUSHHasBeenSet = true; m_pUSH = std::move(value); } /** *The settings for a push notification activity. This type of activity sends a * push notification to participants.
*/ inline Activity& WithPUSH(const PushMessageActivity& value) { SetPUSH(value); return *this;} /** *The settings for a push notification activity. This type of activity sends a * push notification to participants.
*/ inline Activity& WithPUSH(PushMessageActivity&& value) { SetPUSH(std::move(value)); return *this;} /** *The settings for a random split activity. This type of activity randomly * sends specified percentages of participants down one of as many as five paths in * a journey, based on conditions that you specify.
*/ inline const RandomSplitActivity& GetRandomSplit() const{ return m_randomSplit; } /** *The settings for a random split activity. This type of activity randomly * sends specified percentages of participants down one of as many as five paths in * a journey, based on conditions that you specify.
*/ inline bool RandomSplitHasBeenSet() const { return m_randomSplitHasBeenSet; } /** *The settings for a random split activity. This type of activity randomly * sends specified percentages of participants down one of as many as five paths in * a journey, based on conditions that you specify.
*/ inline void SetRandomSplit(const RandomSplitActivity& value) { m_randomSplitHasBeenSet = true; m_randomSplit = value; } /** *The settings for a random split activity. This type of activity randomly * sends specified percentages of participants down one of as many as five paths in * a journey, based on conditions that you specify.
*/ inline void SetRandomSplit(RandomSplitActivity&& value) { m_randomSplitHasBeenSet = true; m_randomSplit = std::move(value); } /** *The settings for a random split activity. This type of activity randomly * sends specified percentages of participants down one of as many as five paths in * a journey, based on conditions that you specify.
*/ inline Activity& WithRandomSplit(const RandomSplitActivity& value) { SetRandomSplit(value); return *this;} /** *The settings for a random split activity. This type of activity randomly * sends specified percentages of participants down one of as many as five paths in * a journey, based on conditions that you specify.
*/ inline Activity& WithRandomSplit(RandomSplitActivity&& value) { SetRandomSplit(std::move(value)); return *this;} /** *The settings for an SMS activity. This type of activity sends a text message * to participants.
*/ inline const SMSMessageActivity& GetSMS() const{ return m_sMS; } /** *The settings for an SMS activity. This type of activity sends a text message * to participants.
*/ inline bool SMSHasBeenSet() const { return m_sMSHasBeenSet; } /** *The settings for an SMS activity. This type of activity sends a text message * to participants.
*/ inline void SetSMS(const SMSMessageActivity& value) { m_sMSHasBeenSet = true; m_sMS = value; } /** *The settings for an SMS activity. This type of activity sends a text message * to participants.
*/ inline void SetSMS(SMSMessageActivity&& value) { m_sMSHasBeenSet = true; m_sMS = std::move(value); } /** *The settings for an SMS activity. This type of activity sends a text message * to participants.
*/ inline Activity& WithSMS(const SMSMessageActivity& value) { SetSMS(value); return *this;} /** *The settings for an SMS activity. This type of activity sends a text message * to participants.
*/ inline Activity& WithSMS(SMSMessageActivity&& value) { SetSMS(std::move(value)); return *this;} /** *The settings for a wait activity. This type of activity waits for a certain * amount of time or until a specific date and time before moving participants to * the next activity in a journey.
*/ inline const WaitActivity& GetWait() const{ return m_wait; } /** *The settings for a wait activity. This type of activity waits for a certain * amount of time or until a specific date and time before moving participants to * the next activity in a journey.
*/ inline bool WaitHasBeenSet() const { return m_waitHasBeenSet; } /** *The settings for a wait activity. This type of activity waits for a certain * amount of time or until a specific date and time before moving participants to * the next activity in a journey.
*/ inline void SetWait(const WaitActivity& value) { m_waitHasBeenSet = true; m_wait = value; } /** *The settings for a wait activity. This type of activity waits for a certain * amount of time or until a specific date and time before moving participants to * the next activity in a journey.
*/ inline void SetWait(WaitActivity&& value) { m_waitHasBeenSet = true; m_wait = std::move(value); } /** *The settings for a wait activity. This type of activity waits for a certain * amount of time or until a specific date and time before moving participants to * the next activity in a journey.
*/ inline Activity& WithWait(const WaitActivity& value) { SetWait(value); return *this;} /** *The settings for a wait activity. This type of activity waits for a certain * amount of time or until a specific date and time before moving participants to * the next activity in a journey.
*/ inline Activity& WithWait(WaitActivity&& value) { SetWait(std::move(value)); return *this;} /** *The settings for a connect activity. This type of activity initiates a * contact center call to participants.
*/ inline const ContactCenterActivity& GetContactCenter() const{ return m_contactCenter; } /** *The settings for a connect activity. This type of activity initiates a * contact center call to participants.
*/ inline bool ContactCenterHasBeenSet() const { return m_contactCenterHasBeenSet; } /** *The settings for a connect activity. This type of activity initiates a * contact center call to participants.
*/ inline void SetContactCenter(const ContactCenterActivity& value) { m_contactCenterHasBeenSet = true; m_contactCenter = value; } /** *The settings for a connect activity. This type of activity initiates a * contact center call to participants.
*/ inline void SetContactCenter(ContactCenterActivity&& value) { m_contactCenterHasBeenSet = true; m_contactCenter = std::move(value); } /** *The settings for a connect activity. This type of activity initiates a * contact center call to participants.
*/ inline Activity& WithContactCenter(const ContactCenterActivity& value) { SetContactCenter(value); return *this;} /** *The settings for a connect activity. This type of activity initiates a * contact center call to participants.
*/ inline Activity& WithContactCenter(ContactCenterActivity&& value) { SetContactCenter(std::move(value)); return *this;} private: CustomMessageActivity m_cUSTOM; bool m_cUSTOMHasBeenSet = false; ConditionalSplitActivity m_conditionalSplit; bool m_conditionalSplitHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; EmailMessageActivity m_eMAIL; bool m_eMAILHasBeenSet = false; HoldoutActivity m_holdout; bool m_holdoutHasBeenSet = false; MultiConditionalSplitActivity m_multiCondition; bool m_multiConditionHasBeenSet = false; PushMessageActivity m_pUSH; bool m_pUSHHasBeenSet = false; RandomSplitActivity m_randomSplit; bool m_randomSplitHasBeenSet = false; SMSMessageActivity m_sMS; bool m_sMSHasBeenSet = false; WaitActivity m_wait; bool m_waitHasBeenSet = false; ContactCenterActivity m_contactCenter; bool m_contactCenterHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws