/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A LambdaAuthorizerConfig
specifies how to authorize AppSync API
* access when using the AWS_LAMBDA
authorizer mode. Be aware that an
* AppSync API can have only one Lambda authorizer configured at a
* time.See Also:
AWS
* API Reference
The number of seconds a response should be cached for. The default is 0
* seconds, which disables caching. If you don't specify a value for
* authorizerResultTtlInSeconds
, the default value is used. The
* maximum value is one hour (3600 seconds). The Lambda function can override this
* by returning a ttlOverride
key in its response.
The number of seconds a response should be cached for. The default is 0
* seconds, which disables caching. If you don't specify a value for
* authorizerResultTtlInSeconds
, the default value is used. The
* maximum value is one hour (3600 seconds). The Lambda function can override this
* by returning a ttlOverride
key in its response.
The number of seconds a response should be cached for. The default is 0
* seconds, which disables caching. If you don't specify a value for
* authorizerResultTtlInSeconds
, the default value is used. The
* maximum value is one hour (3600 seconds). The Lambda function can override this
* by returning a ttlOverride
key in its response.
The number of seconds a response should be cached for. The default is 0
* seconds, which disables caching. If you don't specify a value for
* authorizerResultTtlInSeconds
, the default value is used. The
* maximum value is one hour (3600 seconds). The Lambda function can override this
* by returning a ttlOverride
key in its response.
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
The Amazon Resource Name (ARN) of the Lambda function to be called for
* authorization. This can be a standard Lambda ARN, a version ARN
* (.../v3
), or an alias ARN.
Note: This Lambda * function must have the following resource-based policy assigned to it. When * configuring Lambda authorizers in the console, this is done for you. To use the * Command Line Interface (CLI), run the following:
aws lambda
* add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id
* "appsync" --principal appsync.amazonaws.com --action
* lambda:InvokeFunction
A regular expression for validation of tokens before the Lambda function is * called.
*/ inline const Aws::String& GetIdentityValidationExpression() const{ return m_identityValidationExpression; } /** *A regular expression for validation of tokens before the Lambda function is * called.
*/ inline bool IdentityValidationExpressionHasBeenSet() const { return m_identityValidationExpressionHasBeenSet; } /** *A regular expression for validation of tokens before the Lambda function is * called.
*/ inline void SetIdentityValidationExpression(const Aws::String& value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression = value; } /** *A regular expression for validation of tokens before the Lambda function is * called.
*/ inline void SetIdentityValidationExpression(Aws::String&& value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression = std::move(value); } /** *A regular expression for validation of tokens before the Lambda function is * called.
*/ inline void SetIdentityValidationExpression(const char* value) { m_identityValidationExpressionHasBeenSet = true; m_identityValidationExpression.assign(value); } /** *A regular expression for validation of tokens before the Lambda function is * called.
*/ inline LambdaAuthorizerConfig& WithIdentityValidationExpression(const Aws::String& value) { SetIdentityValidationExpression(value); return *this;} /** *A regular expression for validation of tokens before the Lambda function is * called.
*/ inline LambdaAuthorizerConfig& WithIdentityValidationExpression(Aws::String&& value) { SetIdentityValidationExpression(std::move(value)); return *this;} /** *A regular expression for validation of tokens before the Lambda function is * called.
*/ inline LambdaAuthorizerConfig& WithIdentityValidationExpression(const char* value) { SetIdentityValidationExpression(value); return *this;} private: int m_authorizerResultTtlInSeconds; bool m_authorizerResultTtlInSecondsHasBeenSet = false; Aws::String m_authorizerUri; bool m_authorizerUriHasBeenSet = false; Aws::String m_identityValidationExpression; bool m_identityValidationExpressionHasBeenSet = false; }; } // namespace Model } // namespace AppSync } // namespace Aws