/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Provides information about an application, including the default settings for * an application.

See Also:

AWS * API Reference

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

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