/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #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 configuration and other settings for a campaign.

See * Also:

AWS * API Reference

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

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline const Aws::Vector& GetAdditionalTreatments() const{ return m_additionalTreatments; } /** *

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline bool AdditionalTreatmentsHasBeenSet() const { return m_additionalTreatmentsHasBeenSet; } /** *

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline void SetAdditionalTreatments(const Aws::Vector& value) { m_additionalTreatmentsHasBeenSet = true; m_additionalTreatments = value; } /** *

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline void SetAdditionalTreatments(Aws::Vector&& value) { m_additionalTreatmentsHasBeenSet = true; m_additionalTreatments = std::move(value); } /** *

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline WriteCampaignRequest& WithAdditionalTreatments(const Aws::Vector& value) { SetAdditionalTreatments(value); return *this;} /** *

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline WriteCampaignRequest& WithAdditionalTreatments(Aws::Vector&& value) { SetAdditionalTreatments(std::move(value)); return *this;} /** *

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline WriteCampaignRequest& AddAdditionalTreatments(const WriteTreatmentResource& value) { m_additionalTreatmentsHasBeenSet = true; m_additionalTreatments.push_back(value); return *this; } /** *

An array of requests that defines additional treatments for the campaign, in * addition to the default treatment for the campaign.

*/ inline WriteCampaignRequest& AddAdditionalTreatments(WriteTreatmentResource&& value) { m_additionalTreatmentsHasBeenSet = true; m_additionalTreatments.push_back(std::move(value)); return *this; } /** *

The delivery configuration settings for sending the campaign through a custom * channel. This object is required if the MessageConfiguration object for the * campaign specifies a CustomMessage object.

*/ inline const CustomDeliveryConfiguration& GetCustomDeliveryConfiguration() const{ return m_customDeliveryConfiguration; } /** *

The delivery configuration settings for sending the campaign through a custom * channel. This object is required if the MessageConfiguration object for the * campaign specifies a CustomMessage object.

*/ inline bool CustomDeliveryConfigurationHasBeenSet() const { return m_customDeliveryConfigurationHasBeenSet; } /** *

The delivery configuration settings for sending the campaign through a custom * channel. This object is required if the MessageConfiguration object for the * campaign specifies a CustomMessage object.

*/ inline void SetCustomDeliveryConfiguration(const CustomDeliveryConfiguration& value) { m_customDeliveryConfigurationHasBeenSet = true; m_customDeliveryConfiguration = value; } /** *

The delivery configuration settings for sending the campaign through a custom * channel. This object is required if the MessageConfiguration object for the * campaign specifies a CustomMessage object.

*/ inline void SetCustomDeliveryConfiguration(CustomDeliveryConfiguration&& value) { m_customDeliveryConfigurationHasBeenSet = true; m_customDeliveryConfiguration = std::move(value); } /** *

The delivery configuration settings for sending the campaign through a custom * channel. This object is required if the MessageConfiguration object for the * campaign specifies a CustomMessage object.

*/ inline WriteCampaignRequest& WithCustomDeliveryConfiguration(const CustomDeliveryConfiguration& value) { SetCustomDeliveryConfiguration(value); return *this;} /** *

The delivery configuration settings for sending the campaign through a custom * channel. This object is required if the MessageConfiguration object for the * campaign specifies a CustomMessage object.

*/ inline WriteCampaignRequest& WithCustomDeliveryConfiguration(CustomDeliveryConfiguration&& value) { SetCustomDeliveryConfiguration(std::move(value)); return *this;} /** *

A custom description of the campaign.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A custom description of the campaign.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A custom description of the campaign.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A custom description of the campaign.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A custom description of the campaign.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A custom description of the campaign.

*/ inline WriteCampaignRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A custom description of the campaign.

*/ inline WriteCampaignRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A custom description of the campaign.

*/ inline WriteCampaignRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The allocated percentage of users (segment members) who shouldn't receive * messages from the campaign.

*/ inline int GetHoldoutPercent() const{ return m_holdoutPercent; } /** *

The allocated percentage of users (segment members) who shouldn't receive * messages from the campaign.

*/ inline bool HoldoutPercentHasBeenSet() const { return m_holdoutPercentHasBeenSet; } /** *

The allocated percentage of users (segment members) who shouldn't receive * messages from the campaign.

*/ inline void SetHoldoutPercent(int value) { m_holdoutPercentHasBeenSet = true; m_holdoutPercent = value; } /** *

The allocated percentage of users (segment members) who shouldn't receive * messages from the campaign.

*/ inline WriteCampaignRequest& WithHoldoutPercent(int value) { SetHoldoutPercent(value); return *this;} /** *

The settings for the AWS Lambda function to invoke as a code hook for the * campaign. You can use this hook to customize the segment that's used by the * campaign.

*/ inline const CampaignHook& GetHook() const{ return m_hook; } /** *

The settings for the AWS Lambda function to invoke as a code hook for the * campaign. You can use this hook to customize the segment that's used by the * campaign.

*/ inline bool HookHasBeenSet() const { return m_hookHasBeenSet; } /** *

The settings for the AWS Lambda function to invoke as a code hook for the * campaign. You can use this hook to customize the segment that's used by the * campaign.

*/ inline void SetHook(const CampaignHook& value) { m_hookHasBeenSet = true; m_hook = value; } /** *

The settings for the AWS Lambda function to invoke as a code hook for the * campaign. You can use this hook to customize the segment that's used by the * campaign.

*/ inline void SetHook(CampaignHook&& value) { m_hookHasBeenSet = true; m_hook = std::move(value); } /** *

The settings for the AWS Lambda function to invoke as a code hook for the * campaign. You can use this hook to customize the segment that's used by the * campaign.

*/ inline WriteCampaignRequest& WithHook(const CampaignHook& value) { SetHook(value); return *this;} /** *

The settings for the AWS Lambda function to invoke as a code hook for the * campaign. You can use this hook to customize the segment that's used by the * campaign.

*/ inline WriteCampaignRequest& WithHook(CampaignHook&& value) { SetHook(std::move(value)); return *this;} /** *

Specifies whether to pause the campaign. A paused campaign doesn't run unless * you resume it by changing this value to false.

*/ inline bool GetIsPaused() const{ return m_isPaused; } /** *

Specifies whether to pause the campaign. A paused campaign doesn't run unless * you resume it by changing this value to false.

*/ inline bool IsPausedHasBeenSet() const { return m_isPausedHasBeenSet; } /** *

Specifies whether to pause the campaign. A paused campaign doesn't run unless * you resume it by changing this value to false.

*/ inline void SetIsPaused(bool value) { m_isPausedHasBeenSet = true; m_isPaused = value; } /** *

Specifies whether to pause the campaign. A paused campaign doesn't run unless * you resume it by changing this value to false.

*/ inline WriteCampaignRequest& WithIsPaused(bool value) { SetIsPaused(value); return *this;} /** *

The messaging limits for the campaign.

*/ inline const CampaignLimits& GetLimits() const{ return m_limits; } /** *

The messaging limits for the campaign.

*/ inline bool LimitsHasBeenSet() const { return m_limitsHasBeenSet; } /** *

The messaging limits for the campaign.

*/ inline void SetLimits(const CampaignLimits& value) { m_limitsHasBeenSet = true; m_limits = value; } /** *

The messaging limits for the campaign.

*/ inline void SetLimits(CampaignLimits&& value) { m_limitsHasBeenSet = true; m_limits = std::move(value); } /** *

The messaging limits for the campaign.

*/ inline WriteCampaignRequest& WithLimits(const CampaignLimits& value) { SetLimits(value); return *this;} /** *

The messaging limits for the campaign.

*/ inline WriteCampaignRequest& WithLimits(CampaignLimits&& value) { SetLimits(std::move(value)); return *this;} /** *

The message configuration settings for the campaign.

*/ inline const MessageConfiguration& GetMessageConfiguration() const{ return m_messageConfiguration; } /** *

The message configuration settings for the campaign.

*/ inline bool MessageConfigurationHasBeenSet() const { return m_messageConfigurationHasBeenSet; } /** *

The message configuration settings for the campaign.

*/ inline void SetMessageConfiguration(const MessageConfiguration& value) { m_messageConfigurationHasBeenSet = true; m_messageConfiguration = value; } /** *

The message configuration settings for the campaign.

*/ inline void SetMessageConfiguration(MessageConfiguration&& value) { m_messageConfigurationHasBeenSet = true; m_messageConfiguration = std::move(value); } /** *

The message configuration settings for the campaign.

*/ inline WriteCampaignRequest& WithMessageConfiguration(const MessageConfiguration& value) { SetMessageConfiguration(value); return *this;} /** *

The message configuration settings for the campaign.

*/ inline WriteCampaignRequest& WithMessageConfiguration(MessageConfiguration&& value) { SetMessageConfiguration(std::move(value)); return *this;} /** *

A custom name for the campaign.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

A custom name for the campaign.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

A custom name for the campaign.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

A custom name for the campaign.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

A custom name for the campaign.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

A custom name for the campaign.

*/ inline WriteCampaignRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

A custom name for the campaign.

*/ inline WriteCampaignRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

A custom name for the campaign.

*/ inline WriteCampaignRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The schedule settings for the campaign.

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

The schedule settings for the campaign.

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

The schedule settings for the campaign.

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

The schedule settings for the campaign.

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

The schedule settings for the campaign.

*/ inline WriteCampaignRequest& WithSchedule(const Schedule& value) { SetSchedule(value); return *this;} /** *

The schedule settings for the campaign.

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

The unique identifier for the segment to associate with the campaign.

*/ inline const Aws::String& GetSegmentId() const{ return m_segmentId; } /** *

The unique identifier for the segment to associate with the campaign.

*/ inline bool SegmentIdHasBeenSet() const { return m_segmentIdHasBeenSet; } /** *

The unique identifier for the segment to associate with the campaign.

*/ inline void SetSegmentId(const Aws::String& value) { m_segmentIdHasBeenSet = true; m_segmentId = value; } /** *

The unique identifier for the segment to associate with the campaign.

*/ inline void SetSegmentId(Aws::String&& value) { m_segmentIdHasBeenSet = true; m_segmentId = std::move(value); } /** *

The unique identifier for the segment to associate with the campaign.

*/ inline void SetSegmentId(const char* value) { m_segmentIdHasBeenSet = true; m_segmentId.assign(value); } /** *

The unique identifier for the segment to associate with the campaign.

*/ inline WriteCampaignRequest& WithSegmentId(const Aws::String& value) { SetSegmentId(value); return *this;} /** *

The unique identifier for the segment to associate with the campaign.

*/ inline WriteCampaignRequest& WithSegmentId(Aws::String&& value) { SetSegmentId(std::move(value)); return *this;} /** *

The unique identifier for the segment to associate with the campaign.

*/ inline WriteCampaignRequest& WithSegmentId(const char* value) { SetSegmentId(value); return *this;} /** *

The version of the segment to associate with the campaign.

*/ inline int GetSegmentVersion() const{ return m_segmentVersion; } /** *

The version of the segment to associate with the campaign.

*/ inline bool SegmentVersionHasBeenSet() const { return m_segmentVersionHasBeenSet; } /** *

The version of the segment to associate with the campaign.

*/ inline void SetSegmentVersion(int value) { m_segmentVersionHasBeenSet = true; m_segmentVersion = value; } /** *

The version of the segment to associate with the campaign.

*/ inline WriteCampaignRequest& WithSegmentVersion(int value) { SetSegmentVersion(value); return *this;} /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

As of 22-05-2023 tags has been deprecated for update operations. * After this date any value in tags is not processed and an error code is not * returned. To manage tags we recommend using either Tags * in the API Reference for Amazon Pinpoint, resourcegroupstaggingapi * commands in the AWS Command Line Interface Documentation or resourcegroupstaggingapi * in the AWS SDK.

(Deprecated) A string-to-string map of * key-value pairs that defines the tags to associate with the campaign. Each tag * consists of a required tag key and an associated tag value.

*/ inline WriteCampaignRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The message template to use for the campaign.

*/ inline const TemplateConfiguration& GetTemplateConfiguration() const{ return m_templateConfiguration; } /** *

The message template to use for the campaign.

*/ inline bool TemplateConfigurationHasBeenSet() const { return m_templateConfigurationHasBeenSet; } /** *

The message template to use for the campaign.

*/ inline void SetTemplateConfiguration(const TemplateConfiguration& value) { m_templateConfigurationHasBeenSet = true; m_templateConfiguration = value; } /** *

The message template to use for the campaign.

*/ inline void SetTemplateConfiguration(TemplateConfiguration&& value) { m_templateConfigurationHasBeenSet = true; m_templateConfiguration = std::move(value); } /** *

The message template to use for the campaign.

*/ inline WriteCampaignRequest& WithTemplateConfiguration(const TemplateConfiguration& value) { SetTemplateConfiguration(value); return *this;} /** *

The message template to use for the campaign.

*/ inline WriteCampaignRequest& WithTemplateConfiguration(TemplateConfiguration&& value) { SetTemplateConfiguration(std::move(value)); return *this;} /** *

A custom description of the default treatment for the campaign.

*/ inline const Aws::String& GetTreatmentDescription() const{ return m_treatmentDescription; } /** *

A custom description of the default treatment for the campaign.

*/ inline bool TreatmentDescriptionHasBeenSet() const { return m_treatmentDescriptionHasBeenSet; } /** *

A custom description of the default treatment for the campaign.

*/ inline void SetTreatmentDescription(const Aws::String& value) { m_treatmentDescriptionHasBeenSet = true; m_treatmentDescription = value; } /** *

A custom description of the default treatment for the campaign.

*/ inline void SetTreatmentDescription(Aws::String&& value) { m_treatmentDescriptionHasBeenSet = true; m_treatmentDescription = std::move(value); } /** *

A custom description of the default treatment for the campaign.

*/ inline void SetTreatmentDescription(const char* value) { m_treatmentDescriptionHasBeenSet = true; m_treatmentDescription.assign(value); } /** *

A custom description of the default treatment for the campaign.

*/ inline WriteCampaignRequest& WithTreatmentDescription(const Aws::String& value) { SetTreatmentDescription(value); return *this;} /** *

A custom description of the default treatment for the campaign.

*/ inline WriteCampaignRequest& WithTreatmentDescription(Aws::String&& value) { SetTreatmentDescription(std::move(value)); return *this;} /** *

A custom description of the default treatment for the campaign.

*/ inline WriteCampaignRequest& WithTreatmentDescription(const char* value) { SetTreatmentDescription(value); return *this;} /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline const Aws::String& GetTreatmentName() const{ return m_treatmentName; } /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline bool TreatmentNameHasBeenSet() const { return m_treatmentNameHasBeenSet; } /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline void SetTreatmentName(const Aws::String& value) { m_treatmentNameHasBeenSet = true; m_treatmentName = value; } /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline void SetTreatmentName(Aws::String&& value) { m_treatmentNameHasBeenSet = true; m_treatmentName = std::move(value); } /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline void SetTreatmentName(const char* value) { m_treatmentNameHasBeenSet = true; m_treatmentName.assign(value); } /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline WriteCampaignRequest& WithTreatmentName(const Aws::String& value) { SetTreatmentName(value); return *this;} /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline WriteCampaignRequest& WithTreatmentName(Aws::String&& value) { SetTreatmentName(std::move(value)); return *this;} /** *

A custom name of the default treatment for the campaign, if the campaign has * multiple treatments. A treatment is a variation of a campaign that's used * for A/B testing.

*/ inline WriteCampaignRequest& WithTreatmentName(const char* value) { SetTreatmentName(value); return *this;} /** *

Defines the priority of the campaign, used to decide the order of messages * displayed to user if there are multiple messages scheduled to be displayed at * the same moment.

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

Defines the priority of the campaign, used to decide the order of messages * displayed to user if there are multiple messages scheduled to be displayed at * the same moment.

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

Defines the priority of the campaign, used to decide the order of messages * displayed to user if there are multiple messages scheduled to be displayed at * the same moment.

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

Defines the priority of the campaign, used to decide the order of messages * displayed to user if there are multiple messages scheduled to be displayed at * the same moment.

*/ inline WriteCampaignRequest& WithPriority(int value) { SetPriority(value); return *this;} private: Aws::Vector m_additionalTreatments; bool m_additionalTreatmentsHasBeenSet = false; CustomDeliveryConfiguration m_customDeliveryConfiguration; bool m_customDeliveryConfigurationHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; int m_holdoutPercent; bool m_holdoutPercentHasBeenSet = false; CampaignHook m_hook; bool m_hookHasBeenSet = false; bool m_isPaused; bool m_isPausedHasBeenSet = false; CampaignLimits m_limits; bool m_limitsHasBeenSet = false; MessageConfiguration m_messageConfiguration; bool m_messageConfigurationHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Schedule m_schedule; bool m_scheduleHasBeenSet = false; Aws::String m_segmentId; bool m_segmentIdHasBeenSet = false; int m_segmentVersion; bool m_segmentVersionHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; TemplateConfiguration m_templateConfiguration; bool m_templateConfigurationHasBeenSet = false; Aws::String m_treatmentDescription; bool m_treatmentDescriptionHasBeenSet = false; Aws::String m_treatmentName; bool m_treatmentNameHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws