/** * 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 IoTEvents { namespace Model { /** *

Calls a Lambda function, passing in information about the detector model * instance and the event that triggered the action.

See Also:

AWS * API Reference

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

The ARN of the Lambda function that is executed.

*/ inline const Aws::String& GetFunctionArn() const{ return m_functionArn; } /** *

The ARN of the Lambda function that is executed.

*/ inline bool FunctionArnHasBeenSet() const { return m_functionArnHasBeenSet; } /** *

The ARN of the Lambda function that is executed.

*/ inline void SetFunctionArn(const Aws::String& value) { m_functionArnHasBeenSet = true; m_functionArn = value; } /** *

The ARN of the Lambda function that is executed.

*/ inline void SetFunctionArn(Aws::String&& value) { m_functionArnHasBeenSet = true; m_functionArn = std::move(value); } /** *

The ARN of the Lambda function that is executed.

*/ inline void SetFunctionArn(const char* value) { m_functionArnHasBeenSet = true; m_functionArn.assign(value); } /** *

The ARN of the Lambda function that is executed.

*/ inline LambdaAction& WithFunctionArn(const Aws::String& value) { SetFunctionArn(value); return *this;} /** *

The ARN of the Lambda function that is executed.

*/ inline LambdaAction& WithFunctionArn(Aws::String&& value) { SetFunctionArn(std::move(value)); return *this;} /** *

The ARN of the Lambda function that is executed.

*/ inline LambdaAction& WithFunctionArn(const char* value) { SetFunctionArn(value); return *this;} /** *

You can configure the action payload when you send a message to a Lambda * function.

*/ inline const Payload& GetPayload() const{ return m_payload; } /** *

You can configure the action payload when you send a message to a Lambda * function.

*/ inline bool PayloadHasBeenSet() const { return m_payloadHasBeenSet; } /** *

You can configure the action payload when you send a message to a Lambda * function.

*/ inline void SetPayload(const Payload& value) { m_payloadHasBeenSet = true; m_payload = value; } /** *

You can configure the action payload when you send a message to a Lambda * function.

*/ inline void SetPayload(Payload&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); } /** *

You can configure the action payload when you send a message to a Lambda * function.

*/ inline LambdaAction& WithPayload(const Payload& value) { SetPayload(value); return *this;} /** *

You can configure the action payload when you send a message to a Lambda * function.

*/ inline LambdaAction& WithPayload(Payload&& value) { SetPayload(std::move(value)); return *this;} private: Aws::String m_functionArn; bool m_functionArnHasBeenSet = false; Payload m_payload; bool m_payloadHasBeenSet = false; }; } // namespace Model } // namespace IoTEvents } // namespace Aws