@types/aws-lambda
- Version 8.10.145
- Published
- 166 kB
- No dependencies
- MIT license
Install
npm i @types/aws-lambda
yarn add @types/aws-lambda
pnpm add @types/aws-lambda
Overview
TypeScript definitions for aws-lambda
Index
Interfaces
Type Aliases
- AccountTakeOverActionType
- ALBCallback
- ALBHandler
- AmplifyGraphQlResolverHandler
- APIGatewayAuthorizerCallback
- APIGatewayAuthorizerEvent
- APIGatewayAuthorizerHandler
- APIGatewayAuthorizerWithContextCallback
- APIGatewayAuthorizerWithContextHandler
- APIGatewayEvent
- APIGatewayEventDefaultAuthorizerContext
- APIGatewayEventLambdaAuthorizerContext
- APIGatewayEventRequestContext
- APIGatewayProxyCallback
- APIGatewayProxyCallbackV2
- APIGatewayProxyEvent
- APIGatewayProxyEventV2
- APIGatewayProxyEventV2WithIAMAuthorizer
- APIGatewayProxyEventV2WithJWTAuthorizer
- APIGatewayProxyEventV2WithLambdaAuthorizer
- APIGatewayProxyHandler
- APIGatewayProxyHandlerV2
- APIGatewayProxyHandlerV2WithIAMAuthorizer
- APIGatewayProxyHandlerV2WithJWTAuthorizer
- APIGatewayProxyHandlerV2WithLambdaAuthorizer
- APIGatewayProxyResultV2
- APIGatewayProxyWebsocketEventV2
- APIGatewayProxyWebsocketHandlerV2
- APIGatewayProxyWithCognitoAuthorizerEvent
- APIGatewayProxyWithCognitoAuthorizerHandler
- APIGatewayProxyWithLambdaAuthorizerEvent
- APIGatewayProxyWithLambdaAuthorizerEventRequestContext
- APIGatewayProxyWithLambdaAuthorizerHandler
- APIGatewayRequestAuthorizerHandler
- APIGatewayRequestAuthorizerWithContextHandler
- APIGatewayRequestIAMAuthorizerHandlerV2
- APIGatewayRequestIAMAuthorizerV2WithContextHandler
- APIGatewayRequestSimpleAuthorizerHandlerV2
- APIGatewayRequestSimpleAuthorizerHandlerV2WithContext
- APIGatewayTokenAuthorizerHandler
- APIGatewayTokenAuthorizerWithContextHandler
- AppSyncAuthorizerHander
- AppSyncAuthorizerHandler
- AppSyncBatchResolverHandler
- AppSyncIdentity
- AppSyncResolverHandler
- ArtifactLocation
- AuthResponse
- AuthResponseContext
- AutoScalingInstanceMarketOption
- AutoScalingScaleInCallback
- AutoScalingScaleInCause
- AutoScalingScaleInHandler
- Callback
- CdkCustomResourceCallback
- CdkCustomResourceEvent
- CdkCustomResourceHandler
- CdkCustomResourceIsCompleteCallback
- CdkCustomResourceIsCompleteEvent
- CdkCustomResourceIsCompleteHandler
- CdkCustomResourceIsCompleteResponse
- CloudFormationCustomResourceEvent
- CloudFormationCustomResourceHandler
- CloudFormationCustomResourceResponse
- CloudFrontOrigin
- CloudFrontRequestCallback
- CloudFrontRequestHandler
- CloudFrontRequestResult
- CloudFrontResponseCallback
- CloudFrontResponseHandler
- CloudFrontResponseResult
- CloudFrontS3Origin
- CloudWatchAlarmHandler
- CloudWatchAlarmMetricDataQuery
- CloudWatchLogsHandler
- CodeBuildCacheType
- CodeBuildCloudWatchStateHandler
- CodeBuildEnvironmentComputeType
- CodeBuildEnvironmentPullCredentialsType
- CodeBuildEnvironmentType
- CodeBuildEnvironmentVariableType
- CodeBuildPhaseStatusType
- CodeBuildPhaseType
- CodeBuildSourceLocationType
- CodeBuildStateType
- CodeCommitHandler
- CodePipelineActionCategory
- CodePipelineActionState
- CodePipelineCloudWatchActionHandler
- CodePipelineCloudWatchEvent
- CodePipelineCloudWatchHandler
- CodePipelineCloudWatchPipelineHandler
- CodePipelineCloudWatchStageHandler
- CodePipelineHandler
- CodePipelineStageState
- CodePipelineState
- CognitoUserPoolEvent
- CognitoUserPoolTriggerHandler
- ConnectContactFlowCallback
- ConnectContactFlowChannel
- ConnectContactFlowHandler
- ConnectContactFlowInitiationMethod
- CreateAuthChallengeTriggerHandler
- CustomAuthorizerCallback
- CustomAuthorizerHandler
- CustomAuthorizerResult
- CustomEmailSenderTriggerEvent
- CustomEmailSenderTriggerHandler
- CustomerAudio
- CustomMessageAdminCreateUserTriggerEvent
- CustomMessageAuthenticationTriggerEvent
- CustomMessageForgotPasswordTriggerEvent
- CustomMessageResendCodeTriggerEvent
- CustomMessageSignUpTriggerEvent
- CustomMessageTriggerEvent
- CustomMessageTriggerHandler
- CustomMessageUpdateUserAttributeTriggerEvent
- CustomMessageVerifyUserAttributeTriggerEvent
- CustomSMSSenderTriggerEvent
- CustomSMSSenderTriggerHandler
- DefineAuthChallengeTriggerHandler
- DynamoDBStreamHandler
- EventBridgeHandler
- FirehoseRecordTransformationStatus
- FirehoseTransformationCallback
- FirehoseTransformationHandler
- Handler
- IoTCustomAuthorizerHandler
- IoTEvent
- IoTHandler
- IoTPreProvisioningHookHandler
- IoTProtocolType
- KinesisStreamHandler
- KinesisStreamTumblingWindowHandler
- LambdaFunctionURLCallback
- LambdaFunctionURLEvent
- LambdaFunctionURLEventWithIAMAuthorizer
- LambdaFunctionURLHandler
- LambdaFunctionURLHandlerWithIAMAuthorizer
- LambdaFunctionURLResult
- LevV2DialogActionWithoutSlot
- LexCallback
- LexDialogAction
- LexHandler
- LexV2Callback
- LexV2DialogAction
- LexV2Handler
- LexV2IntentState
- LexV2Message
- LexV2ResultDialogAction
- LexV2Slot
- LexV2Slots
- MSKHandler
- PostAuthenticationTriggerHandler
- PostConfirmationConfirmForgotPassword
- PostConfirmationConfirmSignUpTriggerEvent
- PostConfirmationTriggerEvent
- PostConfirmationTriggerHandler
- PreAuthenticationTriggerHandler
- PreSignUpAdminCreateUserTriggerEvent
- PreSignUpEmailTriggerEvent
- PreSignUpExternalProviderTriggerEvent
- PreSignUpTriggerEvent
- PreSignUpTriggerHandler
- PreTokenGenerationAuthenticateDeviceTriggerEvent
- PreTokenGenerationAuthenticateDeviceV2TriggerEvent
- PreTokenGenerationAuthenticationTriggerEvent
- PreTokenGenerationAuthenticationV2TriggerEvent
- PreTokenGenerationHostedAuthTriggerEvent
- PreTokenGenerationHostedAuthV2TriggerEvent
- PreTokenGenerationNewPasswordChallengeTriggerEvent
- PreTokenGenerationNewPasswordChallengeV2TriggerEvent
- PreTokenGenerationRefreshTokensTriggerEvent
- PreTokenGenerationRefreshTokensV2TriggerEvent
- PreTokenGenerationTriggerEvent
- PreTokenGenerationTriggerHandler
- PreTokenGenerationV2TriggerEvent
- PreTokenGenerationV2TriggerHandler
- PrincipalValue
- ProxyCallback
- ProxyHandler
- ProxyResult
- S3BatchCallback
- S3BatchHandler
- S3BatchResultResultCode
- S3CreateEvent
- S3Handler
- S3NotificationEvent
- S3NotificationEventBridgeHandler
- S3ObjectDeletedNotificationEventDetail
- ScheduledHandler
- SecretsManagerRotationEventStep
- SecretsManagerRotationHandler
- SelfManagedKafkaHandler
- SESHandler
- SNSHandler
- SQSHandler
- SQSMessageAttributeDataType
- Statement
- StatementAction
- StatementEffect
- StatementPrincipal
- StatementResource
- TransferFamilyAuthorizerHandler
- UserMigrationAuthenticationTriggerEvent
- UserMigrationForgotPasswordTriggerEvent
- UserMigrationTriggerEvent
- UserMigrationTriggerHandler
- UserStatus
- VerifyAuthChallengeResponseTriggerHandler
Interfaces
interface AccessTokenGeneration
interface AccessTokenGeneration {}
property claimsToAddOrOverride
claimsToAddOrOverride?: StringMap | undefined;
property claimsToSuppress
claimsToSuppress?: string[] | undefined;
property scopesToAdd
scopesToAdd?: string[] | undefined;
property scopesToSuppress
scopesToSuppress?: string[] | undefined;
interface ALBEvent
interface ALBEvent {}
property body
body: string | null;
property headers
headers?: ALBEventHeaders | undefined;
property httpMethod
httpMethod: string;
property isBase64Encoded
isBase64Encoded: boolean;
property multiValueHeaders
multiValueHeaders?: ALBEventMultiValueHeaders | undefined;
property multiValueQueryStringParameters
multiValueQueryStringParameters?: | ALBEventMultiValueQueryStringParameters | undefined;
property path
path: string;
property queryStringParameters
queryStringParameters?: ALBEventQueryStringParameters | undefined;
property requestContext
requestContext: ALBEventRequestContext;
interface ALBEventHeaders
interface ALBEventHeaders {}
index signature
[name: string]: string | undefined;
interface ALBEventMultiValueHeaders
interface ALBEventMultiValueHeaders {}
index signature
[name: string]: string[] | undefined;
interface ALBEventMultiValueQueryStringParameters
interface ALBEventMultiValueQueryStringParameters {}
index signature
[name: string]: string[] | undefined;
interface ALBEventQueryStringParameters
interface ALBEventQueryStringParameters {}
index signature
[name: string]: string | undefined;
interface ALBEventRequestContext
interface ALBEventRequestContext {}
property elb
elb: { targetGroupArn: string;};
interface ALBResult
interface ALBResult {}
property body
body?: string | undefined;
property headers
headers?: { [header: string]: boolean | number | string } | undefined;
property isBase64Encoded
isBase64Encoded?: boolean | undefined;
property multiValueHeaders
multiValueHeaders?: | { [header: string]: Array<boolean | number | string> } | undefined;
property statusCode
statusCode: number;
property statusDescription
statusDescription?: string | undefined;
interface AmplifyGraphQlResolverEvent
interface AmplifyGraphQlResolverEvent< TArguments = Record<string, any>, TSource = Record<string, any>> {}
An AWS Amplify GraphQL resolver event. It differs slightly from a native ('direct') AppSync resolver event.
See Also
https://docs.amplify.aws/cli/graphql/custom-business-logic/#structure-of-the-function-event
property arguments
arguments: TArguments;
A map of GraphQL arguments passed to the field being resolved.
property fieldName
fieldName: string;
The field within the given type to resolve.
property identity
identity?: AppSyncIdentity;
The identity used to authenticate the request to AppSync.
property prev
prev: { result: { [key: string]: any } } | null;
The object returned by a possible previous pipeline resolver function.
property request
request: { headers: AppSyncResolverEventHeaders; domainName: string | null;};
The request headers
property source
source: TSource;
The parent object's value if resolving a nested field.
property typeName
typeName: string;
The name of the parent object type (data model) of the field being resolved.
interface APIGatewayAuthorizerResult
interface APIGatewayAuthorizerResult {}
property context
context?: APIGatewayAuthorizerResultContext | null | undefined;
property policyDocument
policyDocument: PolicyDocument;
property principalId
principalId: string;
property usageIdentifierKey
usageIdentifierKey?: string | null | undefined;
interface APIGatewayAuthorizerResultContext
interface APIGatewayAuthorizerResultContext {}
index signature
[name: string]: string | number | boolean | null | undefined;
interface APIGatewayAuthorizerWithContextResult
interface APIGatewayAuthorizerWithContextResult< TAuthorizerContext extends APIGatewayAuthorizerResultContext> {}
property context
context: TAuthorizerContext;
property policyDocument
policyDocument: PolicyDocument;
property principalId
principalId: string;
property usageIdentifierKey
usageIdentifierKey?: string | null | undefined;
interface APIGatewayEventClientCertificate
interface APIGatewayEventClientCertificate {}
property clientCertPem
clientCertPem: string;
property issuerDN
issuerDN: string;
property serialNumber
serialNumber: string;
property subjectDN
subjectDN: string;
property validity
validity: { notAfter: string; notBefore: string;};
interface APIGatewayEventIdentity
interface APIGatewayEventIdentity {}
property accessKey
accessKey: string | null;
property accountId
accountId: string | null;
property apiKey
apiKey: string | null;
property apiKeyId
apiKeyId: string | null;
property caller
caller: string | null;
property clientCert
clientCert: APIGatewayEventClientCertificate | null;
property cognitoAuthenticationProvider
cognitoAuthenticationProvider: string | null;
property cognitoAuthenticationType
cognitoAuthenticationType: string | null;
property cognitoIdentityId
cognitoIdentityId: string | null;
property cognitoIdentityPoolId
cognitoIdentityPoolId: string | null;
property principalOrgId
principalOrgId: string | null;
property sourceIp
sourceIp: string;
property user
user: string | null;
property userAgent
userAgent: string | null;
property userArn
userArn: string | null;
interface APIGatewayEventRequestContextIAMAuthorizer
interface APIGatewayEventRequestContextIAMAuthorizer {}
IAM Authorizer Payload
property iam
iam: { accessKey: string; accountId: string; callerId: string; cognitoIdentity: null; principalOrgId: string; userArn: string; userId: string;};
interface APIGatewayEventRequestContextJWTAuthorizer
interface APIGatewayEventRequestContextJWTAuthorizer {}
JWT Authorizer Payload
property integrationLatency
integrationLatency: number;
property jwt
jwt: { claims: { [name: string]: string | number | boolean | string[] }; scopes: string[];};
property principalId
principalId: string;
interface APIGatewayEventRequestContextLambdaAuthorizer
interface APIGatewayEventRequestContextLambdaAuthorizer<TAuthorizerContext> {}
Lambda Authorizer Payload
property lambda
lambda: TAuthorizerContext;
interface APIGatewayEventRequestContextV2
interface APIGatewayEventRequestContextV2 {}
Works with HTTP API integration Payload Format version 2.0
See Also
- https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
property accountId
accountId: string;
property apiId
apiId: string;
property authentication
authentication?: { clientCert: APIGatewayEventClientCertificate;};
property domainName
domainName: string;
property domainPrefix
domainPrefix: string;
property http
http: { method: string; path: string; protocol: string; sourceIp: string; userAgent: string;};
property requestId
requestId: string;
property routeKey
routeKey: string;
property stage
stage: string;
property time
time: string;
property timeEpoch
timeEpoch: number;
interface APIGatewayEventRequestContextV2WithAuthorizer
interface APIGatewayEventRequestContextV2WithAuthorizer<TAuthorizer> extends APIGatewayEventRequestContextV2 {}
property authorizer
authorizer: TAuthorizer;
interface APIGatewayEventRequestContextWithAuthorizer
interface APIGatewayEventRequestContextWithAuthorizer<TAuthorizerContext> {}
property accountId
accountId: string;
property apiId
apiId: string;
property authorizer
authorizer: TAuthorizerContext;
property connectedAt
connectedAt?: number | undefined;
property connectionId
connectionId?: string | undefined;
property domainName
domainName?: string | undefined;
property domainPrefix
domainPrefix?: string | undefined;
property eventType
eventType?: string | undefined;
property extendedRequestId
extendedRequestId?: string | undefined;
property httpMethod
httpMethod: string;
property identity
identity: APIGatewayEventIdentity;
property messageDirection
messageDirection?: string | undefined;
property messageId
messageId?: string | null | undefined;
property path
path: string;
property protocol
protocol: string;
property requestId
requestId: string;
property requestTime
requestTime?: string | undefined;
property requestTimeEpoch
requestTimeEpoch: number;
property resourceId
resourceId: string;
property resourcePath
resourcePath: string;
property routeKey
routeKey?: string | undefined;
property stage
stage: string;
interface APIGatewayEventWebsocketRequestContextV2
interface APIGatewayEventWebsocketRequestContextV2 {}
Works with Websocket API integration Payload Format version 2.0
See Also
- https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-requests.html
- https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-mapping-template-reference.html
property apiId
apiId: string;
property connectedAt
connectedAt: number;
property connectionId
connectionId: string;
property domainName
domainName: string;
property eventType
eventType: 'CONNECT' | 'MESSAGE' | 'DISCONNECT';
property extendedRequestId
extendedRequestId: string;
property messageDirection
messageDirection: 'IN';
property messageId
messageId: string;
property requestId
requestId: string;
property requestTime
requestTime: string;
property requestTimeEpoch
requestTimeEpoch: number;
property routeKey
routeKey: string;
property stage
stage: string;
interface APIGatewayIAMAuthorizerResult
interface APIGatewayIAMAuthorizerResult {}
IAM Authorizer Types
property context
context?: APIGatewayAuthorizerResultContext | null | undefined;
property policyDocument
policyDocument: PolicyDocument;
property principalId
principalId: string;
property usageIdentifierKey
usageIdentifierKey?: string | null | undefined;
interface APIGatewayIAMAuthorizerWithContextResult
interface APIGatewayIAMAuthorizerWithContextResult< TAuthorizerContext extends APIGatewayAuthorizerResultContext> {}
property context
context: TAuthorizerContext;
property policyDocument
policyDocument: PolicyDocument;
property principalId
principalId: string;
property usageIdentifierKey
usageIdentifierKey?: string | null | undefined;
interface APIGatewayProxyCognitoAuthorizer
interface APIGatewayProxyCognitoAuthorizer {}
property claims
claims: { [name: string]: string;};
interface APIGatewayProxyEventBase
interface APIGatewayProxyEventBase<TAuthorizerContext> {}
property body
body: string | null;
property headers
headers: APIGatewayProxyEventHeaders;
property httpMethod
httpMethod: string;
property isBase64Encoded
isBase64Encoded: boolean;
property multiValueHeaders
multiValueHeaders: APIGatewayProxyEventMultiValueHeaders;
property multiValueQueryStringParameters
multiValueQueryStringParameters: APIGatewayProxyEventMultiValueQueryStringParameters | null;
property path
path: string;
property pathParameters
pathParameters: APIGatewayProxyEventPathParameters | null;
property queryStringParameters
queryStringParameters: APIGatewayProxyEventQueryStringParameters | null;
property requestContext
requestContext: APIGatewayEventRequestContextWithAuthorizer<TAuthorizerContext>;
property resource
resource: string;
property stageVariables
stageVariables: APIGatewayProxyEventStageVariables | null;
interface APIGatewayProxyEventHeaders
interface APIGatewayProxyEventHeaders {}
index signature
[name: string]: string | undefined;
interface APIGatewayProxyEventMultiValueHeaders
interface APIGatewayProxyEventMultiValueHeaders {}
index signature
[name: string]: string[] | undefined;
interface APIGatewayProxyEventMultiValueQueryStringParameters
interface APIGatewayProxyEventMultiValueQueryStringParameters {}
index signature
[name: string]: string[] | undefined;
interface APIGatewayProxyEventPathParameters
interface APIGatewayProxyEventPathParameters {}
index signature
[name: string]: string | undefined;
interface APIGatewayProxyEventQueryStringParameters
interface APIGatewayProxyEventQueryStringParameters {}
index signature
[name: string]: string | undefined;
interface APIGatewayProxyEventStageVariables
interface APIGatewayProxyEventStageVariables {}
index signature
[name: string]: string | undefined;
interface APIGatewayProxyEventV2WithRequestContext
interface APIGatewayProxyEventV2WithRequestContext<TRequestContext> {}
Proxy Event with adaptable requestContext for different authorizer scenarios
property body
body?: string;
property cookies
cookies?: string[];
property headers
headers: APIGatewayProxyEventHeaders;
property isBase64Encoded
isBase64Encoded: boolean;
property pathParameters
pathParameters?: APIGatewayProxyEventPathParameters;
property queryStringParameters
queryStringParameters?: APIGatewayProxyEventQueryStringParameters;
property rawPath
rawPath: string;
property rawQueryString
rawQueryString: string;
property requestContext
requestContext: TRequestContext;
property routeKey
routeKey: string;
property stageVariables
stageVariables?: APIGatewayProxyEventStageVariables;
property version
version: string;
interface APIGatewayProxyResult
interface APIGatewayProxyResult {}
Works with Lambda Proxy Integration for Rest API or HTTP API integration Payload Format version 1.0
See Also
- https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
property body
body: string;
property headers
headers?: | { [header: string]: boolean | number | string; } | undefined;
property isBase64Encoded
isBase64Encoded?: boolean | undefined;
property multiValueHeaders
multiValueHeaders?: | { [header: string]: Array<boolean | number | string>; } | undefined;
property statusCode
statusCode: number;
interface APIGatewayProxyStructuredResultV2
interface APIGatewayProxyStructuredResultV2 {}
Interface for structured response with
statusCode
andheaders
Works with HTTP API integration Payload Format version 2.0See Also
- https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
property body
body?: string | undefined;
property cookies
cookies?: string[] | undefined;
property headers
headers?: | { [header: string]: boolean | number | string; } | undefined;
property isBase64Encoded
isBase64Encoded?: boolean | undefined;
property statusCode
statusCode?: number | undefined;
interface APIGatewayProxyWebsocketEventV2WithRequestContext
interface APIGatewayProxyWebsocketEventV2WithRequestContext<TRequestContext> {}
Proxy Websocket Event with adaptable requestContext for different authorizer scenarios
property body
body?: string;
property isBase64Encoded
isBase64Encoded: boolean;
property requestContext
requestContext: TRequestContext;
property stageVariables
stageVariables?: APIGatewayProxyEventStageVariables;
interface APIGatewayRequestAuthorizerEvent
interface APIGatewayRequestAuthorizerEvent {}
property headers
headers: APIGatewayRequestAuthorizerEventHeaders | null;
property httpMethod
httpMethod: string;
property methodArn
methodArn: string;
property multiValueHeaders
multiValueHeaders: APIGatewayRequestAuthorizerEventMultiValueHeaders | null;
property multiValueQueryStringParameters
multiValueQueryStringParameters: APIGatewayRequestAuthorizerEventMultiValueQueryStringParameters | null;
property path
path: string;
property pathParameters
pathParameters: APIGatewayRequestAuthorizerEventPathParameters | null;
property queryStringParameters
queryStringParameters: APIGatewayRequestAuthorizerEventQueryStringParameters | null;
property requestContext
requestContext: APIGatewayEventRequestContextWithAuthorizer<undefined>;
property resource
resource: string;
property stageVariables
stageVariables: APIGatewayRequestAuthorizerEventStageVariables | null;
property type
type: 'REQUEST';
interface APIGatewayRequestAuthorizerEventHeaders
interface APIGatewayRequestAuthorizerEventHeaders {}
index signature
[name: string]: string | undefined;
interface APIGatewayRequestAuthorizerEventMultiValueHeaders
interface APIGatewayRequestAuthorizerEventMultiValueHeaders {}
index signature
[name: string]: string[] | undefined;
interface APIGatewayRequestAuthorizerEventMultiValueQueryStringParameters
interface APIGatewayRequestAuthorizerEventMultiValueQueryStringParameters {}
index signature
[name: string]: string[] | undefined;
interface APIGatewayRequestAuthorizerEventPathParameters
interface APIGatewayRequestAuthorizerEventPathParameters {}
index signature
[name: string]: string | undefined;
interface APIGatewayRequestAuthorizerEventQueryStringParameters
interface APIGatewayRequestAuthorizerEventQueryStringParameters {}
index signature
[name: string]: string | undefined;
interface APIGatewayRequestAuthorizerEventStageVariables
interface APIGatewayRequestAuthorizerEventStageVariables {}
index signature
[name: string]: string | undefined;
interface APIGatewayRequestAuthorizerEventV2
interface APIGatewayRequestAuthorizerEventV2 {}
property cookies
cookies: string[];
property headers
headers?: APIGatewayRequestAuthorizerEventHeaders;
property identitySource
identitySource: string[];
property pathParameters
pathParameters?: APIGatewayRequestAuthorizerEventPathParameters;
property queryStringParameters
queryStringParameters?: APIGatewayRequestAuthorizerEventQueryStringParameters;
property rawPath
rawPath: string;
property rawQueryString
rawQueryString: string;
property requestContext
requestContext: APIGatewayEventRequestContextV2;
property routeArn
routeArn: string;
property routeKey
routeKey: string;
property stageVariables
stageVariables?: APIGatewayRequestAuthorizerEventStageVariables;
property type
type: 'REQUEST';
property version
version: string;
interface APIGatewaySimpleAuthorizerResult
interface APIGatewaySimpleAuthorizerResult {}
Simple Lambda Authorizer Types V2 spec with simple response
See Also
- https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html
property isAuthorized
isAuthorized: boolean;
interface APIGatewaySimpleAuthorizerWithContextResult
interface APIGatewaySimpleAuthorizerWithContextResult<TAuthorizerContext> extends APIGatewaySimpleAuthorizerResult {}
property context
context: TAuthorizerContext;
interface APIGatewayTokenAuthorizerEvent
interface APIGatewayTokenAuthorizerEvent {}
property authorizationToken
authorizationToken: string;
property methodArn
methodArn: string;
property type
type: 'TOKEN';
interface AppSyncAuthorizerEvent
interface AppSyncAuthorizerEvent {}
property authorizationToken
authorizationToken: string;
property requestContext
requestContext: { apiId: string; accountId: string; requestId: string; queryString: string; operationName?: string; variables: { [key: string]: any };};
property requestHeaders
requestHeaders: AppSyncAuthorizerEventHeaders;
interface AppSyncAuthorizerEventHeaders
interface AppSyncAuthorizerEventHeaders {}
index signature
[name: string]: string | undefined;
interface AppSyncAuthorizerResult
interface AppSyncAuthorizerResult<TResolverContext = undefined> {}
property deniedFields
deniedFields?: string[];
property isAuthorized
isAuthorized: boolean;
property resolverContext
resolverContext?: TResolverContext;
property ttlOverride
ttlOverride?: number;
interface AppSyncIdentityCognito
interface AppSyncIdentityCognito {}
interface AppSyncIdentityIAM
interface AppSyncIdentityIAM {}
property accountId
accountId: string;
property cognitoIdentityAuthProvider
cognitoIdentityAuthProvider: string;
property cognitoIdentityAuthType
cognitoIdentityAuthType: string;
property cognitoIdentityId
cognitoIdentityId: string;
property cognitoIdentityPoolId
cognitoIdentityPoolId: string;
property sourceIp
sourceIp: string[];
property userArn
userArn: string;
property username
username: string;
interface AppSyncIdentityLambda
interface AppSyncIdentityLambda {}
property resolverContext
resolverContext: any;
interface AppSyncIdentityOIDC
interface AppSyncIdentityOIDC {}
interface AppSyncResolverEvent
interface AppSyncResolverEvent<TArguments, TSource = Record<string, any> | null> {}
See https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html
Parameter TArguments
type of the arguments
Parameter TSource
type of the source
property arguments
arguments: TArguments;
property identity
identity?: AppSyncIdentity;
property info
info: { selectionSetList: string[]; selectionSetGraphQL: string; parentTypeName: string; fieldName: string; variables: { [key: string]: any };};
property prev
prev: { result: { [key: string]: any } } | null;
property request
request: { headers: AppSyncResolverEventHeaders; /** The API's custom domain if used for the request. */ domainName: string | null;};
property source
source: TSource;
property stash
stash: { [key: string]: any };
interface AppSyncResolverEventHeaders
interface AppSyncResolverEventHeaders {}
index signature
[name: string]: string | undefined;
interface Artifact
interface Artifact {}
interface AttributeValue
interface AttributeValue {}
property B
B?: string | undefined;
property BOOL
BOOL?: boolean | undefined;
property BS
BS?: string[] | undefined;
property L
L?: AttributeValue[] | undefined;
property M
M?: { [id: string]: AttributeValue } | undefined;
property N
N?: string | undefined;
property NS
NS?: string[] | undefined;
property NULL
NULL?: boolean | undefined;
property S
S?: string | undefined;
property SS
SS?: string[] | undefined;
interface AutoScalingInstanceRecord
interface AutoScalingInstanceRecord {}
property AvailabilityZone
AvailabilityZone: string;
property InstanceId
InstanceId: string;
property InstanceMarketOption
InstanceMarketOption: AutoScalingInstanceMarketOption;
property InstanceType
InstanceType: string;
interface AutoScalingScaleInEvent
interface AutoScalingScaleInEvent {}
An Auto Scaling Group may trigger a Scale In Event when you have attached a custom termination policy function. This event and the expected response are described in the Auto Scaling docs at:
https://docs.aws.amazon.com/autoscaling/ec2/userguide/lambda-custom-termination-policy.html
property AutoScalingGroupARN
AutoScalingGroupARN: string;
property AutoScalingGroupName
AutoScalingGroupName: string;
property CapacityToTerminate
CapacityToTerminate: AutoScalingTerminationRequest[];
property Cause
Cause: AutoScalingScaleInCause;
property HasMoreInstances
HasMoreInstances?: boolean;
property Instances
Instances: AutoScalingInstanceRecord[];
interface AutoScalingScaleInResult
interface AutoScalingScaleInResult {}
property InstanceIDs
InstanceIDs: string[];
interface AutoScalingTerminationRequest
interface AutoScalingTerminationRequest {}
property AvailabilityZone
AvailabilityZone: string;
property Capacity
Capacity: number;
property InstanceMarketOption
InstanceMarketOption: AutoScalingInstanceMarketOption;
interface BaseCustomEmailSenderTriggerEvent
interface BaseCustomEmailSenderTriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
property request
request: { type: string; code: string | null; userAttributes: StringMap; clientMetadata?: StringMap | undefined;};
interface BaseCustomMessageTriggerEvent
interface BaseCustomMessageTriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
property request
request: { userAttributes: StringMap; codeParameter: string; linkParameter: string; /** * This is null for all events other than the AdminCreateUser action. */ usernameParameter: string | null; clientMetadata?: StringMap | undefined;};
property response
response: { smsMessage: string | null; emailMessage: string | null; emailSubject: string | null;};
interface BaseCustomSMSSenderTriggerEvent
interface BaseCustomSMSSenderTriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
property request
request: { type: string; code: string | null; userAttributes: StringMap; clientMetadata?: StringMap | undefined;};
interface BasePostConfirmationTriggerEvent
interface BasePostConfirmationTriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
property request
request: { userAttributes: StringMap; clientMetadata?: StringMap | undefined;};
interface BasePreSignUpTriggerEvent
interface BasePreSignUpTriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
interface BasePreTokenGenerationTriggerEvent
interface BasePreTokenGenerationTriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
property request
request: { userAttributes: StringMap; groupConfiguration: GroupOverrideDetails; clientMetadata?: StringMap | undefined;};
property response
response: { claimsOverrideDetails: { claimsToAddOrOverride?: StringMap | undefined; claimsToSuppress?: string[] | undefined; groupOverrideDetails?: GroupOverrideDetails | undefined; };};
interface BasePreTokenGenerationV2TriggerEvent
interface BasePreTokenGenerationV2TriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
interface BaseStatement
interface BaseStatement {}
interface BaseUserMigrationTriggerEvent
interface BaseUserMigrationTriggerEvent<T extends string> extends BaseTriggerEvent<T> {}
property request
request: { password: string; validationData?: StringMap | undefined; clientMetadata?: StringMap | undefined;};
property response
response: { userAttributes: StringMap; finalUserStatus?: UserStatus | undefined; messageAction?: 'RESEND' | 'SUPPRESS' | undefined; desiredDeliveryMediums: Array<'SMS' | 'EMAIL'>; forceAliasCreation?: boolean | undefined; enableSMSMFA?: boolean | undefined;};
interface CdkCustomResourceIsCompleteResponseSuccess
interface CdkCustomResourceIsCompleteResponseSuccess< TData extends Record<string, any> = Record<string, any>> {}
Response properties that are specifically for a successful
IsComplete
response for a CDK Custom Resource Reference: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.custom_resources-readme.html#asynchronous-providers-iscomplete TData User-defined output properties that are retuned from any invocation
property Data
Data?: TData;
The custom resource provider-defined name-value pairs to send with the response. You can access the values provided here by name in the template with
Fn::GetAtt
. These attributes will be **merged** with the ones returned fromonEvent
.
property IsComplete
IsComplete: true;
Indicates the operation has finished.
interface CdkCustomResourceIsCompleteResponseWaiting
interface CdkCustomResourceIsCompleteResponseWaiting {}
Response properties that are specifically for a still waiting
IsComplete
response for a CDK Custom Resource Reference: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.custom_resources-readme.html#asynchronous-providers-iscomplete
property IsComplete
IsComplete: false;
Indicates the operation has not finished.
interface CdkCustomResourceResponse
interface CdkCustomResourceResponse< TData extends Record<string, any> = Record<string, any>> {}
Response from the
OnEvent
Lambda handler for a CDK Custom Resource Reference: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.custom_resources-readme.html#handling-lifecycle-events-onevent TData User-defined output properties that are retuned from any invocation
property Data
Data?: TData;
The custom resource provider-defined name-value pairs to send with the response. You can access the values provided here by name in the template with
Fn::GetAtt
. NOTE: If the name-value pairs contain sensitive information, you should use theNoEcho
field to mask the output of the custom resource. Otherwise, the values are visible through APIs that surface property values (such asDescribeStackEvents
).
property NoEcho
NoEcho?: boolean;
Indicates whether to mask the output of the custom resource when retrieved by using the
Fn::GetAtt
function. If set totrue
, all returned values are masked with asterisks (*****), __except for those stored in theMetadata
section of the template__. AWS CloudFormation does not transform, modify, or redact any information you include in theMetadata
section. The default value isfalse
.
property PhysicalResourceId
PhysicalResourceId?: string;
This value should be an identifier unique to the custom resource vendor, and can be up to 1 KB in size. The value must be a non-empty string and must be identical for all responses for the same resource. The value returned for a
PhysicalResourceId
can change custom resource update operations. If the value returned is the same, it is considered a normal update. If the value returned is different, AWS CloudFormation recognizes the update as a replacement and sends a delete request to the old resource.If omitted for
Create
events, the event'sRequestId
will be used. ForUpdate
, the current physical ID will be used. If a different value is returned, CloudFormation will follow with a subsequentDelete
for the previous ID (resource replacement). ForDelete
, it will always return the current physical resource ID, and if the user returns a different one, an error will occur.
index signature
[Key: string]: any;
Any other field included in the response will be passed through to
isComplete
. This can sometimes be useful to pass state between the handlers.
interface ClaimsAndScopeOverrideDetails
interface ClaimsAndScopeOverrideDetails {}
property accessTokenGeneration
accessTokenGeneration?: AccessTokenGeneration | undefined;
property groupOverrideDetails
groupOverrideDetails?: GroupOverrideDetailsV2 | undefined;
property idTokenGeneration
idTokenGeneration?: IdTokenGeneration | undefined;
interface ClientContext
interface ClientContext {}
interface ClientContextClient
interface ClientContextClient {}
property appPackageName
appPackageName: string;
property appTitle
appTitle: string;
property appVersionCode
appVersionCode: string;
property appVersionName
appVersionName: string;
property installationId
installationId: string;
interface ClientContextEnv
interface ClientContextEnv {}
property locale
locale: string;
property make
make: string;
property model
model: string;
property platform
platform: string;
property platformVersion
platformVersion: string;
interface CloudFormationCustomResourceCreateEvent
interface CloudFormationCustomResourceCreateEvent< TResourceProperties = CloudFormationCustomResourceResourcePropertiesCommon> extends CloudFormationCustomResourceEventCommon<TResourceProperties> {}
Request properties specifically for the
Create
invocation of a Lambda-backed CloudFormation Custom Resource TResourceProperties User-defined input properties passed to the Custom Resource as part of any invocation
property RequestType
RequestType: 'Create';
The request type is set by the CloudFormation stack operation (create-stack, update-stack, or delete-stack) that was initiated by the template developer for the stack that contains the custom resource.
interface CloudFormationCustomResourceDeleteEvent
interface CloudFormationCustomResourceDeleteEvent< TResourceProperties = CloudFormationCustomResourceResourcePropertiesCommon> extends CloudFormationCustomResourceEventCommon<TResourceProperties> {}
Request properties specifically for the
Delete
invocation of a Lambda-backed CloudFormation Custom Resource TResourceProperties User-defined input properties passed to the Custom Resource as part of any invocation
property PhysicalResourceId
PhysicalResourceId: string;
A required custom resource provider-defined physical ID that is unique for that provider. The value returned for a
PhysicalResourceId
can change custom resource update operations. If the value returned is the same, it is considered a normal update. If the value returned is different, AWS CloudFormation recognizes the update as a replacement and sends a delete request to the old resource.
property RequestType
RequestType: 'Delete';
The request type is set by the CloudFormation stack operation (create-stack, update-stack, or delete-stack) that was initiated by the template developer for the stack that contains the custom resource.
interface CloudFormationCustomResourceEventCommon
interface CloudFormationCustomResourceEventCommon< TResourceProperties = CloudFormationCustomResourceResourcePropertiesCommon> {}
Request properties that are common to all invocations of a Lambda-backed CloudFormation Custom Resource Reference: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html#crpg-ref-request-fields TResourceProperties User-defined input properties passed to the Custom Resource as part of any invocation
property LogicalResourceId
LogicalResourceId: string;
The template developer-chosen name (logical ID) of the custom resource in the AWS CloudFormation template. This is provided to facilitate communication between the custom resource provider and the template developer.
property RequestId
RequestId: string;
A unique ID for the request. Combining the
StackId
with theRequestId
forms a value that you can use to uniquely identify a request on a particular custom resource.
property ResourceProperties
ResourceProperties: TResourceProperties & CloudFormationCustomResourceResourcePropertiesCommon;
This field contains the contents of the
Properties
object sent by the template developer. Its contents are defined by the custom resource provider.
property ResourceType
ResourceType: string;
The template developer-chosen resource type of the custom resource in the CloudFormation template. Custom resource type names can be up to 60 characters long and can include alphanumeric and the following characters:
_@-
.
property ResponseURL
ResponseURL: string;
The response URL identifies a presigned S3 bucket that receives responses from the custom resource provider to AWS CloudFormation.
property ServiceToken
ServiceToken: string;
The service token, such as an Amazon SNS topic ARN or Lambda function ARN. The service token must be from the same Region as the stack.
property StackId
StackId: string;
The Amazon Resource Name (ARN) that identifies the stack that contains the custom resource. Combining the
StackId
with theRequestId
forms a value that you can use to uniquely identify a request on a particular custom resource.
interface CloudFormationCustomResourceFailedResponse
interface CloudFormationCustomResourceFailedResponse< TData extends Record<string, any> = Record<string, any>> extends CloudFormationCustomResourceResponseCommon<TData> {}
Response properties that are specifically for a response indicating failed invocation of a Lambda-backed CloudFormation Custom Resource Reference: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-responses.html TData User-defined output properties that are retuned from any invocation
interface CloudFormationCustomResourceResourcePropertiesCommon
interface CloudFormationCustomResourceResourcePropertiesCommon extends Record<string, any> {}
Named service-defined resource properties Reference: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html#crpg-ref-request-properties
property ServiceTimeout
ServiceTimeout?: string;
The maximum time, in seconds, that can elapse before a custom resource operation times out. The value must be an integer from 1 to 3600. The default value is 3600 seconds (1 hour).
property ServiceToken
ServiceToken: string;
The service token, such as an Amazon SNS topic ARN or Lambda function ARN. The service token must be from the same Region as the stack.
interface CloudFormationCustomResourceResponseCommon
interface CloudFormationCustomResourceResponseCommon< TData extends Record<string, any> = Record<string, any>> {}
Response properties that are common to all invocations of a Lambda-backed CloudFormation Custom Resource Reference: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-responses.html TData User-defined output properties that are retuned from any invocation
property Data
Data?: TData | undefined;
The custom resource provider-defined name-value pairs to send with the response. You can access the values provided here by name in the template with
Fn::GetAtt
. NOTE: If the name-value pairs contain sensitive information, you should use theNoEcho
field to mask the output of the custom resource. Otherwise, the values are visible through APIs that surface property values (such asDescribeStackEvents
).
property LogicalResourceId
LogicalResourceId: string;
The template developer-chosen name (logical ID) of the custom resource in the AWS CloudFormation template. This response value should be copied verbatim from the request.
property NoEcho
NoEcho?: boolean | undefined;
Indicates whether to mask the output of the custom resource when retrieved by using the
Fn::GetAtt
function. If set totrue
, all returned values are masked with asterisks (*****), __except for those stored in theMetadata
section of the template__. AWS CloudFormation does not transform, modify, or redact any information you include in theMetadata
section. The default value isfalse
.
property PhysicalResourceId
PhysicalResourceId: string;
This value should be an identifier unique to the custom resource vendor, and can be up to 1 KB in size. The value must be a non-empty string and must be identical for all responses for the same resource. The value returned for a
PhysicalResourceId
can change custom resource update operations. If the value returned is the same, it is considered a normal update. If the value returned is different, AWS CloudFormation recognizes the update as a replacement and sends a delete request to the old resource.
property RequestId
RequestId: string;
A unique ID for the request. This response value should be copied verbatim from the request.
property StackId
StackId: string;
The Amazon Resource Name (ARN) that identifies the stack that contains the custom resource. This response value should be copied verbatim from the request.
interface CloudFormationCustomResourceSuccessResponse
interface CloudFormationCustomResourceSuccessResponse< TData extends Record<string, any> = Record<string, any>> extends CloudFormationCustomResourceResponseCommon<TData> {}
Response properties that are specifically for a response indicating succesful invocation of a Lambda-backed CloudFormation Custom Resource Reference: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-responses.html TData User-defined output properties that are retuned from any invocation
interface CloudFormationCustomResourceUpdateEvent
interface CloudFormationCustomResourceUpdateEvent< TResourceProperties = CloudFormationCustomResourceResourcePropertiesCommon, TOldResourceProperties = TResourceProperties> extends CloudFormationCustomResourceEventCommon<TResourceProperties> {}
Request properties specifically for the
Update
invocation of a Lambda-backed CloudFormation Custom Resource TResourceProperties User-defined input properties passed to the Custom Resource as part of any invocation TOldResourceProperties User-defined input properties passed to the Custom Resource as part of anUpdate
invocation
property OldResourceProperties
OldResourceProperties: TOldResourceProperties;
Used only for
Update
requests. Contains the resource properties that were declared previous to the update request.
property PhysicalResourceId
PhysicalResourceId: string;
A required custom resource provider-defined physical ID that is unique for that provider. The value returned for a
PhysicalResourceId
can change custom resource update operations. If the value returned is the same, it is considered a normal update. If the value returned is different, AWS CloudFormation recognizes the update as a replacement and sends a delete request to the old resource.
property RequestType
RequestType: 'Update';
The request type is set by the CloudFormation stack operation (create-stack, update-stack, or delete-stack) that was initiated by the template developer for the stack that contains the custom resource.
interface CloudFrontCustomOrigin
interface CloudFrontCustomOrigin {}
property customHeaders
customHeaders: CloudFrontHeaders;
property domainName
domainName: string;
property keepaliveTimeout
keepaliveTimeout: number;
property path
path: string;
property port
port: number;
property protocol
protocol: 'http' | 'https';
property readTimeout
readTimeout: number;
property sslProtocols
sslProtocols: string[];
interface CloudFrontEvent
interface CloudFrontEvent {}
property config
config: { readonly distributionDomainName: string; readonly distributionId: string; readonly eventType: | 'origin-request' | 'origin-response' | 'viewer-request' | 'viewer-response'; readonly requestId: string;};
interface CloudFrontFunctionsCookies
interface CloudFrontFunctionsCookies {}
See Also
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html#functions-event-structure-query-header-cookie
index signature
[key: string]: { value: string; attributes?: string; multiValue?: Array<{ value: string; attributes?: string }>;};
interface CloudFrontFunctionsEvent
interface CloudFrontFunctionsEvent {}
See Also
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html
export const handler = async (event: CloudFrontFunctionsEvent) => {var response = event.response;var headers = response.headers;// Set the cache-control headerheaders["cache-control"] = { value: "public,max-age=31536000,immutable" };// Return response to viewersreturn response};
property context
context: { /** The CloudFront domain name (for example, d111111abcdef8.cloudfront.net) of the distribution that’s associated with the event. */ distributionDomainName: string; /** The ID of the distribution (for example, EDFDVBD6EXAMPLE) that’s associated with the event. */ distributionId: string; /** The event type, either `viewer-request` or `viewer-response`. */ eventType: 'viewer-request' | 'viewer-response'; /** A string that uniquely identifies a CloudFront request (and its associated response). */ requestId: string;};
## Context object The
context
object contains contextual information about the event. It includes the following fields: -distributionDomainName
-distributionId
-eventType
-requestId
property request
request: { /** The HTTP method of the request. If your function code returns a `request`, it cannot modify this field. This is the only read-only field in the `request` object. */ method: string; /** * The relative path of the requested object. If your function modifies the `uri value, note the following: * - The new `uri` value must begin with a forward slash (`/`)`. * - When a function changes the `uri` value, it changes the object that the viewer is requesting. * - When a function changes the `uri` value, it doesn’t change the cache behavior for the request or the origin that an origin request is sent to. */ uri: string; /** * An object that represents the query string in the request. If the request doesn’t include a query string, * the `request` object still includes an empty `querystring` object. * * The `querystring` object contains one field for each query string parameter in the request. * Query string parameter names are converted to lowercase. */ querystring: CloudFrontFunctionsQuerystring; /** * An object that represents the HTTP headers in the request. If the request contains any `Cookie` headers, * those headers are not part of the `headers` object. Cookies are represented separately in the `cookies` object. * * The `headers` object contains one field for each header in the request. Header names are converted to lowercase. */ headers: CloudFrontFunctionsHeaders; /** * An object that represents the cookies in the request (`Cookie` headers). * * The `cookies` object contains one field for each cookie in the request. Cookie names are converted to lowercase. */ cookies: CloudFrontFunctionsCookies;};
## Request object The
request
object contains a representation of a viewer-to-CloudFront HTTP request. In theevent
object that’s passed to your function, therequest
object represents the actual request that CloudFront received from the viewer.If your function code returns a
request
object to CloudFront, it must use this same structure.The
request
object contains the following fields: -method
-uri
-querystring
-headers
-cookies
property response
response: { /** * The HTTP status code of the response. This value is an integer, not a string. * * If the function is associated with a _viewer response_ event type, your function code cannot change * the `statusCode` that it received. If the function is associated with a _viewer request_ event type * and [generates an HTTP response](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html#function-code-generate-response), * your function code can set the `statusCode`. */ statusCode: number; /** The HTTP status description of the response. If your function code generates a response, this field is optional. */ statusDescription?: string; /** * An object that represents the HTTP headers in the response. If the response contains any `Set-Cookie` headers, * those `headers` are not part of the headers object. Cookies are represented separately in the `cookies` object. * * The `headers` object contains one field for each header in the response. Header names are converted to lowercase. */ headers: CloudFrontFunctionsHeaders; /** * An object that represents the cookies in the response (`Set-Cookie` headers). * The `cookies` object contains one field for each cookie in the response. Cookie names are converted to lowercase. */ cookies: CloudFrontFunctionsCookies;};
## Response object
The
response
object contains a representation of a CloudFront-to-viewer HTTP response. In theevent
object that’s passed to your function, theresponse
object represents CloudFront’s actual response to a viewer request.If your function code returns a
response
object, it must use this same structure.The
response
object contains the following fields:
property version
version: string;
## Version field The version field contains a string that specifies the version of the CloudFront Functions event object. The current version is 1.0.
property viewer
viewer: { ip: string;};
## Viewer object The
viewer
object contains anip
field whose value is the IP address of the viewer (client) that sent the request. If the viewer request came through an HTTP proxy or a load balancer, the value is the IP address of the proxy or load balancer.
interface CloudFrontFunctionsHeaders
interface CloudFrontFunctionsHeaders {}
See Also
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html#functions-event-structure-query-header-cookie
index signature
[key: string]: { value: string; multiValue?: Array<{ value: string }> };
interface CloudFrontFunctionsQuerystring
interface CloudFrontFunctionsQuerystring {}
See Also
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html#functions-event-structure-query-header-cookie
index signature
[key: string]: { value: string; multiValue?: Array<{ value: string }> };
interface CloudFrontHeaders
interface CloudFrontHeaders {}
CloudFront events http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-event-structure.html Bear in mind that the "example" event structure in the page above includes both an S3 and a Custom origin, which is not strictly allowed. Only one of these per event may be present.
index signature
[name: string]: Array<{ key?: string | undefined; value: string;}>;
interface CloudFrontRequest
interface CloudFrontRequest {}
property body
body?: | { action: 'read-only' | 'replace'; data: string; encoding: 'base64' | 'text'; readonly inputTruncated: boolean; } | undefined;
property clientIp
readonly clientIp: string;
property headers
headers: CloudFrontHeaders;
property method
readonly method: string;
property origin
origin?: CloudFrontOrigin | undefined;
property querystring
querystring: string;
property uri
uri: string;
interface CloudFrontRequestEvent
interface CloudFrontRequestEvent {}
CloudFront viewer request or origin request event
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-event-structure.html#lambda-event-structure-request
property Records
Records: CloudFrontRequestEventRecord[];
interface CloudFrontRequestEventRecord
interface CloudFrontRequestEventRecord {}
property cf
cf: CloudFrontEvent & { request: CloudFrontRequest;};
interface CloudFrontResponse
interface CloudFrontResponse {}
property headers
headers: CloudFrontHeaders;
property status
status: string;
property statusDescription
statusDescription: string;
interface CloudFrontResponseEvent
interface CloudFrontResponseEvent {}
CloudFront viewer response or origin response event
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-event-structure.html#lambda-event-structure-response
property Records
Records: Array<{ cf: CloudFrontEvent & { readonly request: Pick< CloudFrontRequest, Exclude<keyof CloudFrontRequest, 'body'> >; response: CloudFrontResponse; };}>;
interface CloudFrontResultResponse
interface CloudFrontResultResponse {}
Generated HTTP response in viewer request event or origin request event
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-generating-http-responses-in-requests.html#lambda-generating-http-responses-object
property body
body?: string | undefined;
property bodyEncoding
bodyEncoding?: 'text' | 'base64' | undefined;
property headers
headers?: CloudFrontHeaders | undefined;
property status
status: string;
property statusDescription
statusDescription?: string | undefined;
interface CloudFrontS3OriginAuthMethodNone
interface CloudFrontS3OriginAuthMethodNone extends CloudFrontS3OriginBase {}
property authMethod
authMethod: 'none';
property region
region?: never;
interface CloudFrontS3OriginAuthMethodOriginAccessIdentity
interface CloudFrontS3OriginAuthMethodOriginAccessIdentity extends CloudFrontS3OriginBase {}
property authMethod
authMethod: 'origin-access-identity';
property region
region: string;
interface CloudFrontS3OriginBase
interface CloudFrontS3OriginBase {}
property authMethod
authMethod: 'origin-access-identity' | 'none';