Class NodejsFunctionProps.Jsii$Proxy
- All Implemented Interfaces:
EventInvokeConfigOptions
,FunctionOptions
,NodejsFunctionProps
,software.amazon.jsii.JsiiSerializable
- Enclosing interface:
NodejsFunctionProps
NodejsFunctionProps
-
Nested Class Summary
Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.lambda.nodejs.NodejsFunctionProps
NodejsFunctionProps.Builder, NodejsFunctionProps.Jsii$Proxy
-
Constructor Summary
ModifierConstructorDescriptionprotected
Jsii$Proxy
(NodejsFunctionProps.Builder builder) Constructor that initializes the object based on literal property values passed by theNodejsFunctionProps.Builder
.protected
Jsii$Proxy
(software.amazon.jsii.JsiiObjectRef objRef) Constructor that initializes the object based on values retrieved from the JsiiObject. -
Method Summary
Modifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.JsonNode
final boolean
Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation.final Boolean
Whether to allow the Lambda to send all ipv6 network traffic.final Boolean
Whether to allow the Lambda to send all network traffic (except ipv6).final Boolean
Lambda Functions in a public subnet can NOT access the internet.final String
(deprecated) Sets the application log level for the function.final ApplicationLogLevel
Sets the application log level for the function.final Architecture
The system architectures compatible with this lambda function.final Boolean
TheAWS_NODEJS_CONNECTION_REUSE_ENABLED
environment variable does not exist in the AWS SDK for JavaScript v3.final BundlingOptions
Bundling options.final Code
getCode()
The code that will be deployed to the Lambda Handler.final ICodeSigningConfig
Code signing config associated with this function.final VersionOptions
Options for thelambda.Version
resource automatically created by thefn.currentVersion
method.final IQueue
The SQS queue to use if DLQ is enabled.final Boolean
Enabled DLQ.final ITopic
The SNS topic to use as a DLQ.final String
The path to the dependencies lock file (yarn.lock
,pnpm-lock.yaml
orpackage-lock.json
).final String
A description of the function.final String
getEntry()
Path to the entry file (JavaScript or TypeScript).Key-value pairs that Lambda caches and makes available for your Lambda functions.final IKey
The AWS KMS key that's used to encrypt your function's environment variables.final Size
The size of the function’s /tmp directory in MiB.final List<IEventSource>
Event sources for this function.final FileSystem
The filesystem configuration for the lambda function.final String
A name for the function.final String
The name of the exported handler in the entry file.final List<PolicyStatement>
Initial policy statements to add to the created Lambda Role.final LambdaInsightsVersion
Specify the version of CloudWatch Lambda insights to use for monitoring.final Boolean
Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.final List<ILayerVersion>
A list of layers to add to the function's execution environment.final String
(deprecated) Sets the logFormat for the function.final LoggingFormat
Sets the loggingFormat for the function.final ILogGroup
The log group the function sends logs to.final RetentionDays
The number of days log events are kept in CloudWatch Logs.final LogRetentionRetryOptions
When log retention is specified, a custom resource attempts to create the CloudWatch log group.final IRole
The IAM role for the Lambda function associated with the custom resource that sets the retention policy.final Duration
The maximum age of a request that Lambda sends to a function for processing.final Number
The amount of memory, in MB, that is allocated to your Lambda function.final IDestination
The destination for failed invocations.final IDestination
The destination for successful invocations.Specify the configuration of Parameters and Secrets Extension.final Boolean
Enable profiling.final IProfilingGroup
Profiling Group.final String
The path to the directory containing project config files (package.json
ortsconfig.json
).final RecursiveLoop
Sets the Recursive Loop Protection for Lambda Function.final Number
The maximum of concurrent executions you want to reserve for the function.final Number
The maximum number of times to retry when the function returns an error.final IRole
getRole()
Lambda execution role.final Runtime
The runtime environment.final RuntimeManagementMode
Sets the runtime management configuration for a function's version.final List<ISecurityGroup>
The list of security groups to associate with the Lambda's network interfaces.final SnapStartConf
Enable SnapStart for Lambda Function.final String
(deprecated) Sets the system log level for the function.final SystemLogLevel
Sets the system log level for the function.final Duration
The function execution time (in seconds) after which Lambda terminates the function.final Tracing
Enable AWS X-Ray Tracing for Lambda Function.final IVpc
getVpc()
VPC network to place Lambda network interfaces.final SubnetSelection
Where to place the network interfaces within the VPC.final int
hashCode()
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
-
Constructor Details
-
Jsii$Proxy
protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef) Constructor that initializes the object based on values retrieved from the JsiiObject.- Parameters:
objRef
- Reference to the JSII managed object.
-
Jsii$Proxy
Constructor that initializes the object based on literal property values passed by theNodejsFunctionProps.Builder
.
-
-
Method Details
-
getAwsSdkConnectionReuse
Description copied from interface:NodejsFunctionProps
TheAWS_NODEJS_CONNECTION_REUSE_ENABLED
environment variable does not exist in the AWS SDK for JavaScript v3.This prop will be deprecated when the Lambda Node16 runtime is deprecated on June 12, 2024. See https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy
Info for Node 16 runtimes / SDK v2 users:
Whether to automatically reuse TCP connections when working with the AWS SDK for JavaScript v2.
This sets the
AWS_NODEJS_CONNECTION_REUSE_ENABLED
environment variable to1
.Default: - false (obsolete) for runtimes >= Node 18, true for runtimes invalid input: '<'= Node 16.
- Specified by:
getAwsSdkConnectionReuse
in interfaceNodejsFunctionProps
- See Also:
-
getBundling
Description copied from interface:NodejsFunctionProps
Bundling options.Default: - use default bundling options: no minify, no sourcemap, all modules are bundled.
- Specified by:
getBundling
in interfaceNodejsFunctionProps
-
getCode
Description copied from interface:NodejsFunctionProps
The code that will be deployed to the Lambda Handler.If included, then properties related to bundling of the code are ignored.
- If the
code
field is specified, then you must include thehandler
property.
Default: - the code is bundled by esbuild
- Specified by:
getCode
in interfaceNodejsFunctionProps
- If the
-
getDepsLockFilePath
Description copied from interface:NodejsFunctionProps
The path to the dependencies lock file (yarn.lock
,pnpm-lock.yaml
orpackage-lock.json
).This will be used as the source for the volume mounted in the Docker container.
Modules specified in
nodeModules
will be installed using the right installer (yarn
,pnpm
ornpm
) along with this lock file.Default: - the path is found by walking up parent directories searching for a `yarn.lock`, `pnpm-lock.yaml` or `package-lock.json` file
- Specified by:
getDepsLockFilePath
in interfaceNodejsFunctionProps
-
getEntry
Description copied from interface:NodejsFunctionProps
Path to the entry file (JavaScript or TypeScript).Default: - Derived from the name of the defining file and the construct's id. If the `NodejsFunction` is defined in `stack.ts` with `my-handler` as id (`new NodejsFunction(this, 'my-handler')`), the construct will look at `stack.my-handler.ts` and `stack.my-handler.js`.
- Specified by:
getEntry
in interfaceNodejsFunctionProps
-
getHandler
Description copied from interface:NodejsFunctionProps
The name of the exported handler in the entry file.- If the
code
property is supplied, then you must include thehandler
property. The handler should be the name of the file that contains the exported handler and the function that should be called when the AWS Lambda is invoked. For example, if you had a file calledmyLambda.js
and the function to be invoked wasmyHandler
, then you should inputhandler
property asmyLambda.myHandler
. - If the
code
property is not supplied and the handler input does not contain a.
, then the handler is prefixed withindex.
(index period). Otherwise, the handler property is not modified.
Default: handler
- Specified by:
getHandler
in interfaceNodejsFunctionProps
- If the
-
getProjectRoot
Description copied from interface:NodejsFunctionProps
The path to the directory containing project config files (package.json
ortsconfig.json
).Default: - the directory containing the `depsLockFilePath`
- Specified by:
getProjectRoot
in interfaceNodejsFunctionProps
-
getRuntime
Description copied from interface:NodejsFunctionProps
The runtime environment.Only runtimes of the Node.js family are supported.
Default: `Runtime.NODEJS_LATEST` if the `@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion` feature flag is enabled, otherwise `Runtime.NODEJS_16_X`
- Specified by:
getRuntime
in interfaceNodejsFunctionProps
-
getAdotInstrumentation
Description copied from interface:FunctionOptions
Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation.Default: - No ADOT instrumentation
- Specified by:
getAdotInstrumentation
in interfaceFunctionOptions
- See Also:
-
getAllowAllIpv6Outbound
Description copied from interface:FunctionOptions
Whether to allow the Lambda to send all ipv6 network traffic.If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6.
Do not specify this property if the
securityGroups
orsecurityGroup
property is set. Instead, configureallowAllIpv6Outbound
directly on the security group.Default: false
- Specified by:
getAllowAllIpv6Outbound
in interfaceFunctionOptions
-
getAllowAllOutbound
Description copied from interface:FunctionOptions
Whether to allow the Lambda to send all network traffic (except ipv6).If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets.
Do not specify this property if the
securityGroups
orsecurityGroup
property is set. Instead, configureallowAllOutbound
directly on the security group.Default: true
- Specified by:
getAllowAllOutbound
in interfaceFunctionOptions
-
getAllowPublicSubnet
Description copied from interface:FunctionOptions
Lambda Functions in a public subnet can NOT access the internet.Use this property to acknowledge this limitation and still place the function in a public subnet.
Default: false
- Specified by:
getAllowPublicSubnet
in interfaceFunctionOptions
- See Also:
-
getApplicationLogLevel
Description copied from interface:FunctionOptions
(deprecated) Sets the application log level for the function.Default: "INFO"
- Specified by:
getApplicationLogLevel
in interfaceFunctionOptions
-
getApplicationLogLevelV2
Description copied from interface:FunctionOptions
Sets the application log level for the function.Default: ApplicationLogLevel.INFO
- Specified by:
getApplicationLogLevelV2
in interfaceFunctionOptions
-
getArchitecture
Description copied from interface:FunctionOptions
The system architectures compatible with this lambda function.Default: Architecture.X86_64
- Specified by:
getArchitecture
in interfaceFunctionOptions
-
getCodeSigningConfig
Description copied from interface:FunctionOptions
Code signing config associated with this function.Default: - Not Sign the Code
- Specified by:
getCodeSigningConfig
in interfaceFunctionOptions
-
getCurrentVersionOptions
Description copied from interface:FunctionOptions
Options for thelambda.Version
resource automatically created by thefn.currentVersion
method.Default: - default options as described in `VersionOptions`
- Specified by:
getCurrentVersionOptions
in interfaceFunctionOptions
-
getDeadLetterQueue
Description copied from interface:FunctionOptions
The SQS queue to use if DLQ is enabled.If SNS topic is desired, specify
deadLetterTopic
property instead.Default: - SQS queue with 14 day retention period if `deadLetterQueueEnabled` is `true`
- Specified by:
getDeadLetterQueue
in interfaceFunctionOptions
-
getDeadLetterQueueEnabled
Description copied from interface:FunctionOptions
Enabled DLQ.If
deadLetterQueue
is undefined, an SQS queue with default options will be defined for your Function.Default: - false unless `deadLetterQueue` is set, which implies DLQ is enabled.
- Specified by:
getDeadLetterQueueEnabled
in interfaceFunctionOptions
-
getDeadLetterTopic
Description copied from interface:FunctionOptions
The SNS topic to use as a DLQ.Note that if
deadLetterQueueEnabled
is set totrue
, an SQS queue will be created rather than an SNS topic. Using an SNS topic as a DLQ requires this property to be set explicitly.Default: - no SNS topic
- Specified by:
getDeadLetterTopic
in interfaceFunctionOptions
-
getDescription
Description copied from interface:FunctionOptions
A description of the function.Default: - No description.
- Specified by:
getDescription
in interfaceFunctionOptions
-
getEnvironment
Description copied from interface:FunctionOptions
Key-value pairs that Lambda caches and makes available for your Lambda functions.Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Lambda function source code.
Default: - No environment variables.
- Specified by:
getEnvironment
in interfaceFunctionOptions
-
getEnvironmentEncryption
Description copied from interface:FunctionOptions
The AWS KMS key that's used to encrypt your function's environment variables.Default: - AWS Lambda creates and uses an AWS managed customer master key (CMK).
- Specified by:
getEnvironmentEncryption
in interfaceFunctionOptions
-
getEphemeralStorageSize
Description copied from interface:FunctionOptions
The size of the function’s /tmp directory in MiB.Default: 512 MiB
- Specified by:
getEphemeralStorageSize
in interfaceFunctionOptions
-
getEvents
Description copied from interface:FunctionOptions
Event sources for this function.You can also add event sources using
addEventSource
.Default: - No event sources.
- Specified by:
getEvents
in interfaceFunctionOptions
-
getFilesystem
Description copied from interface:FunctionOptions
The filesystem configuration for the lambda function.Default: - will not mount any filesystem
- Specified by:
getFilesystem
in interfaceFunctionOptions
-
getFunctionName
Description copied from interface:FunctionOptions
A name for the function.Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.
- Specified by:
getFunctionName
in interfaceFunctionOptions
-
getInitialPolicy
Description copied from interface:FunctionOptions
Initial policy statements to add to the created Lambda Role.You can call
addToRolePolicy
to the created lambda to add statements post creation.Default: - No policy statements are added to the created Lambda role.
- Specified by:
getInitialPolicy
in interfaceFunctionOptions
-
getInsightsVersion
Description copied from interface:FunctionOptions
Specify the version of CloudWatch Lambda insights to use for monitoring.Default: - No Lambda Insights
- Specified by:
getInsightsVersion
in interfaceFunctionOptions
- See Also:
-
getIpv6AllowedForDualStack
Description copied from interface:FunctionOptions
Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.Only used if 'vpc' is supplied.
Default: false
- Specified by:
getIpv6AllowedForDualStack
in interfaceFunctionOptions
-
getLayers
Description copied from interface:FunctionOptions
A list of layers to add to the function's execution environment.You can configure your Lambda function to pull in additional code during initialization in the form of layers. Layers are packages of libraries or other dependencies that can be used by multiple functions.
Default: - No layers.
- Specified by:
getLayers
in interfaceFunctionOptions
-
getLogFormat
Description copied from interface:FunctionOptions
(deprecated) Sets the logFormat for the function.Default: "Text"
- Specified by:
getLogFormat
in interfaceFunctionOptions
-
getLoggingFormat
Description copied from interface:FunctionOptions
Sets the loggingFormat for the function.Default: LoggingFormat.TEXT
- Specified by:
getLoggingFormat
in interfaceFunctionOptions
-
getLogGroup
Description copied from interface:FunctionOptions
The log group the function sends logs to.By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/
. However you cannot change the properties of this auto-created log group using the AWS CDK, e.g. you cannot set a different log retention. Use the
logGroup
property to create a fully customizable LogGroup ahead of time, and instruct the Lambda function to send logs to it.Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16. If you are deploying to another type of region, please check regional availability first.
Default: `/aws/lambda/${this.functionName}` - default log group created by Lambda
- Specified by:
getLogGroup
in interfaceFunctionOptions
-
getLogRetention
Description copied from interface:FunctionOptions
The number of days log events are kept in CloudWatch Logs.When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to
INFINITE
.This is a legacy API and we strongly recommend you move away from it if you can. Instead create a fully customizable log group with
logs.LogGroup
and use thelogGroup
property to instruct the Lambda function to send logs to it. Migrating fromlogRetention
tologGroup
will cause the name of the log group to change. Users and code and referencing the name verbatim will have to adjust.In AWS CDK code, you can access the log group name directly from the LogGroup construct:
import software.amazon.awscdk.services.logs.*; LogGroup myLogGroup; myLogGroup.getLogGroupName();
Default: logs.RetentionDays.INFINITE
- Specified by:
getLogRetention
in interfaceFunctionOptions
-
getLogRetentionRetryOptions
Description copied from interface:FunctionOptions
When log retention is specified, a custom resource attempts to create the CloudWatch log group.These options control the retry policy when interacting with CloudWatch APIs.
This is a legacy API and we strongly recommend you migrate to
logGroup
if you can.logGroup
allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.Default: - Default AWS SDK retry options.
- Specified by:
getLogRetentionRetryOptions
in interfaceFunctionOptions
-
getLogRetentionRole
Description copied from interface:FunctionOptions
The IAM role for the Lambda function associated with the custom resource that sets the retention policy.This is a legacy API and we strongly recommend you migrate to
logGroup
if you can.logGroup
allows you to create a fully customizable log group and instruct the Lambda function to send logs to it.Default: - A new role is created.
- Specified by:
getLogRetentionRole
in interfaceFunctionOptions
-
getMemorySize
Description copied from interface:FunctionOptions
The amount of memory, in MB, that is allocated to your Lambda function.Lambda uses this value to proportionally allocate the amount of CPU power. For more information, see Resource Model in the AWS Lambda Developer Guide.
Default: 128
- Specified by:
getMemorySize
in interfaceFunctionOptions
-
getParamsAndSecrets
Description copied from interface:FunctionOptions
Specify the configuration of Parameters and Secrets Extension.Default: - No Parameters and Secrets Extension
- Specified by:
getParamsAndSecrets
in interfaceFunctionOptions
- See Also:
-
getProfiling
Description copied from interface:FunctionOptions
Enable profiling.Default: - No profiling.
- Specified by:
getProfiling
in interfaceFunctionOptions
- See Also:
-
getProfilingGroup
Description copied from interface:FunctionOptions
Profiling Group.Default: - A new profiling group will be created if `profiling` is set.
- Specified by:
getProfilingGroup
in interfaceFunctionOptions
- See Also:
-
getRecursiveLoop
Description copied from interface:FunctionOptions
Sets the Recursive Loop Protection for Lambda Function.It lets Lambda detect and terminate unintended recusrive loops.
Default: RecursiveLoop.Terminate
- Specified by:
getRecursiveLoop
in interfaceFunctionOptions
-
getReservedConcurrentExecutions
Description copied from interface:FunctionOptions
The maximum of concurrent executions you want to reserve for the function.Default: - No specific limit - account limit.
- Specified by:
getReservedConcurrentExecutions
in interfaceFunctionOptions
- See Also:
-
getRole
Description copied from interface:FunctionOptions
Lambda execution role.This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal.
The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself.
The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole".
Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling `addToRolePolicy`.
- Specified by:
getRole
in interfaceFunctionOptions
-
getRuntimeManagementMode
Description copied from interface:FunctionOptions
Sets the runtime management configuration for a function's version.Default: Auto
- Specified by:
getRuntimeManagementMode
in interfaceFunctionOptions
-
getSecurityGroups
Description copied from interface:FunctionOptions
The list of security groups to associate with the Lambda's network interfaces.Only used if 'vpc' is supplied.
Default: - If the function is placed within a VPC and a security group is not specified, either by this or securityGroup prop, a dedicated security group will be created for this function.
- Specified by:
getSecurityGroups
in interfaceFunctionOptions
-
getSnapStart
Description copied from interface:FunctionOptions
Enable SnapStart for Lambda Function.SnapStart is currently supported only for Java 11, 17 runtime
Default: - No snapstart
- Specified by:
getSnapStart
in interfaceFunctionOptions
-
getSystemLogLevel
Description copied from interface:FunctionOptions
(deprecated) Sets the system log level for the function.Default: "INFO"
- Specified by:
getSystemLogLevel
in interfaceFunctionOptions
-
getSystemLogLevelV2
Description copied from interface:FunctionOptions
Sets the system log level for the function.Default: SystemLogLevel.INFO
- Specified by:
getSystemLogLevelV2
in interfaceFunctionOptions
-
getTimeout
Description copied from interface:FunctionOptions
The function execution time (in seconds) after which Lambda terminates the function.Because the execution time affects cost, set this value based on the function's expected execution time.
Default: Duration.seconds(3)
- Specified by:
getTimeout
in interfaceFunctionOptions
-
getTracing
Description copied from interface:FunctionOptions
Enable AWS X-Ray Tracing for Lambda Function.Default: Tracing.Disabled
- Specified by:
getTracing
in interfaceFunctionOptions
-
getVpc
Description copied from interface:FunctionOptions
VPC network to place Lambda network interfaces.Specify this if the Lambda function needs to access resources in a VPC. This is required when
vpcSubnets
is specified.Default: - Function is not placed within a VPC.
- Specified by:
getVpc
in interfaceFunctionOptions
-
getVpcSubnets
Description copied from interface:FunctionOptions
Where to place the network interfaces within the VPC.This requires
vpc
to be specified in order for interfaces to actually be placed in the subnets. Ifvpc
is not specify, this will raise an error.Note: Internet access for Lambda Functions requires a NAT Gateway, so picking public subnets is not allowed (unless
allowPublicSubnet
is set totrue
).Default: - the Vpc default strategy if not specified
- Specified by:
getVpcSubnets
in interfaceFunctionOptions
-
getMaxEventAge
Description copied from interface:EventInvokeConfigOptions
The maximum age of a request that Lambda sends to a function for processing.Minimum: 60 seconds Maximum: 6 hours
Default: Duration.hours(6)
- Specified by:
getMaxEventAge
in interfaceEventInvokeConfigOptions
-
getOnFailure
Description copied from interface:EventInvokeConfigOptions
The destination for failed invocations.Default: - no destination
- Specified by:
getOnFailure
in interfaceEventInvokeConfigOptions
-
getOnSuccess
Description copied from interface:EventInvokeConfigOptions
The destination for successful invocations.Default: - no destination
- Specified by:
getOnSuccess
in interfaceEventInvokeConfigOptions
-
getRetryAttempts
Description copied from interface:EventInvokeConfigOptions
The maximum number of times to retry when the function returns an error.Minimum: 0 Maximum: 2
Default: 2
- Specified by:
getRetryAttempts
in interfaceEventInvokeConfigOptions
-
$jsii$toJson
@Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()- Specified by:
$jsii$toJson
in interfacesoftware.amazon.jsii.JsiiSerializable
-
equals
-
hashCode
public final int hashCode()
-