/** * 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 Lambda { namespace Model { class AWS_LAMBDA_API FunctionEventInvokeConfig { public: FunctionEventInvokeConfig(); FunctionEventInvokeConfig(Aws::Utils::Json::JsonView jsonValue); FunctionEventInvokeConfig& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The date and time that the configuration was last updated.

*/ inline const Aws::Utils::DateTime& GetLastModified() const{ return m_lastModified; } /** *

The date and time that the configuration was last updated.

*/ inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; } /** *

The date and time that the configuration was last updated.

*/ inline void SetLastModified(const Aws::Utils::DateTime& value) { m_lastModifiedHasBeenSet = true; m_lastModified = value; } /** *

The date and time that the configuration was last updated.

*/ inline void SetLastModified(Aws::Utils::DateTime&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::move(value); } /** *

The date and time that the configuration was last updated.

*/ inline FunctionEventInvokeConfig& WithLastModified(const Aws::Utils::DateTime& value) { SetLastModified(value); return *this;} /** *

The date and time that the configuration was last updated.

*/ inline FunctionEventInvokeConfig& WithLastModified(Aws::Utils::DateTime&& value) { SetLastModified(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the function.

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

The Amazon Resource Name (ARN) of the function.

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

The Amazon Resource Name (ARN) of the function.

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

The Amazon Resource Name (ARN) of the function.

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

The Amazon Resource Name (ARN) of the function.

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

The Amazon Resource Name (ARN) of the function.

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

The Amazon Resource Name (ARN) of the function.

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

The Amazon Resource Name (ARN) of the function.

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

The maximum number of times to retry when the function returns an error.

*/ inline int GetMaximumRetryAttempts() const{ return m_maximumRetryAttempts; } /** *

The maximum number of times to retry when the function returns an error.

*/ inline bool MaximumRetryAttemptsHasBeenSet() const { return m_maximumRetryAttemptsHasBeenSet; } /** *

The maximum number of times to retry when the function returns an error.

*/ inline void SetMaximumRetryAttempts(int value) { m_maximumRetryAttemptsHasBeenSet = true; m_maximumRetryAttempts = value; } /** *

The maximum number of times to retry when the function returns an error.

*/ inline FunctionEventInvokeConfig& WithMaximumRetryAttempts(int value) { SetMaximumRetryAttempts(value); return *this;} /** *

The maximum age of a request that Lambda sends to a function for * processing.

*/ inline int GetMaximumEventAgeInSeconds() const{ return m_maximumEventAgeInSeconds; } /** *

The maximum age of a request that Lambda sends to a function for * processing.

*/ inline bool MaximumEventAgeInSecondsHasBeenSet() const { return m_maximumEventAgeInSecondsHasBeenSet; } /** *

The maximum age of a request that Lambda sends to a function for * processing.

*/ inline void SetMaximumEventAgeInSeconds(int value) { m_maximumEventAgeInSecondsHasBeenSet = true; m_maximumEventAgeInSeconds = value; } /** *

The maximum age of a request that Lambda sends to a function for * processing.

*/ inline FunctionEventInvokeConfig& WithMaximumEventAgeInSeconds(int value) { SetMaximumEventAgeInSeconds(value); return *this;} /** *

A destination for events after they have been sent to a function for * processing.

Destinations

  • * Function - The Amazon Resource Name (ARN) of a Lambda function.

  • *
  • Queue - The ARN of an SQS queue.

  • Topic * - The ARN of an SNS topic.

  • Event Bus - The ARN of an * Amazon EventBridge event bus.

*/ inline const DestinationConfig& GetDestinationConfig() const{ return m_destinationConfig; } /** *

A destination for events after they have been sent to a function for * processing.

Destinations

  • * Function - The Amazon Resource Name (ARN) of a Lambda function.

  • *
  • Queue - The ARN of an SQS queue.

  • Topic * - The ARN of an SNS topic.

  • Event Bus - The ARN of an * Amazon EventBridge event bus.

*/ inline bool DestinationConfigHasBeenSet() const { return m_destinationConfigHasBeenSet; } /** *

A destination for events after they have been sent to a function for * processing.

Destinations

  • * Function - The Amazon Resource Name (ARN) of a Lambda function.

  • *
  • Queue - The ARN of an SQS queue.

  • Topic * - The ARN of an SNS topic.

  • Event Bus - The ARN of an * Amazon EventBridge event bus.

*/ inline void SetDestinationConfig(const DestinationConfig& value) { m_destinationConfigHasBeenSet = true; m_destinationConfig = value; } /** *

A destination for events after they have been sent to a function for * processing.

Destinations

  • * Function - The Amazon Resource Name (ARN) of a Lambda function.

  • *
  • Queue - The ARN of an SQS queue.

  • Topic * - The ARN of an SNS topic.

  • Event Bus - The ARN of an * Amazon EventBridge event bus.

*/ inline void SetDestinationConfig(DestinationConfig&& value) { m_destinationConfigHasBeenSet = true; m_destinationConfig = std::move(value); } /** *

A destination for events after they have been sent to a function for * processing.

Destinations

  • * Function - The Amazon Resource Name (ARN) of a Lambda function.

  • *
  • Queue - The ARN of an SQS queue.

  • Topic * - The ARN of an SNS topic.

  • Event Bus - The ARN of an * Amazon EventBridge event bus.

*/ inline FunctionEventInvokeConfig& WithDestinationConfig(const DestinationConfig& value) { SetDestinationConfig(value); return *this;} /** *

A destination for events after they have been sent to a function for * processing.

Destinations

  • * Function - The Amazon Resource Name (ARN) of a Lambda function.

  • *
  • Queue - The ARN of an SQS queue.

  • Topic * - The ARN of an SNS topic.

  • Event Bus - The ARN of an * Amazon EventBridge event bus.

*/ inline FunctionEventInvokeConfig& WithDestinationConfig(DestinationConfig&& value) { SetDestinationConfig(std::move(value)); return *this;} private: Aws::Utils::DateTime m_lastModified; bool m_lastModifiedHasBeenSet; Aws::String m_functionArn; bool m_functionArnHasBeenSet; int m_maximumRetryAttempts; bool m_maximumRetryAttemptsHasBeenSet; int m_maximumEventAgeInSeconds; bool m_maximumEventAgeInSecondsHasBeenSet; DestinationConfig m_destinationConfig; bool m_destinationConfigHasBeenSet; }; } // namespace Model } // namespace Lambda } // namespace Aws