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

When configuring application output, identifies an AWS Lambda function as the * destination. You provide the function Amazon Resource Name (ARN) and also an IAM * role ARN that Amazon Kinesis Analytics can use to write to the function on your * behalf.

See Also:

AWS * API Reference

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

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline const Aws::String& GetResourceARN() const{ return m_resourceARN; } /** *

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; } /** *

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; } /** *

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); } /** *

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); } /** *

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline LambdaOutput& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;} /** *

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline LambdaOutput& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;} /** *

Amazon Resource Name (ARN) of the destination Lambda function to write * to.

To specify an earlier version of the Lambda function than the * latest, include the Lambda function version in the Lambda function ARN. For more * information about Lambda ARNs, see Example * ARNs: AWS Lambda

*/ inline LambdaOutput& WithResourceARN(const char* value) { SetResourceARN(value); return *this;} /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline const Aws::String& GetRoleARN() const{ return m_roleARN; } /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline LambdaOutput& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline LambdaOutput& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} /** *

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the * destination function on your behalf. You need to grant the necessary permissions * to this role.

*/ inline LambdaOutput& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} private: Aws::String m_resourceARN; bool m_resourceARNHasBeenSet = false; Aws::String m_roleARN; bool m_roleARNHasBeenSet = false; }; } // namespace Model } // namespace KinesisAnalytics } // namespace Aws