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

Specifies settings for invoking an AWS Lambda function that customizes a * segment for a campaign.

See Also:

AWS * API Reference

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

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline const Aws::String& GetLambdaFunctionName() const{ return m_lambdaFunctionName; } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline bool LambdaFunctionNameHasBeenSet() const { return m_lambdaFunctionNameHasBeenSet; } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline void SetLambdaFunctionName(const Aws::String& value) { m_lambdaFunctionNameHasBeenSet = true; m_lambdaFunctionName = value; } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline void SetLambdaFunctionName(Aws::String&& value) { m_lambdaFunctionNameHasBeenSet = true; m_lambdaFunctionName = std::move(value); } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline void SetLambdaFunctionName(const char* value) { m_lambdaFunctionNameHasBeenSet = true; m_lambdaFunctionName.assign(value); } /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline CampaignHook& WithLambdaFunctionName(const Aws::String& value) { SetLambdaFunctionName(value); return *this;} /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline CampaignHook& WithLambdaFunctionName(Aws::String&& value) { SetLambdaFunctionName(std::move(value)); return *this;} /** *

The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon * Pinpoint invokes to customize a segment for a campaign.

*/ inline CampaignHook& WithLambdaFunctionName(const char* value) { SetLambdaFunctionName(value); return *this;} /** *

The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. * Possible values are:

  • FILTER - Invoke the function to customize * the segment that's used by a campaign.

  • DELIVERY - (Deprecated) * Previously, invoked the function to send a campaign through a custom channel. * This functionality is not supported anymore. To send a campaign through a custom * channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects * of the campaign.

*/ inline const Mode& GetMode() const{ return m_mode; } /** *

The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. * Possible values are:

  • FILTER - Invoke the function to customize * the segment that's used by a campaign.

  • DELIVERY - (Deprecated) * Previously, invoked the function to send a campaign through a custom channel. * This functionality is not supported anymore. To send a campaign through a custom * channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects * of the campaign.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. * Possible values are:

  • FILTER - Invoke the function to customize * the segment that's used by a campaign.

  • DELIVERY - (Deprecated) * Previously, invoked the function to send a campaign through a custom channel. * This functionality is not supported anymore. To send a campaign through a custom * channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects * of the campaign.

*/ inline void SetMode(const Mode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. * Possible values are:

  • FILTER - Invoke the function to customize * the segment that's used by a campaign.

  • DELIVERY - (Deprecated) * Previously, invoked the function to send a campaign through a custom channel. * This functionality is not supported anymore. To send a campaign through a custom * channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects * of the campaign.

*/ inline void SetMode(Mode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. * Possible values are:

  • FILTER - Invoke the function to customize * the segment that's used by a campaign.

  • DELIVERY - (Deprecated) * Previously, invoked the function to send a campaign through a custom channel. * This functionality is not supported anymore. To send a campaign through a custom * channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects * of the campaign.

*/ inline CampaignHook& WithMode(const Mode& value) { SetMode(value); return *this;} /** *

The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. * Possible values are:

  • FILTER - Invoke the function to customize * the segment that's used by a campaign.

  • DELIVERY - (Deprecated) * Previously, invoked the function to send a campaign through a custom channel. * This functionality is not supported anymore. To send a campaign through a custom * channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects * of the campaign.

*/ inline CampaignHook& WithMode(Mode&& value) { SetMode(std::move(value)); return *this;} /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline const Aws::String& GetWebUrl() const{ return m_webUrl; } /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline bool WebUrlHasBeenSet() const { return m_webUrlHasBeenSet; } /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline void SetWebUrl(const Aws::String& value) { m_webUrlHasBeenSet = true; m_webUrl = value; } /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline void SetWebUrl(Aws::String&& value) { m_webUrlHasBeenSet = true; m_webUrl = std::move(value); } /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline void SetWebUrl(const char* value) { m_webUrlHasBeenSet = true; m_webUrl.assign(value); } /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline CampaignHook& WithWebUrl(const Aws::String& value) { SetWebUrl(value); return *this;} /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline CampaignHook& WithWebUrl(Aws::String&& value) { SetWebUrl(std::move(value)); return *this;} /** *

The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over * HTTPS.

*/ inline CampaignHook& WithWebUrl(const char* value) { SetWebUrl(value); return *this;} private: Aws::String m_lambdaFunctionName; bool m_lambdaFunctionNameHasBeenSet = false; Mode m_mode; bool m_modeHasBeenSet = false; Aws::String m_webUrl; bool m_webUrlHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws