/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 AWS_PINPOINT_API WriteApplicationSettingsRequest { public: WriteApplicationSettingsRequest(); WriteApplicationSettingsRequest(Aws::Utils::Json::JsonView jsonValue); WriteApplicationSettingsRequest& operator=(Aws::Utils::Json::JsonView jsonValue); 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;} /** *

The default sending limits for campaigns and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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 and journeys 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;} private: CampaignHook m_campaignHook; bool m_campaignHookHasBeenSet; bool m_cloudWatchMetricsEnabled; bool m_cloudWatchMetricsEnabledHasBeenSet; CampaignLimits m_limits; bool m_limitsHasBeenSet; QuietTime m_quietTime; bool m_quietTimeHasBeenSet; }; } // namespace Model } // namespace Pinpoint } // namespace Aws