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

Provides information about the status of a campaign.

See Also:

* AWS * API Reference

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

The current status of the campaign, or the current status of a treatment that * belongs to an A/B test campaign.

If a campaign uses A/B testing, the * campaign has a status of COMPLETED only if all campaign treatments have a status * of COMPLETED. If you delete the segment that's associated with a campaign, the * campaign fails and has a status of DELETED.

*/ inline const CampaignStatus& GetCampaignStatus() const{ return m_campaignStatus; } /** *

The current status of the campaign, or the current status of a treatment that * belongs to an A/B test campaign.

If a campaign uses A/B testing, the * campaign has a status of COMPLETED only if all campaign treatments have a status * of COMPLETED. If you delete the segment that's associated with a campaign, the * campaign fails and has a status of DELETED.

*/ inline bool CampaignStatusHasBeenSet() const { return m_campaignStatusHasBeenSet; } /** *

The current status of the campaign, or the current status of a treatment that * belongs to an A/B test campaign.

If a campaign uses A/B testing, the * campaign has a status of COMPLETED only if all campaign treatments have a status * of COMPLETED. If you delete the segment that's associated with a campaign, the * campaign fails and has a status of DELETED.

*/ inline void SetCampaignStatus(const CampaignStatus& value) { m_campaignStatusHasBeenSet = true; m_campaignStatus = value; } /** *

The current status of the campaign, or the current status of a treatment that * belongs to an A/B test campaign.

If a campaign uses A/B testing, the * campaign has a status of COMPLETED only if all campaign treatments have a status * of COMPLETED. If you delete the segment that's associated with a campaign, the * campaign fails and has a status of DELETED.

*/ inline void SetCampaignStatus(CampaignStatus&& value) { m_campaignStatusHasBeenSet = true; m_campaignStatus = std::move(value); } /** *

The current status of the campaign, or the current status of a treatment that * belongs to an A/B test campaign.

If a campaign uses A/B testing, the * campaign has a status of COMPLETED only if all campaign treatments have a status * of COMPLETED. If you delete the segment that's associated with a campaign, the * campaign fails and has a status of DELETED.

*/ inline CampaignState& WithCampaignStatus(const CampaignStatus& value) { SetCampaignStatus(value); return *this;} /** *

The current status of the campaign, or the current status of a treatment that * belongs to an A/B test campaign.

If a campaign uses A/B testing, the * campaign has a status of COMPLETED only if all campaign treatments have a status * of COMPLETED. If you delete the segment that's associated with a campaign, the * campaign fails and has a status of DELETED.

*/ inline CampaignState& WithCampaignStatus(CampaignStatus&& value) { SetCampaignStatus(std::move(value)); return *this;} private: CampaignStatus m_campaignStatus; bool m_campaignStatusHasBeenSet; }; } // namespace Model } // namespace Pinpoint } // namespace Aws