/** * 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 FunctionEventInvokeConfig { public: AWS_LAMBDA_API FunctionEventInvokeConfig(); AWS_LAMBDA_API FunctionEventInvokeConfig(Aws::Utils::Json::JsonView jsonValue); AWS_LAMBDA_API FunctionEventInvokeConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LAMBDA_API 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 a standard SQS queue.

  • * Topic - The ARN of a standard 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 a standard SQS queue.

  • * Topic - The ARN of a standard 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 a standard SQS queue.

  • * Topic - The ARN of a standard 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 a standard SQS queue.

  • * Topic - The ARN of a standard 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 a standard SQS queue.

  • * Topic - The ARN of a standard 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 a standard SQS queue.

  • * Topic - The ARN of a standard SNS topic.

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

*/ inline FunctionEventInvokeConfig& WithDestinationConfig(DestinationConfig&& value) { SetDestinationConfig(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } inline FunctionEventInvokeConfig& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline FunctionEventInvokeConfig& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline FunctionEventInvokeConfig& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::Utils::DateTime m_lastModified; bool m_lastModifiedHasBeenSet = false; Aws::String m_functionArn; bool m_functionArnHasBeenSet = false; int m_maximumRetryAttempts; bool m_maximumRetryAttemptsHasBeenSet = false; int m_maximumEventAgeInSeconds; bool m_maximumEventAgeInSecondsHasBeenSet = false; DestinationConfig m_destinationConfig; bool m_destinationConfigHasBeenSet = false; Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws