/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Http { class URI; } //namespace Http namespace Lambda { namespace Model { /** */ class InvokeRequest : public StreamingLambdaRequest { public: AWS_LAMBDA_API InvokeRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "Invoke"; } AWS_LAMBDA_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; AWS_LAMBDA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline const Aws::String& GetFunctionName() const{ return m_functionName; } /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline bool FunctionNameHasBeenSet() const { return m_functionNameHasBeenSet; } /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline void SetFunctionName(const Aws::String& value) { m_functionNameHasBeenSet = true; m_functionName = value; } /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline void SetFunctionName(Aws::String&& value) { m_functionNameHasBeenSet = true; m_functionName = std::move(value); } /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline void SetFunctionName(const char* value) { m_functionNameHasBeenSet = true; m_functionName.assign(value); } /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline InvokeRequest& WithFunctionName(const Aws::String& value) { SetFunctionName(value); return *this;} /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline InvokeRequest& WithFunctionName(Aws::String&& value) { SetFunctionName(std::move(value)); return *this;} /** *

The name of the Lambda function, version, or alias.

* Name formats

  • Function name – * my-function (name-only), my-function:v1 (with * alias).

  • Function ARN – * arn:aws:lambda:us-west-2:123456789012:function:my-function.

    *
  • Partial ARN – * 123456789012:function:my-function.

You can * append a version number or alias to any of the formats. The length constraint * applies only to the full ARN. If you specify only the function name, it is * limited to 64 characters in length.

*/ inline InvokeRequest& WithFunctionName(const char* value) { SetFunctionName(value); return *this;} /** *

Choose from the following options.

  • * RequestResponse (default) – Invoke the function synchronously. Keep * the connection open until the function returns a response or times out. The API * response includes the function response and additional data.

  • * Event – Invoke the function asynchronously. Send events that fail * multiple times to the function's dead-letter queue (if one is configured). The * API response only includes a status code.

  • DryRun * – Validate parameter values and verify that the user or role has permission to * invoke the function.

*/ inline const InvocationType& GetInvocationType() const{ return m_invocationType; } /** *

Choose from the following options.

  • * RequestResponse (default) – Invoke the function synchronously. Keep * the connection open until the function returns a response or times out. The API * response includes the function response and additional data.

  • * Event – Invoke the function asynchronously. Send events that fail * multiple times to the function's dead-letter queue (if one is configured). The * API response only includes a status code.

  • DryRun * – Validate parameter values and verify that the user or role has permission to * invoke the function.

*/ inline bool InvocationTypeHasBeenSet() const { return m_invocationTypeHasBeenSet; } /** *

Choose from the following options.

  • * RequestResponse (default) – Invoke the function synchronously. Keep * the connection open until the function returns a response or times out. The API * response includes the function response and additional data.

  • * Event – Invoke the function asynchronously. Send events that fail * multiple times to the function's dead-letter queue (if one is configured). The * API response only includes a status code.

  • DryRun * – Validate parameter values and verify that the user or role has permission to * invoke the function.

*/ inline void SetInvocationType(const InvocationType& value) { m_invocationTypeHasBeenSet = true; m_invocationType = value; } /** *

Choose from the following options.

  • * RequestResponse (default) – Invoke the function synchronously. Keep * the connection open until the function returns a response or times out. The API * response includes the function response and additional data.

  • * Event – Invoke the function asynchronously. Send events that fail * multiple times to the function's dead-letter queue (if one is configured). The * API response only includes a status code.

  • DryRun * – Validate parameter values and verify that the user or role has permission to * invoke the function.

*/ inline void SetInvocationType(InvocationType&& value) { m_invocationTypeHasBeenSet = true; m_invocationType = std::move(value); } /** *

Choose from the following options.

  • * RequestResponse (default) – Invoke the function synchronously. Keep * the connection open until the function returns a response or times out. The API * response includes the function response and additional data.

  • * Event – Invoke the function asynchronously. Send events that fail * multiple times to the function's dead-letter queue (if one is configured). The * API response only includes a status code.

  • DryRun * – Validate parameter values and verify that the user or role has permission to * invoke the function.

*/ inline InvokeRequest& WithInvocationType(const InvocationType& value) { SetInvocationType(value); return *this;} /** *

Choose from the following options.

  • * RequestResponse (default) – Invoke the function synchronously. Keep * the connection open until the function returns a response or times out. The API * response includes the function response and additional data.

  • * Event – Invoke the function asynchronously. Send events that fail * multiple times to the function's dead-letter queue (if one is configured). The * API response only includes a status code.

  • DryRun * – Validate parameter values and verify that the user or role has permission to * invoke the function.

*/ inline InvokeRequest& WithInvocationType(InvocationType&& value) { SetInvocationType(std::move(value)); return *this;} /** *

Set to Tail to include the execution log in the response. * Applies to synchronously invoked functions only.

*/ inline const LogType& GetLogType() const{ return m_logType; } /** *

Set to Tail to include the execution log in the response. * Applies to synchronously invoked functions only.

*/ inline bool LogTypeHasBeenSet() const { return m_logTypeHasBeenSet; } /** *

Set to Tail to include the execution log in the response. * Applies to synchronously invoked functions only.

*/ inline void SetLogType(const LogType& value) { m_logTypeHasBeenSet = true; m_logType = value; } /** *

Set to Tail to include the execution log in the response. * Applies to synchronously invoked functions only.

*/ inline void SetLogType(LogType&& value) { m_logTypeHasBeenSet = true; m_logType = std::move(value); } /** *

Set to Tail to include the execution log in the response. * Applies to synchronously invoked functions only.

*/ inline InvokeRequest& WithLogType(const LogType& value) { SetLogType(value); return *this;} /** *

Set to Tail to include the execution log in the response. * Applies to synchronously invoked functions only.

*/ inline InvokeRequest& WithLogType(LogType&& value) { SetLogType(std::move(value)); return *this;} /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline const Aws::String& GetClientContext() const{ return m_clientContext; } /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline bool ClientContextHasBeenSet() const { return m_clientContextHasBeenSet; } /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline void SetClientContext(const Aws::String& value) { m_clientContextHasBeenSet = true; m_clientContext = value; } /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline void SetClientContext(Aws::String&& value) { m_clientContextHasBeenSet = true; m_clientContext = std::move(value); } /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline void SetClientContext(const char* value) { m_clientContextHasBeenSet = true; m_clientContext.assign(value); } /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline InvokeRequest& WithClientContext(const Aws::String& value) { SetClientContext(value); return *this;} /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline InvokeRequest& WithClientContext(Aws::String&& value) { SetClientContext(std::move(value)); return *this;} /** *

Up to 3,583 bytes of base64-encoded data about the invoking client to pass to * the function in the context object.

*/ inline InvokeRequest& WithClientContext(const char* value) { SetClientContext(value); return *this;} /** *

Specify a version or alias to invoke a published version of the function.

*/ inline const Aws::String& GetQualifier() const{ return m_qualifier; } /** *

Specify a version or alias to invoke a published version of the function.

*/ inline bool QualifierHasBeenSet() const { return m_qualifierHasBeenSet; } /** *

Specify a version or alias to invoke a published version of the function.

*/ inline void SetQualifier(const Aws::String& value) { m_qualifierHasBeenSet = true; m_qualifier = value; } /** *

Specify a version or alias to invoke a published version of the function.

*/ inline void SetQualifier(Aws::String&& value) { m_qualifierHasBeenSet = true; m_qualifier = std::move(value); } /** *

Specify a version or alias to invoke a published version of the function.

*/ inline void SetQualifier(const char* value) { m_qualifierHasBeenSet = true; m_qualifier.assign(value); } /** *

Specify a version or alias to invoke a published version of the function.

*/ inline InvokeRequest& WithQualifier(const Aws::String& value) { SetQualifier(value); return *this;} /** *

Specify a version or alias to invoke a published version of the function.

*/ inline InvokeRequest& WithQualifier(Aws::String&& value) { SetQualifier(std::move(value)); return *this;} /** *

Specify a version or alias to invoke a published version of the function.

*/ inline InvokeRequest& WithQualifier(const char* value) { SetQualifier(value); return *this;} private: Aws::String m_functionName; bool m_functionNameHasBeenSet = false; InvocationType m_invocationType; bool m_invocationTypeHasBeenSet = false; LogType m_logType; bool m_logTypeHasBeenSet = false; Aws::String m_clientContext; bool m_clientContextHasBeenSet = false; Aws::String m_qualifier; bool m_qualifierHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws