/** * 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 UpdateFunctionUrlConfigRequest : public LambdaRequest { public: AWS_LAMBDA_API UpdateFunctionUrlConfigRequest(); // 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 "UpdateFunctionUrlConfig"; } AWS_LAMBDA_API Aws::String SerializePayload() const override; AWS_LAMBDA_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The name of the Lambda function.

Name formats *

  • Function namemy-function.

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

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

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.

Name formats *

  • Function namemy-function.

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

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

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.

Name formats *

  • Function namemy-function.

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

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

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.

Name formats *

  • Function namemy-function.

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

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

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.

Name formats *

  • Function namemy-function.

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

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

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.

Name formats *

  • Function namemy-function.

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

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

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 UpdateFunctionUrlConfigRequest& WithFunctionName(const Aws::String& value) { SetFunctionName(value); return *this;} /** *

The name of the Lambda function.

Name formats *

  • Function namemy-function.

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

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

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 UpdateFunctionUrlConfigRequest& WithFunctionName(Aws::String&& value) { SetFunctionName(std::move(value)); return *this;} /** *

The name of the Lambda function.

Name formats *

  • Function namemy-function.

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

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

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 UpdateFunctionUrlConfigRequest& WithFunctionName(const char* value) { SetFunctionName(value); return *this;} /** *

The alias name.

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

The alias name.

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

The alias name.

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

The alias name.

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

The alias name.

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

The alias name.

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

The alias name.

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

The alias name.

*/ inline UpdateFunctionUrlConfigRequest& WithQualifier(const char* value) { SetQualifier(value); return *this;} /** *

The type of authentication that your function URL uses. Set to * AWS_IAM if you want to restrict access to authenticated users only. * Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and * auth model for Lambda function URLs.

*/ inline const FunctionUrlAuthType& GetAuthType() const{ return m_authType; } /** *

The type of authentication that your function URL uses. Set to * AWS_IAM if you want to restrict access to authenticated users only. * Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and * auth model for Lambda function URLs.

*/ inline bool AuthTypeHasBeenSet() const { return m_authTypeHasBeenSet; } /** *

The type of authentication that your function URL uses. Set to * AWS_IAM if you want to restrict access to authenticated users only. * Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and * auth model for Lambda function URLs.

*/ inline void SetAuthType(const FunctionUrlAuthType& value) { m_authTypeHasBeenSet = true; m_authType = value; } /** *

The type of authentication that your function URL uses. Set to * AWS_IAM if you want to restrict access to authenticated users only. * Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and * auth model for Lambda function URLs.

*/ inline void SetAuthType(FunctionUrlAuthType&& value) { m_authTypeHasBeenSet = true; m_authType = std::move(value); } /** *

The type of authentication that your function URL uses. Set to * AWS_IAM if you want to restrict access to authenticated users only. * Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and * auth model for Lambda function URLs.

*/ inline UpdateFunctionUrlConfigRequest& WithAuthType(const FunctionUrlAuthType& value) { SetAuthType(value); return *this;} /** *

The type of authentication that your function URL uses. Set to * AWS_IAM if you want to restrict access to authenticated users only. * Set to NONE if you want to bypass IAM authentication to create a * public endpoint. For more information, see Security and * auth model for Lambda function URLs.

*/ inline UpdateFunctionUrlConfigRequest& WithAuthType(FunctionUrlAuthType&& value) { SetAuthType(std::move(value)); return *this;} /** *

The cross-origin * resource sharing (CORS) settings for your function URL.

*/ inline const Cors& GetCors() const{ return m_cors; } /** *

The cross-origin * resource sharing (CORS) settings for your function URL.

*/ inline bool CorsHasBeenSet() const { return m_corsHasBeenSet; } /** *

The cross-origin * resource sharing (CORS) settings for your function URL.

*/ inline void SetCors(const Cors& value) { m_corsHasBeenSet = true; m_cors = value; } /** *

The cross-origin * resource sharing (CORS) settings for your function URL.

*/ inline void SetCors(Cors&& value) { m_corsHasBeenSet = true; m_cors = std::move(value); } /** *

The cross-origin * resource sharing (CORS) settings for your function URL.

*/ inline UpdateFunctionUrlConfigRequest& WithCors(const Cors& value) { SetCors(value); return *this;} /** *

The cross-origin * resource sharing (CORS) settings for your function URL.

*/ inline UpdateFunctionUrlConfigRequest& WithCors(Cors&& value) { SetCors(std::move(value)); return *this;} /** *

Use one of the following options:

  • BUFFERED – * This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the * payload is complete. The maximum payload size is 6 MB.

  • * RESPONSE_STREAM – Your function streams payload results as they * become available. Lambda invokes your function using the * InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request * a quota increase.

*/ inline const InvokeMode& GetInvokeMode() const{ return m_invokeMode; } /** *

Use one of the following options:

  • BUFFERED – * This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the * payload is complete. The maximum payload size is 6 MB.

  • * RESPONSE_STREAM – Your function streams payload results as they * become available. Lambda invokes your function using the * InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request * a quota increase.

*/ inline bool InvokeModeHasBeenSet() const { return m_invokeModeHasBeenSet; } /** *

Use one of the following options:

  • BUFFERED – * This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the * payload is complete. The maximum payload size is 6 MB.

  • * RESPONSE_STREAM – Your function streams payload results as they * become available. Lambda invokes your function using the * InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request * a quota increase.

*/ inline void SetInvokeMode(const InvokeMode& value) { m_invokeModeHasBeenSet = true; m_invokeMode = value; } /** *

Use one of the following options:

  • BUFFERED – * This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the * payload is complete. The maximum payload size is 6 MB.

  • * RESPONSE_STREAM – Your function streams payload results as they * become available. Lambda invokes your function using the * InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request * a quota increase.

*/ inline void SetInvokeMode(InvokeMode&& value) { m_invokeModeHasBeenSet = true; m_invokeMode = std::move(value); } /** *

Use one of the following options:

  • BUFFERED – * This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the * payload is complete. The maximum payload size is 6 MB.

  • * RESPONSE_STREAM – Your function streams payload results as they * become available. Lambda invokes your function using the * InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request * a quota increase.

*/ inline UpdateFunctionUrlConfigRequest& WithInvokeMode(const InvokeMode& value) { SetInvokeMode(value); return *this;} /** *

Use one of the following options:

  • BUFFERED – * This is the default option. Lambda invokes your function using the * Invoke API operation. Invocation results are available when the * payload is complete. The maximum payload size is 6 MB.

  • * RESPONSE_STREAM – Your function streams payload results as they * become available. Lambda invokes your function using the * InvokeWithResponseStream API operation. The maximum response * payload size is 20 MB, however, you can request * a quota increase.

*/ inline UpdateFunctionUrlConfigRequest& WithInvokeMode(InvokeMode&& value) { SetInvokeMode(std::move(value)); return *this;} private: Aws::String m_functionName; bool m_functionNameHasBeenSet = false; Aws::String m_qualifier; bool m_qualifierHasBeenSet = false; FunctionUrlAuthType m_authType; bool m_authTypeHasBeenSet = false; Cors m_cors; bool m_corsHasBeenSet = false; InvokeMode m_invokeMode; bool m_invokeModeHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws