/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides information about an application, including the default settings for
* an application.See Also:
AWS
* API Reference
The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } /** *The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } /** *The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } /** *The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } /** *The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline ApplicationSettingsResource& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline ApplicationSettingsResource& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *The unique identifier for the application. This identifier is displayed as * the Project ID on the Amazon Pinpoint console.
*/ inline ApplicationSettingsResource& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} /** *The settings for the AWS Lambda function to invoke by default as a code hook * for campaigns in the application. You can use this hook to customize segments * that are used by campaigns in the application.
*/ inline const CampaignHook& GetCampaignHook() const{ return m_campaignHook; } /** *The settings for the AWS Lambda function to invoke by default as a code hook * for campaigns in the application. You can use this hook to customize segments * that are used by campaigns in the application.
*/ inline bool CampaignHookHasBeenSet() const { return m_campaignHookHasBeenSet; } /** *The settings for the AWS Lambda function to invoke by default as a code hook * for campaigns in the application. You can use this hook to customize segments * that are used by campaigns in the application.
*/ inline void SetCampaignHook(const CampaignHook& value) { m_campaignHookHasBeenSet = true; m_campaignHook = value; } /** *The settings for the AWS Lambda function to invoke by default as a code hook * for campaigns in the application. You can use this hook to customize segments * that are used by campaigns in the application.
*/ inline void SetCampaignHook(CampaignHook&& value) { m_campaignHookHasBeenSet = true; m_campaignHook = std::move(value); } /** *The settings for the AWS Lambda function to invoke by default as a code hook * for campaigns in the application. You can use this hook to customize segments * that are used by campaigns in the application.
*/ inline ApplicationSettingsResource& WithCampaignHook(const CampaignHook& value) { SetCampaignHook(value); return *this;} /** *The settings for the AWS Lambda function to invoke by default as a code hook * for campaigns in the application. You can use this hook to customize segments * that are used by campaigns in the application.
*/ inline ApplicationSettingsResource& WithCampaignHook(CampaignHook&& value) { SetCampaignHook(std::move(value)); return *this;} /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; } /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); } /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); } /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline ApplicationSettingsResource& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;} /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline ApplicationSettingsResource& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;} /** *The date and time, in ISO 8601 format, when the application's settings were * last modified.
*/ inline ApplicationSettingsResource& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;} /** *The default sending limits for campaigns in the application.
*/ inline const CampaignLimits& GetLimits() const{ return m_limits; } /** *The default sending limits for campaigns in the application.
*/ inline bool LimitsHasBeenSet() const { return m_limitsHasBeenSet; } /** *The default sending limits for campaigns in the application.
*/ inline void SetLimits(const CampaignLimits& value) { m_limitsHasBeenSet = true; m_limits = value; } /** *The default sending limits for campaigns in the application.
*/ inline void SetLimits(CampaignLimits&& value) { m_limitsHasBeenSet = true; m_limits = std::move(value); } /** *The default sending limits for campaigns in the application.
*/ inline ApplicationSettingsResource& WithLimits(const CampaignLimits& value) { SetLimits(value); return *this;} /** *The default sending limits for campaigns in the application.
*/ inline ApplicationSettingsResource& WithLimits(CampaignLimits&& value) { SetLimits(std::move(value)); return *this;} /** *The default quiet time for campaigns in the application. Quiet time is a * specific time range when messages aren't sent to endpoints, if all the following * conditions are met:
The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.
The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the application (or a campaign or journey that has * custom quiet time settings).
The current time in the endpoint's * time zone is earlier than or equal to the time specified by the QuietTime.End * property for the application (or a campaign or journey that has custom quiet * time settings).
If any of the preceding conditions isn't met, * the endpoint will receive messages from a campaign or journey, even if quiet * time is enabled.
*/ inline const QuietTime& GetQuietTime() const{ return m_quietTime; } /** *The default quiet time for campaigns in the application. Quiet time is a * specific time range when messages aren't sent to endpoints, if all the following * conditions are met:
The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.
The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the application (or a campaign or journey that has * custom quiet time settings).
The current time in the endpoint's * time zone is earlier than or equal to the time specified by the QuietTime.End * property for the application (or a campaign or journey that has custom quiet * time settings).
If any of the preceding conditions isn't met, * the endpoint will receive messages from a campaign or journey, even if quiet * time is enabled.
*/ inline bool QuietTimeHasBeenSet() const { return m_quietTimeHasBeenSet; } /** *The default quiet time for campaigns in the application. Quiet time is a * specific time range when messages aren't sent to endpoints, if all the following * conditions are met:
The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.
The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the application (or a campaign or journey that has * custom quiet time settings).
The current time in the endpoint's * time zone is earlier than or equal to the time specified by the QuietTime.End * property for the application (or a campaign or journey that has custom quiet * time settings).
If any of the preceding conditions isn't met, * the endpoint will receive messages from a campaign or journey, even if quiet * time is enabled.
*/ inline void SetQuietTime(const QuietTime& value) { m_quietTimeHasBeenSet = true; m_quietTime = value; } /** *The default quiet time for campaigns in the application. Quiet time is a * specific time range when messages aren't sent to endpoints, if all the following * conditions are met:
The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.
The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the application (or a campaign or journey that has * custom quiet time settings).
The current time in the endpoint's * time zone is earlier than or equal to the time specified by the QuietTime.End * property for the application (or a campaign or journey that has custom quiet * time settings).
If any of the preceding conditions isn't met, * the endpoint will receive messages from a campaign or journey, even if quiet * time is enabled.
*/ inline void SetQuietTime(QuietTime&& value) { m_quietTimeHasBeenSet = true; m_quietTime = std::move(value); } /** *The default quiet time for campaigns in the application. Quiet time is a * specific time range when messages aren't sent to endpoints, if all the following * conditions are met:
The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.
The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the application (or a campaign or journey that has * custom quiet time settings).
The current time in the endpoint's * time zone is earlier than or equal to the time specified by the QuietTime.End * property for the application (or a campaign or journey that has custom quiet * time settings).
If any of the preceding conditions isn't met, * the endpoint will receive messages from a campaign or journey, even if quiet * time is enabled.
*/ inline ApplicationSettingsResource& WithQuietTime(const QuietTime& value) { SetQuietTime(value); return *this;} /** *The default quiet time for campaigns in the application. Quiet time is a * specific time range when messages aren't sent to endpoints, if all the following * conditions are met:
The EndpointDemographic.Timezone property of * the endpoint is set to a valid value.
The current time in the * endpoint's time zone is later than or equal to the time specified by the * QuietTime.Start property for the application (or a campaign or journey that has * custom quiet time settings).
The current time in the endpoint's * time zone is earlier than or equal to the time specified by the QuietTime.End * property for the application (or a campaign or journey that has custom quiet * time settings).
If any of the preceding conditions isn't met, * the endpoint will receive messages from a campaign or journey, even if quiet * time is enabled.
*/ inline ApplicationSettingsResource& WithQuietTime(QuietTime&& value) { SetQuietTime(std::move(value)); return *this;} /** *The default sending limits for journeys in the application. These limits * apply to each journey for the application but can be overridden, on a per * journey basis, with the JourneyLimits resource.
*/ inline const ApplicationSettingsJourneyLimits& GetJourneyLimits() const{ return m_journeyLimits; } /** *The default sending limits for journeys in the application. These limits * apply to each journey for the application but can be overridden, on a per * journey basis, with the JourneyLimits resource.
*/ inline bool JourneyLimitsHasBeenSet() const { return m_journeyLimitsHasBeenSet; } /** *The default sending limits for journeys in the application. These limits * apply to each journey for the application but can be overridden, on a per * journey basis, with the JourneyLimits resource.
*/ inline void SetJourneyLimits(const ApplicationSettingsJourneyLimits& value) { m_journeyLimitsHasBeenSet = true; m_journeyLimits = value; } /** *The default sending limits for journeys in the application. These limits * apply to each journey for the application but can be overridden, on a per * journey basis, with the JourneyLimits resource.
*/ inline void SetJourneyLimits(ApplicationSettingsJourneyLimits&& value) { m_journeyLimitsHasBeenSet = true; m_journeyLimits = std::move(value); } /** *The default sending limits for journeys in the application. These limits * apply to each journey for the application but can be overridden, on a per * journey basis, with the JourneyLimits resource.
*/ inline ApplicationSettingsResource& WithJourneyLimits(const ApplicationSettingsJourneyLimits& value) { SetJourneyLimits(value); return *this;} /** *The default sending limits for journeys in the application. These limits * apply to each journey for the application but can be overridden, on a per * journey basis, with the JourneyLimits resource.
*/ inline ApplicationSettingsResource& WithJourneyLimits(ApplicationSettingsJourneyLimits&& value) { SetJourneyLimits(std::move(value)); return *this;} private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; CampaignHook m_campaignHook; bool m_campaignHookHasBeenSet = false; Aws::String m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; CampaignLimits m_limits; bool m_limitsHasBeenSet = false; QuietTime m_quietTime; bool m_quietTimeHasBeenSet = false; ApplicationSettingsJourneyLimits m_journeyLimits; bool m_journeyLimitsHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws