/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A container for specifying the configuration for Lambda
* notifications.See Also:
AWS
* API Reference
The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline const Aws::String& GetLambdaFunctionArn() const{ return m_lambdaFunctionArn; } /** *The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline bool LambdaFunctionArnHasBeenSet() const { return m_lambdaFunctionArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline void SetLambdaFunctionArn(const Aws::String& value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn = value; } /** *The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline void SetLambdaFunctionArn(Aws::String&& value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline void SetLambdaFunctionArn(const char* value) { m_lambdaFunctionArnHasBeenSet = true; m_lambdaFunctionArn.assign(value); } /** *The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline LambdaFunctionConfiguration& WithLambdaFunctionArn(const Aws::String& value) { SetLambdaFunctionArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline LambdaFunctionConfiguration& WithLambdaFunctionArn(Aws::String&& value) { SetLambdaFunctionArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the Lambda function that Amazon S3 invokes * when the specified event type occurs.
*/ inline LambdaFunctionConfiguration& WithLambdaFunctionArn(const char* value) { SetLambdaFunctionArn(value); return *this;} /** *The Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline const Aws::VectorThe Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** *The Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline void SetEvents(const Aws::VectorThe Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline void SetEvents(Aws::VectorThe Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline LambdaFunctionConfiguration& WithEvents(const Aws::VectorThe Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline LambdaFunctionConfiguration& WithEvents(Aws::VectorThe Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline LambdaFunctionConfiguration& AddEvents(const Event& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } /** *The Amazon S3 bucket event for which to invoke the Lambda function. For more * information, see Supported * Event Types in the Amazon S3 User Guide.
*/ inline LambdaFunctionConfiguration& AddEvents(Event&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } inline const NotificationConfigurationFilter& GetFilter() const{ return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } inline void SetFilter(const NotificationConfigurationFilter& value) { m_filterHasBeenSet = true; m_filter = value; } inline void SetFilter(NotificationConfigurationFilter&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } inline LambdaFunctionConfiguration& WithFilter(const NotificationConfigurationFilter& value) { SetFilter(value); return *this;} inline LambdaFunctionConfiguration& WithFilter(NotificationConfigurationFilter&& value) { SetFilter(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet; Aws::String m_lambdaFunctionArn; bool m_lambdaFunctionArnHasBeenSet; Aws::Vector