/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Targeted in-app message campaign.

See Also:

AWS * API Reference

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

Campaign id of the corresponding campaign.

*/ inline const Aws::String& GetCampaignId() const{ return m_campaignId; } /** *

Campaign id of the corresponding campaign.

*/ inline bool CampaignIdHasBeenSet() const { return m_campaignIdHasBeenSet; } /** *

Campaign id of the corresponding campaign.

*/ inline void SetCampaignId(const Aws::String& value) { m_campaignIdHasBeenSet = true; m_campaignId = value; } /** *

Campaign id of the corresponding campaign.

*/ inline void SetCampaignId(Aws::String&& value) { m_campaignIdHasBeenSet = true; m_campaignId = std::move(value); } /** *

Campaign id of the corresponding campaign.

*/ inline void SetCampaignId(const char* value) { m_campaignIdHasBeenSet = true; m_campaignId.assign(value); } /** *

Campaign id of the corresponding campaign.

*/ inline InAppMessageCampaign& WithCampaignId(const Aws::String& value) { SetCampaignId(value); return *this;} /** *

Campaign id of the corresponding campaign.

*/ inline InAppMessageCampaign& WithCampaignId(Aws::String&& value) { SetCampaignId(std::move(value)); return *this;} /** *

Campaign id of the corresponding campaign.

*/ inline InAppMessageCampaign& WithCampaignId(const char* value) { SetCampaignId(value); return *this;} /** *

Daily cap which controls the number of times any in-app messages can be shown * to the endpoint during a day.

*/ inline int GetDailyCap() const{ return m_dailyCap; } /** *

Daily cap which controls the number of times any in-app messages can be shown * to the endpoint during a day.

*/ inline bool DailyCapHasBeenSet() const { return m_dailyCapHasBeenSet; } /** *

Daily cap which controls the number of times any in-app messages can be shown * to the endpoint during a day.

*/ inline void SetDailyCap(int value) { m_dailyCapHasBeenSet = true; m_dailyCap = value; } /** *

Daily cap which controls the number of times any in-app messages can be shown * to the endpoint during a day.

*/ inline InAppMessageCampaign& WithDailyCap(int value) { SetDailyCap(value); return *this;} /** *

In-app message content with all fields required for rendering an in-app * message.

*/ inline const InAppMessage& GetInAppMessage() const{ return m_inAppMessage; } /** *

In-app message content with all fields required for rendering an in-app * message.

*/ inline bool InAppMessageHasBeenSet() const { return m_inAppMessageHasBeenSet; } /** *

In-app message content with all fields required for rendering an in-app * message.

*/ inline void SetInAppMessage(const InAppMessage& value) { m_inAppMessageHasBeenSet = true; m_inAppMessage = value; } /** *

In-app message content with all fields required for rendering an in-app * message.

*/ inline void SetInAppMessage(InAppMessage&& value) { m_inAppMessageHasBeenSet = true; m_inAppMessage = std::move(value); } /** *

In-app message content with all fields required for rendering an in-app * message.

*/ inline InAppMessageCampaign& WithInAppMessage(const InAppMessage& value) { SetInAppMessage(value); return *this;} /** *

In-app message content with all fields required for rendering an in-app * message.

*/ inline InAppMessageCampaign& WithInAppMessage(InAppMessage&& value) { SetInAppMessage(std::move(value)); return *this;} /** *

Priority of the in-app message.

*/ inline int GetPriority() const{ return m_priority; } /** *

Priority of the in-app message.

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

Priority of the in-app message.

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

Priority of the in-app message.

*/ inline InAppMessageCampaign& WithPriority(int value) { SetPriority(value); return *this;} /** *

Schedule of the campaign.

*/ inline const InAppCampaignSchedule& GetSchedule() const{ return m_schedule; } /** *

Schedule of the campaign.

*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *

Schedule of the campaign.

*/ inline void SetSchedule(const InAppCampaignSchedule& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *

Schedule of the campaign.

*/ inline void SetSchedule(InAppCampaignSchedule&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *

Schedule of the campaign.

*/ inline InAppMessageCampaign& WithSchedule(const InAppCampaignSchedule& value) { SetSchedule(value); return *this;} /** *

Schedule of the campaign.

*/ inline InAppMessageCampaign& WithSchedule(InAppCampaignSchedule&& value) { SetSchedule(std::move(value)); return *this;} /** *

Session cap which controls the number of times an in-app message can be shown * to the endpoint during an application session.

*/ inline int GetSessionCap() const{ return m_sessionCap; } /** *

Session cap which controls the number of times an in-app message can be shown * to the endpoint during an application session.

*/ inline bool SessionCapHasBeenSet() const { return m_sessionCapHasBeenSet; } /** *

Session cap which controls the number of times an in-app message can be shown * to the endpoint during an application session.

*/ inline void SetSessionCap(int value) { m_sessionCapHasBeenSet = true; m_sessionCap = value; } /** *

Session cap which controls the number of times an in-app message can be shown * to the endpoint during an application session.

*/ inline InAppMessageCampaign& WithSessionCap(int value) { SetSessionCap(value); return *this;} /** *

Total cap which controls the number of times an in-app message can be shown * to the endpoint.

*/ inline int GetTotalCap() const{ return m_totalCap; } /** *

Total cap which controls the number of times an in-app message can be shown * to the endpoint.

*/ inline bool TotalCapHasBeenSet() const { return m_totalCapHasBeenSet; } /** *

Total cap which controls the number of times an in-app message can be shown * to the endpoint.

*/ inline void SetTotalCap(int value) { m_totalCapHasBeenSet = true; m_totalCap = value; } /** *

Total cap which controls the number of times an in-app message can be shown * to the endpoint.

*/ inline InAppMessageCampaign& WithTotalCap(int value) { SetTotalCap(value); return *this;} /** *

Treatment id of the campaign.

*/ inline const Aws::String& GetTreatmentId() const{ return m_treatmentId; } /** *

Treatment id of the campaign.

*/ inline bool TreatmentIdHasBeenSet() const { return m_treatmentIdHasBeenSet; } /** *

Treatment id of the campaign.

*/ inline void SetTreatmentId(const Aws::String& value) { m_treatmentIdHasBeenSet = true; m_treatmentId = value; } /** *

Treatment id of the campaign.

*/ inline void SetTreatmentId(Aws::String&& value) { m_treatmentIdHasBeenSet = true; m_treatmentId = std::move(value); } /** *

Treatment id of the campaign.

*/ inline void SetTreatmentId(const char* value) { m_treatmentIdHasBeenSet = true; m_treatmentId.assign(value); } /** *

Treatment id of the campaign.

*/ inline InAppMessageCampaign& WithTreatmentId(const Aws::String& value) { SetTreatmentId(value); return *this;} /** *

Treatment id of the campaign.

*/ inline InAppMessageCampaign& WithTreatmentId(Aws::String&& value) { SetTreatmentId(std::move(value)); return *this;} /** *

Treatment id of the campaign.

*/ inline InAppMessageCampaign& WithTreatmentId(const char* value) { SetTreatmentId(value); return *this;} private: Aws::String m_campaignId; bool m_campaignIdHasBeenSet = false; int m_dailyCap; bool m_dailyCapHasBeenSet = false; InAppMessage m_inAppMessage; bool m_inAppMessageHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; InAppCampaignSchedule m_schedule; bool m_scheduleHasBeenSet = false; int m_sessionCap; bool m_sessionCapHasBeenSet = false; int m_totalCap; bool m_totalCapHasBeenSet = false; Aws::String m_treatmentId; bool m_treatmentIdHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws