/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 default settings for an application.

See Also:

* AWS * API Reference

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

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.

To override these settings * and define custom settings for a specific campaign, use the CampaignHook object * of the Campaign * resource.

*/ 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.

To override these settings * and define custom settings for a specific campaign, use the CampaignHook object * of the Campaign * resource.

*/ 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.

To override these settings * and define custom settings for a specific campaign, use the CampaignHook object * of the Campaign * resource.

*/ 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.

To override these settings * and define custom settings for a specific campaign, use the CampaignHook object * of the Campaign * resource.

*/ 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.

To override these settings * and define custom settings for a specific campaign, use the CampaignHook object * of the Campaign * resource.

*/ inline WriteApplicationSettingsRequest& 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.

To override these settings * and define custom settings for a specific campaign, use the CampaignHook object * of the Campaign * resource.

*/ inline WriteApplicationSettingsRequest& WithCampaignHook(CampaignHook&& value) { SetCampaignHook(std::move(value)); return *this;} /** *

Specifies whether to enable application-related alarms in Amazon * CloudWatch.

*/ inline bool GetCloudWatchMetricsEnabled() const{ return m_cloudWatchMetricsEnabled; } /** *

Specifies whether to enable application-related alarms in Amazon * CloudWatch.

*/ inline bool CloudWatchMetricsEnabledHasBeenSet() const { return m_cloudWatchMetricsEnabledHasBeenSet; } /** *

Specifies whether to enable application-related alarms in Amazon * CloudWatch.

*/ inline void SetCloudWatchMetricsEnabled(bool value) { m_cloudWatchMetricsEnabledHasBeenSet = true; m_cloudWatchMetricsEnabled = value; } /** *

Specifies whether to enable application-related alarms in Amazon * CloudWatch.

*/ inline WriteApplicationSettingsRequest& WithCloudWatchMetricsEnabled(bool value) { SetCloudWatchMetricsEnabled(value); return *this;} inline bool GetEventTaggingEnabled() const{ return m_eventTaggingEnabled; } inline bool EventTaggingEnabledHasBeenSet() const { return m_eventTaggingEnabledHasBeenSet; } inline void SetEventTaggingEnabled(bool value) { m_eventTaggingEnabledHasBeenSet = true; m_eventTaggingEnabled = value; } inline WriteApplicationSettingsRequest& WithEventTaggingEnabled(bool value) { SetEventTaggingEnabled(value); return *this;} /** *

The default sending limits for campaigns in the application. To override * these limits and define custom limits for a specific campaign or journey, use * the Campaign * resource or the Journey resource, * respectively.

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

The default sending limits for campaigns in the application. To override * these limits and define custom limits for a specific campaign or journey, use * the Campaign * resource or the Journey resource, * respectively.

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

The default sending limits for campaigns in the application. To override * these limits and define custom limits for a specific campaign or journey, use * the Campaign * resource or the Journey resource, * respectively.

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

The default sending limits for campaigns in the application. To override * these limits and define custom limits for a specific campaign or journey, use * the Campaign * resource or the Journey resource, * respectively.

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

The default sending limits for campaigns in the application. To override * these limits and define custom limits for a specific campaign or journey, use * the Campaign * resource or the Journey resource, * respectively.

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

The default sending limits for campaigns in the application. To override * these limits and define custom limits for a specific campaign or journey, use * the Campaign * resource or the Journey resource, * respectively.

*/ inline WriteApplicationSettingsRequest& 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.

To override the default quiet time settings for a * specific campaign or journey, use the Campaign resource or * the Journey * resource to define a custom quiet time for the campaign or journey.

*/ 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.

To override the default quiet time settings for a * specific campaign or journey, use the Campaign resource or * the Journey * resource to define a custom quiet time for the campaign or journey.

*/ 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.

To override the default quiet time settings for a * specific campaign or journey, use the Campaign resource or * the Journey * resource to define a custom quiet time for the campaign or journey.

*/ 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.

To override the default quiet time settings for a * specific campaign or journey, use the Campaign resource or * the Journey * resource to define a custom quiet time for the campaign or journey.

*/ 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.

To override the default quiet time settings for a * specific campaign or journey, use the Campaign resource or * the Journey * resource to define a custom quiet time for the campaign or journey.

*/ inline WriteApplicationSettingsRequest& 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.

To override the default quiet time settings for a * specific campaign or journey, use the Campaign resource or * the Journey * resource to define a custom quiet time for the campaign or journey.

*/ inline WriteApplicationSettingsRequest& 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 WriteApplicationSettingsRequest& 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 WriteApplicationSettingsRequest& WithJourneyLimits(ApplicationSettingsJourneyLimits&& value) { SetJourneyLimits(std::move(value)); return *this;} private: CampaignHook m_campaignHook; bool m_campaignHookHasBeenSet = false; bool m_cloudWatchMetricsEnabled; bool m_cloudWatchMetricsEnabledHasBeenSet = false; bool m_eventTaggingEnabled; bool m_eventTaggingEnabledHasBeenSet = 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