1. Packages
  2. AWS
  3. API Docs
  4. lambda
  5. CallbackFunction
AWS v7.2.0 published on Thursday, Jul 31, 2025 by Pulumi

aws.lambda.CallbackFunction

Explore with Pulumi AI

aws logo
AWS v7.2.0 published on Thursday, Jul 31, 2025 by Pulumi

    A CallbackFunction is a special type of aws.lambda.Function that can be created out of an actual JavaScript function instance. The Pulumi compiler and runtime work in tandem to extract your function, package it up along with its dependencies, upload the package to AWS Lambda, and configure the resulting AWS Lambda resources automatically.

    The JavaScript function may capture references to other variables in the surrounding code, including other resources and even imported modules. The Pulumi compiler figures out how to serialize the resulting closure as it uploads and configures the AWS Lambda. This works even if you are composing multiple functions together.

    See Function Serialization for additional details on this process.

    Lambda Function Handler

    You can provide the JavaScript function used for the Lambda Function’s Handler either directly by setting the callback input property or instead specify the callbackFactory, which is a Javascript function that will be called to produce the callback function that is the entrypoint for the AWS Lambda. Using callbackFactory is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final AWS Lambda module is loaded. It can run whatever code it needs, and will end by returning the actual function that Lambda will call into each time the Lambda is invoked.

    It is recommended to use an async function, otherwise the Lambda execution will run until the callback parameter is called and the event loop is empty. See Define Lambda function handler in Node.js for additional details.

    Lambda Function Permissions

    If neither role nor policies is specified, CallbackFunction will create an IAM role and automatically use the following managed policies:

    • AWSLambda_FullAccess
    • CloudWatchFullAccessV2
    • CloudWatchEventsFullAccess
    • AmazonS3FullAccess
    • AmazonDynamoDBFullAccess
    • AmazonSQSFullAccess
    • AmazonKinesisFullAccess
    • AWSCloudFormationReadOnlyAccess
    • AmazonCognitoPowerUser
    • AWSXrayWriteOnlyAccess

    Customizing Lambda function attributes

    The Lambdas created by aws.lambda.CallbackFunction use reasonable defaults for CPU, memory, IAM, logging, and other configuration. Should you need to customize these settings, the aws.lambda.CallbackFunction resource offers all of the underlying AWS Lambda settings.

    For example, to increase the RAM available to your function to 256MB:

    import * as aws from "@pulumi/aws";
    
    // Create an AWS Lambda function with 256MB RAM
    const lambda = new aws.lambda.CallbackFunction("docsHandlerFunc", {
        callback: async(event: aws.s3.BucketEvent) => {
            // ...
        },
    
        memorySize: 256 /* MB */,
    });
    

    Adding/removing files from a function bundle

    Occasionally you may need to customize the contents of function bundle before uploading it to AWS Lambda — for example, to remove unneeded Node.js modules or add certain files or folders to the bundle explicitly. The codePathOptions property of CallbackFunction allows you to do this.

    In this example, a local directory ./config is added to the function bundle, while an unneeded Node.js module mime is removed:

    import * as aws from "@pulumi/aws";
    import * as fs from "fs";
    
    const lambda = new aws.lambda.CallbackFunction("docsHandlerFunc", {
        callback: async(event: aws.s3.BucketEvent) => {
            // ...
        },
    
        codePathOptions: {
    
            // Add local files or folders to the Lambda function bundle.
            extraIncludePaths: [
                "./config",
            ],
    
            // Remove unneeded Node.js packages from the bundle.
            extraExcludePackages: [
                "mime",
            ],
        },
    });
    

    Using Lambda layers

    Lambda layers allow you to share code, configuration, and other assets across multiple Lambda functions. At runtime, AWS Lambda extracts these files into the function’s filesystem, where you can access their contents as though they belonged to the function bundle itself.

    Layers are managed with the aws.lambda.LayerVersion resource, and you can attach them to as many lambda.Function or lambda.CallbackFunction resources as you need using the function’s layers property. Here, the preceding program is updated to package the ./config folder as a Lambda layer instead:

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    import * as fs from "fs";
    
    // Create a Lambda layer containing some shared configuration.
    const configLayer = new aws.lambda.LayerVersion("config-layer", {
        layerName: "my-config-layer",
    
        // Use a Pulumi AssetArchive to zip up the contents of the folder.
        code: new pulumi.asset.AssetArchive({
            "config": new pulumi.asset.FileArchive("./config"),
        }),
    });
    
    const lambda = new aws.lambda.CallbackFunction("docsHandlerFunc", {
        callback: async(event: aws.s3.BucketEvent) => {
            // ...
        },
    
        // Attach the config layer to the function.
        layers: [
            configLayer.arn,
        ],
    });
    

    Notice the path to the file is now /opt/config/config.json/opt being the path at which AWS Lambda extracts the contents of a layer. The configuration layer is now manageable and deployable independently of the Lambda itself, allowing changes to be applied immediately across all functions that use it.

    Using layers for Node.js dependencies

    This same approach can be used for sharing Node.js module dependencies. When you package your dependencies at the proper path within the layer zip file, (e.g., nodejs/node_modules), AWS Lambda will unpack and expose them automatically to the functions that use them at runtime. This approach can be useful in monorepo scenarios such as the example below, which adds a locally built Node.js module as a layer, then references references the module from within the body of a CallbackFunction:

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    // Create a layer containing a locally built Node.js module.
    const utilsLayer = new aws.lambda.LayerVersion("utils-layer", {
        layerName: "utils",
        code: new pulumi.asset.AssetArchive({
    
            // Store the module under nodejs/node_modules to make it available
            // on the Node.js module path.
            "nodejs/node_modules/@my-alias/utils": new pulumi.asset.FileArchive("./layers/utils/dist"),
        }),
    });
    
    const lambda =  new aws.lambda.CallbackFunction("docsHandlerFunc", {
        callback: async (event: aws.s3.BucketEvent) => {
    
            // Import the module from the layer at runtime.
            const { sayHello } = await import("@my-alias/utils");
    
            // Call a function from the utils module.
            console.log(sayHello());
        },
    
        // Attach the utils layer to the function.
        layers: [
            utilsLayer.arn,
        ],
    });
    

    Notice the example uses the module name @my-alias/utils. To make this work, you’ll need to add a few lines to your Pulumi project’s tsconfig.json file to map your chosen module name to the path of the module’s TypeScript source code:

    {
        "compilerOptions": {
            // ...
            "baseUrl": ".",
            "paths": {
                "@my-alias/utils": [
                    "./layers/utils"
                ]
            }
        },
        // ...
    }
    

    Example Usage

    Basic Lambda Function

    Example coming soon!

    Example coming soon!

    Example coming soon!

    import * as aws from "@pulumi/aws";
    
    // Create an AWS Lambda function that fetches the Pulumi website and returns the HTTP status
    const lambda = new aws.lambda.CallbackFunction("fetcher", {
        callback: async(event) => {
            try {
                const res = await fetch("https://www.pulumi.com/robots.txt");
                console.info("status", res.status);
                return res.status;
            }
            catch (e) {
                console.error(e);
                return 500;
            }
        },
    });
    

    Example coming soon!

    Example coming soon!

    Lambda Function with expensive initialization work

    Example coming soon!

    Example coming soon!

    Example coming soon!

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    import * as express from "express";
    import * as serverlessExpress from "aws-serverless-express";
    import * as middleware from "aws-serverless-express/middleware";
    
    const lambda = new aws.lambda.CallbackFunction<any, any>("mylambda", {
      callbackFactory: () => {
        const app = express();
        app.use(middleware.eventContext());
        let ctx;
    
        app.get("/", (req, res) => {
          console.log("Invoked url: " + req.url);
    
          fetch('https://www.pulumi.com/robots.txt').then(resp => {
            res.json({
              message: "Hello, world!\n\nSucceeded with " + ctx.getRemainingTimeInMillis() + "ms remaining.",
              fetchStatus: resp.status,
              fetched: resp.text(),
            });
          });
        });
    
        const server = serverlessExpress.createServer(app);
        return (event, context) => {
          console.log("Lambda invoked");
          console.log("Invoked function: " + context.invokedFunctionArn);
          console.log("Proxying to express");
          ctx = context;
          serverlessExpress.proxy(server, event, <any>context);
        }
      }
    });
    

    Example coming soon!

    Example coming soon!

    API Gateway Handler Function

    Example coming soon!

    Example coming soon!

    Example coming soon!

    import * as apigateway from "@pulumi/aws-apigateway";
    import { APIGatewayProxyEvent, Context } from "aws-lambda";
    
    const api = new apigateway.RestAPI("api", {
        routes: [
            {
                path: "/api",
                eventHandler: async (event: APIGatewayProxyEvent, context: Context) => {
                    return {
                        statusCode: 200,
                        body: JSON.stringify({
                            eventPath: event.path,
                            functionName: context.functionName,
                        })
                    };
                },
            },
        ],
    });
    
    export const url = api.url;
    

    Example coming soon!

    Example coming soon!

    Create CallbackFunction Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CallbackFunction(name: string, args?: CallbackFunctionArgs, opts?: CustomResourceOptions);
    @overload
    def CallbackFunction(resource_name: str,
                         args: Optional[CallbackFunctionArgs] = None,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def CallbackFunction(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         architectures: Optional[Sequence[str]] = None,
                         callback: Optional[Any] = None,
                         callback_factory: Optional[Any] = None,
                         code_path_options: Optional[CodePathOptionsArgs] = None,
                         code_signing_config_arn: Optional[str] = None,
                         dead_letter_config: Optional[FunctionDeadLetterConfigArgs] = None,
                         description: Optional[str] = None,
                         environment: Optional[FunctionEnvironmentArgs] = None,
                         ephemeral_storage: Optional[FunctionEphemeralStorageArgs] = None,
                         file_system_config: Optional[FunctionFileSystemConfigArgs] = None,
                         image_config: Optional[FunctionImageConfigArgs] = None,
                         image_uri: Optional[str] = None,
                         kms_key_arn: Optional[str] = None,
                         layers: Optional[Sequence[str]] = None,
                         logging_config: Optional[FunctionLoggingConfigArgs] = None,
                         memory_size: Optional[int] = None,
                         name: Optional[str] = None,
                         package_type: Optional[str] = None,
                         policies: Optional[Union[Mapping[str, str], Sequence[str]]] = None,
                         publish: Optional[bool] = None,
                         region: Optional[str] = None,
                         replace_security_groups_on_destroy: Optional[bool] = None,
                         replacement_security_group_ids: Optional[Sequence[str]] = None,
                         reserved_concurrent_executions: Optional[int] = None,
                         role: Optional[str] = None,
                         runtime: Optional[Runtime] = None,
                         s3_bucket: Optional[str] = None,
                         s3_key: Optional[str] = None,
                         s3_object_version: Optional[str] = None,
                         skip_destroy: Optional[bool] = None,
                         snap_start: Optional[FunctionSnapStartArgs] = None,
                         source_code_hash: Optional[str] = None,
                         tags: Optional[Mapping[str, str]] = None,
                         timeout: Optional[int] = None,
                         tracing_config: Optional[FunctionTracingConfigArgs] = None,
                         vpc_config: Optional[FunctionVpcConfigArgs] = None)
    func NewCallbackFunction(ctx *Context, name string, args *CallbackFunctionArgs, opts ...ResourceOption) (*CallbackFunction, error)
    public CallbackFunction(string name, CallbackFunctionArgs? args = null, CustomResourceOptions? opts = null)
    public CallbackFunction(String name, CallbackFunctionArgs args)
    public CallbackFunction(String name, CallbackFunctionArgs args, CustomResourceOptions options)
    
    type: aws:lambda:CallbackFunction
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args CallbackFunctionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CallbackFunctionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CallbackFunctionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CallbackFunctionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CallbackFunctionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var callbackFunctionResource = new Aws.Lambda.CallbackFunction("callbackFunctionResource", new()
    {
        Architectures = new[]
        {
            "string",
        },
        Callback = "any",
        CallbackFactory = "any",
        CodePathOptions = new Aws.Lambda.Inputs.CodePathOptionsArgs
        {
            ExtraExcludePackages = new[]
            {
                "string",
            },
            ExtraIncludePackages = new[]
            {
                "string",
            },
            ExtraIncludePaths = new[]
            {
                "string",
            },
        },
        CodeSigningConfigArn = "string",
        DeadLetterConfig = new Aws.Lambda.Inputs.FunctionDeadLetterConfigArgs
        {
            TargetArn = "string",
        },
        Description = "string",
        Environment = new Aws.Lambda.Inputs.FunctionEnvironmentArgs
        {
            Variables = 
            {
                { "string", "string" },
            },
        },
        EphemeralStorage = new Aws.Lambda.Inputs.FunctionEphemeralStorageArgs
        {
            Size = 0,
        },
        FileSystemConfig = new Aws.Lambda.Inputs.FunctionFileSystemConfigArgs
        {
            Arn = "string",
            LocalMountPath = "string",
        },
        ImageConfig = new Aws.Lambda.Inputs.FunctionImageConfigArgs
        {
            Commands = new[]
            {
                "string",
            },
            EntryPoints = new[]
            {
                "string",
            },
            WorkingDirectory = "string",
        },
        ImageUri = "string",
        KmsKeyArn = "string",
        Layers = new[]
        {
            "string",
        },
        LoggingConfig = new Aws.Lambda.Inputs.FunctionLoggingConfigArgs
        {
            LogFormat = "string",
            ApplicationLogLevel = "string",
            LogGroup = "string",
            SystemLogLevel = "string",
        },
        MemorySize = 0,
        Name = "string",
        PackageType = "string",
        Policies = null,
        Publish = false,
        Region = "string",
        ReplaceSecurityGroupsOnDestroy = false,
        ReplacementSecurityGroupIds = new[]
        {
            "string",
        },
        ReservedConcurrentExecutions = 0,
        Role = "string",
        Runtime = Aws.Lambda.Runtime.Dotnet6,
        S3Bucket = "string",
        S3Key = "string",
        S3ObjectVersion = "string",
        SkipDestroy = false,
        SnapStart = new Aws.Lambda.Inputs.FunctionSnapStartArgs
        {
            ApplyOn = "string",
            OptimizationStatus = "string",
        },
        SourceCodeHash = "string",
        Tags = 
        {
            { "string", "string" },
        },
        Timeout = 0,
        TracingConfig = new Aws.Lambda.Inputs.FunctionTracingConfigArgs
        {
            Mode = "string",
        },
        VpcConfig = new Aws.Lambda.Inputs.FunctionVpcConfigArgs
        {
            SecurityGroupIds = new[]
            {
                "string",
            },
            SubnetIds = new[]
            {
                "string",
            },
            Ipv6AllowedForDualStack = false,
            VpcId = "string",
        },
    });
    
    example, err := lambda.NewCallbackFunction(ctx, "callbackFunctionResource", &lambda.CallbackFunctionArgs{
    	Architectures: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Callback:        pulumi.Any("any"),
    	CallbackFactory: pulumi.Any("any"),
    	CodePathOptions: &lambda.CodePathOptionsArgs{
    		ExtraExcludePackages: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ExtraIncludePackages: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ExtraIncludePaths: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	CodeSigningConfigArn: pulumi.String("string"),
    	DeadLetterConfig: &lambda.FunctionDeadLetterConfigArgs{
    		TargetArn: pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    	Environment: &lambda.FunctionEnvironmentArgs{
    		Variables: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	EphemeralStorage: &lambda.FunctionEphemeralStorageArgs{
    		Size: pulumi.Int(0),
    	},
    	FileSystemConfig: &lambda.FunctionFileSystemConfigArgs{
    		Arn:            pulumi.String("string"),
    		LocalMountPath: pulumi.String("string"),
    	},
    	ImageConfig: &lambda.FunctionImageConfigArgs{
    		Commands: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		EntryPoints: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		WorkingDirectory: pulumi.String("string"),
    	},
    	ImageUri:  pulumi.String("string"),
    	KmsKeyArn: pulumi.String("string"),
    	Layers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	LoggingConfig: &lambda.FunctionLoggingConfigArgs{
    		LogFormat:           pulumi.String("string"),
    		ApplicationLogLevel: pulumi.String("string"),
    		LogGroup:            pulumi.String("string"),
    		SystemLogLevel:      pulumi.String("string"),
    	},
    	MemorySize:                     pulumi.Int(0),
    	Name:                           pulumi.String("string"),
    	PackageType:                    pulumi.String("string"),
    	Policies:                       nil,
    	Publish:                        pulumi.Bool(false),
    	Region:                         pulumi.String("string"),
    	ReplaceSecurityGroupsOnDestroy: pulumi.Bool(false),
    	ReplacementSecurityGroupIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ReservedConcurrentExecutions: pulumi.Int(0),
    	Role:                         pulumi.String("string"),
    	Runtime:                      lambda.RuntimeDotnet6,
    	S3Bucket:                     pulumi.String("string"),
    	S3Key:                        pulumi.String("string"),
    	S3ObjectVersion:              pulumi.String("string"),
    	SkipDestroy:                  pulumi.Bool(false),
    	SnapStart: &lambda.FunctionSnapStartArgs{
    		ApplyOn:            pulumi.String("string"),
    		OptimizationStatus: pulumi.String("string"),
    	},
    	SourceCodeHash: pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Timeout: pulumi.Int(0),
    	TracingConfig: &lambda.FunctionTracingConfigArgs{
    		Mode: pulumi.String("string"),
    	},
    	VpcConfig: &lambda.FunctionVpcConfigArgs{
    		SecurityGroupIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Ipv6AllowedForDualStack: pulumi.Bool(false),
    		VpcId:                   pulumi.String("string"),
    	},
    })
    
    var callbackFunctionResource = new CallbackFunction("callbackFunctionResource", CallbackFunctionArgs.builder()
        .architectures("string")
        .callback("any")
        .callbackFactory("any")
        .codePathOptions(CodePathOptionsArgs.builder()
            .extraExcludePackages("string")
            .extraIncludePackages("string")
            .extraIncludePaths("string")
            .build())
        .codeSigningConfigArn("string")
        .deadLetterConfig(FunctionDeadLetterConfigArgs.builder()
            .targetArn("string")
            .build())
        .description("string")
        .environment(FunctionEnvironmentArgs.builder()
            .variables(Map.of("string", "string"))
            .build())
        .ephemeralStorage(FunctionEphemeralStorageArgs.builder()
            .size(0)
            .build())
        .fileSystemConfig(FunctionFileSystemConfigArgs.builder()
            .arn("string")
            .localMountPath("string")
            .build())
        .imageConfig(FunctionImageConfigArgs.builder()
            .commands("string")
            .entryPoints("string")
            .workingDirectory("string")
            .build())
        .imageUri("string")
        .kmsKeyArn("string")
        .layers("string")
        .loggingConfig(FunctionLoggingConfigArgs.builder()
            .logFormat("string")
            .applicationLogLevel("string")
            .logGroup("string")
            .systemLogLevel("string")
            .build())
        .memorySize(0)
        .name("string")
        .packageType("string")
        .policies(null)
        .publish(false)
        .region("string")
        .replaceSecurityGroupsOnDestroy(false)
        .replacementSecurityGroupIds("string")
        .reservedConcurrentExecutions(0)
        .role("string")
        .runtime("dotnet6")
        .s3Bucket("string")
        .s3Key("string")
        .s3ObjectVersion("string")
        .skipDestroy(false)
        .snapStart(FunctionSnapStartArgs.builder()
            .applyOn("string")
            .optimizationStatus("string")
            .build())
        .sourceCodeHash("string")
        .tags(Map.of("string", "string"))
        .timeout(0)
        .tracingConfig(FunctionTracingConfigArgs.builder()
            .mode("string")
            .build())
        .vpcConfig(FunctionVpcConfigArgs.builder()
            .securityGroupIds("string")
            .subnetIds("string")
            .ipv6AllowedForDualStack(false)
            .vpcId("string")
            .build())
        .build());
    
    callback_function_resource = aws.lambda_.CallbackFunction("callbackFunctionResource",
        architectures=["string"],
        callback="any",
        callback_factory="any",
        code_path_options={
            "extra_exclude_packages": ["string"],
            "extra_include_packages": ["string"],
            "extra_include_paths": ["string"],
        },
        code_signing_config_arn="string",
        dead_letter_config={
            "target_arn": "string",
        },
        description="string",
        environment={
            "variables": {
                "string": "string",
            },
        },
        ephemeral_storage={
            "size": 0,
        },
        file_system_config={
            "arn": "string",
            "local_mount_path": "string",
        },
        image_config={
            "commands": ["string"],
            "entry_points": ["string"],
            "working_directory": "string",
        },
        image_uri="string",
        kms_key_arn="string",
        layers=["string"],
        logging_config={
            "log_format": "string",
            "application_log_level": "string",
            "log_group": "string",
            "system_log_level": "string",
        },
        memory_size=0,
        name="string",
        package_type="string",
        policies=None,
        publish=False,
        region="string",
        replace_security_groups_on_destroy=False,
        replacement_security_group_ids=["string"],
        reserved_concurrent_executions=0,
        role="string",
        runtime=aws.lambda_.Runtime.DOTNET6,
        s3_bucket="string",
        s3_key="string",
        s3_object_version="string",
        skip_destroy=False,
        snap_start={
            "apply_on": "string",
            "optimization_status": "string",
        },
        source_code_hash="string",
        tags={
            "string": "string",
        },
        timeout=0,
        tracing_config={
            "mode": "string",
        },
        vpc_config={
            "security_group_ids": ["string"],
            "subnet_ids": ["string"],
            "ipv6_allowed_for_dual_stack": False,
            "vpc_id": "string",
        })
    
    const callbackFunctionResource = new aws.lambda.CallbackFunction("callbackFunctionResource", {
        architectures: ["string"],
        callback: "any",
        callbackFactory: "any",
        codePathOptions: {
            extraExcludePackages: ["string"],
            extraIncludePackages: ["string"],
            extraIncludePaths: ["string"],
        },
        codeSigningConfigArn: "string",
        deadLetterConfig: {
            targetArn: "string",
        },
        description: "string",
        environment: {
            variables: {
                string: "string",
            },
        },
        ephemeralStorage: {
            size: 0,
        },
        fileSystemConfig: {
            arn: "string",
            localMountPath: "string",
        },
        imageConfig: {
            commands: ["string"],
            entryPoints: ["string"],
            workingDirectory: "string",
        },
        imageUri: "string",
        kmsKeyArn: "string",
        layers: ["string"],
        loggingConfig: {
            logFormat: "string",
            applicationLogLevel: "string",
            logGroup: "string",
            systemLogLevel: "string",
        },
        memorySize: 0,
        name: "string",
        packageType: "string",
        policies: null,
        publish: false,
        region: "string",
        replaceSecurityGroupsOnDestroy: false,
        replacementSecurityGroupIds: ["string"],
        reservedConcurrentExecutions: 0,
        role: "string",
        runtime: aws.lambda.Runtime.Dotnet6,
        s3Bucket: "string",
        s3Key: "string",
        s3ObjectVersion: "string",
        skipDestroy: false,
        snapStart: {
            applyOn: "string",
            optimizationStatus: "string",
        },
        sourceCodeHash: "string",
        tags: {
            string: "string",
        },
        timeout: 0,
        tracingConfig: {
            mode: "string",
        },
        vpcConfig: {
            securityGroupIds: ["string"],
            subnetIds: ["string"],
            ipv6AllowedForDualStack: false,
            vpcId: "string",
        },
    });
    
    type: aws:lambda:CallbackFunction
    properties:
        architectures:
            - string
        callback: any
        callbackFactory: any
        codePathOptions:
            extraExcludePackages:
                - string
            extraIncludePackages:
                - string
            extraIncludePaths:
                - string
        codeSigningConfigArn: string
        deadLetterConfig:
            targetArn: string
        description: string
        environment:
            variables:
                string: string
        ephemeralStorage:
            size: 0
        fileSystemConfig:
            arn: string
            localMountPath: string
        imageConfig:
            commands:
                - string
            entryPoints:
                - string
            workingDirectory: string
        imageUri: string
        kmsKeyArn: string
        layers:
            - string
        loggingConfig:
            applicationLogLevel: string
            logFormat: string
            logGroup: string
            systemLogLevel: string
        memorySize: 0
        name: string
        packageType: string
        policies: null
        publish: false
        region: string
        replaceSecurityGroupsOnDestroy: false
        replacementSecurityGroupIds:
            - string
        reservedConcurrentExecutions: 0
        role: string
        runtime: dotnet6
        s3Bucket: string
        s3Key: string
        s3ObjectVersion: string
        skipDestroy: false
        snapStart:
            applyOn: string
            optimizationStatus: string
        sourceCodeHash: string
        tags:
            string: string
        timeout: 0
        tracingConfig:
            mode: string
        vpcConfig:
            ipv6AllowedForDualStack: false
            securityGroupIds:
                - string
            subnetIds:
                - string
            vpcId: string
    

    CallbackFunction Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The CallbackFunction resource accepts the following input properties:

    Architectures List<string>
    Instruction set architecture for your Lambda function. Valid values are ["x86_64"] and ["arm64"]. Default is ["x86_64"]. Removing this attribute, function's architecture stays the same.
    Callback object
    The Javascript function to use as the entrypoint for the AWS Lambda out of. Either callback or callbackFactory must be provided.
    CallbackFactory object
    The Javascript function that will be called to produce the callback function that is the entrypoint for the AWS Lambda. Either callback or callbackFactory must be provided.
    CodePathOptions CodePathOptions
    Options to control which paths/packages should be included or excluded in the zip file containing the code for the AWS lambda.
    CodeSigningConfigArn string
    ARN of a code-signing configuration to enable code signing for this function.
    DeadLetterConfig FunctionDeadLetterConfig
    Configuration block for dead letter queue. See below.
    Description string
    Description of what your Lambda Function does.
    Environment FunctionEnvironment
    Configuration block for environment variables. See below.
    EphemeralStorage FunctionEphemeralStorage
    Amount of ephemeral storage (/tmp) to allocate for the Lambda Function. See below.
    FileSystemConfig FunctionFileSystemConfig
    Configuration block for EFS file system. See below.
    ImageConfig FunctionImageConfig
    Container image configuration values. See below.
    ImageUri string
    ECR image URI containing the function's deployment package. Conflicts with filename and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    KmsKeyArn string
    ARN of the AWS Key Management Service key used to encrypt environment variables. If not provided when environment variables are in use, AWS Lambda uses a default service key. If provided when environment variables are not in use, the AWS Lambda API does not save this configuration.
    Layers List<string>
    List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
    LoggingConfig FunctionLoggingConfig
    Configuration block for advanced logging settings. See below.
    MemorySize int
    Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 10,240 MB (10 GB), in 1 MB increments. Defaults to 128.
    Name string
    Unique name for your Lambda Function.
    PackageType string
    Lambda deployment package type. Valid values are Zip and Image. Defaults to Zip.
    Policies Dictionary<string, string> | List<string>
    A list of IAM policy ARNs to attach to the Function. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    Publish bool
    Whether to publish creation/change as new Lambda Function Version. Defaults to false.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    ReplaceSecurityGroupsOnDestroy bool
    Whether to replace the security groups on the function's VPC configuration prior to destruction. Default is false.
    ReplacementSecurityGroupIds List<string>
    List of security group IDs to assign to the function's VPC configuration prior to destruction. Required if replace_security_groups_on_destroy is true.
    ReservedConcurrentExecutions int
    Amount of reserved concurrent executions for this lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. Defaults to Unreserved Concurrency Limits -1.
    Role string
    The execution role for the Lambda Function. The role provides the function's identity and access to AWS services and resources. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    Runtime Pulumi.Aws.Lambda.Runtime
    The Lambda runtime to use. If not provided, will default to NodeJS20dX.
    S3Bucket string
    S3 bucket location containing the function's deployment package. Conflicts with filename and image_uri. One of filename, image_uri, or s3_bucket must be specified.
    S3Key string
    S3 key of an object containing the function's deployment package. Required if s3_bucket is set.
    S3ObjectVersion string
    Object version containing the function's deployment package. Conflicts with filename and image_uri.
    SkipDestroy bool
    Whether to retain the old version of a previously deployed Lambda Layer. Default is false.
    SnapStart FunctionSnapStart
    Configuration block for snap start settings. See below.
    SourceCodeHash string
    Base64-encoded SHA256 hash of the package file. Used to trigger updates when source code changes.
    Tags Dictionary<string, string>
    Key-value map of tags for the Lambda function. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timeout int
    Amount of time your Lambda Function has to run in seconds. Defaults to 3. Valid between 1 and 900.
    TracingConfig FunctionTracingConfig
    Configuration block for X-Ray tracing. See below.
    VpcConfig FunctionVpcConfig
    Configuration block for VPC. See below.
    Architectures []string
    Instruction set architecture for your Lambda function. Valid values are ["x86_64"] and ["arm64"]. Default is ["x86_64"]. Removing this attribute, function's architecture stays the same.
    Callback interface{}
    The Javascript function to use as the entrypoint for the AWS Lambda out of. Either callback or callbackFactory must be provided.
    CallbackFactory interface{}
    The Javascript function that will be called to produce the callback function that is the entrypoint for the AWS Lambda. Either callback or callbackFactory must be provided.
    CodePathOptions CodePathOptionsArgs
    Options to control which paths/packages should be included or excluded in the zip file containing the code for the AWS lambda.
    CodeSigningConfigArn string
    ARN of a code-signing configuration to enable code signing for this function.
    DeadLetterConfig FunctionDeadLetterConfigArgs
    Configuration block for dead letter queue. See below.
    Description string
    Description of what your Lambda Function does.
    Environment FunctionEnvironmentArgs
    Configuration block for environment variables. See below.
    EphemeralStorage FunctionEphemeralStorageArgs
    Amount of ephemeral storage (/tmp) to allocate for the Lambda Function. See below.
    FileSystemConfig FunctionFileSystemConfigArgs
    Configuration block for EFS file system. See below.
    ImageConfig FunctionImageConfigArgs
    Container image configuration values. See below.
    ImageUri string
    ECR image URI containing the function's deployment package. Conflicts with filename and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    KmsKeyArn string
    ARN of the AWS Key Management Service key used to encrypt environment variables. If not provided when environment variables are in use, AWS Lambda uses a default service key. If provided when environment variables are not in use, the AWS Lambda API does not save this configuration.
    Layers []string
    List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
    LoggingConfig FunctionLoggingConfigArgs
    Configuration block for advanced logging settings. See below.
    MemorySize int
    Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 10,240 MB (10 GB), in 1 MB increments. Defaults to 128.
    Name string
    Unique name for your Lambda Function.
    PackageType string
    Lambda deployment package type. Valid values are Zip and Image. Defaults to Zip.
    Policies map[string]string | []string
    A list of IAM policy ARNs to attach to the Function. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    Publish bool
    Whether to publish creation/change as new Lambda Function Version. Defaults to false.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    ReplaceSecurityGroupsOnDestroy bool
    Whether to replace the security groups on the function's VPC configuration prior to destruction. Default is false.
    ReplacementSecurityGroupIds []string
    List of security group IDs to assign to the function's VPC configuration prior to destruction. Required if replace_security_groups_on_destroy is true.
    ReservedConcurrentExecutions int
    Amount of reserved concurrent executions for this lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. Defaults to Unreserved Concurrency Limits -1.
    Role string
    The execution role for the Lambda Function. The role provides the function's identity and access to AWS services and resources. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    Runtime Runtime
    The Lambda runtime to use. If not provided, will default to NodeJS20dX.
    S3Bucket string
    S3 bucket location containing the function's deployment package. Conflicts with filename and image_uri. One of filename, image_uri, or s3_bucket must be specified.
    S3Key string
    S3 key of an object containing the function's deployment package. Required if s3_bucket is set.
    S3ObjectVersion string
    Object version containing the function's deployment package. Conflicts with filename and image_uri.
    SkipDestroy bool
    Whether to retain the old version of a previously deployed Lambda Layer. Default is false.
    SnapStart FunctionSnapStartArgs
    Configuration block for snap start settings. See below.
    SourceCodeHash string
    Base64-encoded SHA256 hash of the package file. Used to trigger updates when source code changes.
    Tags map[string]string
    Key-value map of tags for the Lambda function. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    Timeout int
    Amount of time your Lambda Function has to run in seconds. Defaults to 3. Valid between 1 and 900.
    TracingConfig FunctionTracingConfigArgs
    Configuration block for X-Ray tracing. See below.
    VpcConfig FunctionVpcConfigArgs
    Configuration block for VPC. See below.
    architectures List<String>
    Instruction set architecture for your Lambda function. Valid values are ["x86_64"] and ["arm64"]. Default is ["x86_64"]. Removing this attribute, function's architecture stays the same.
    callback Object
    The Javascript function to use as the entrypoint for the AWS Lambda out of. Either callback or callbackFactory must be provided.
    callbackFactory Object
    The Javascript function that will be called to produce the callback function that is the entrypoint for the AWS Lambda. Either callback or callbackFactory must be provided.
    codePathOptions CodePathOptions
    Options to control which paths/packages should be included or excluded in the zip file containing the code for the AWS lambda.
    codeSigningConfigArn String
    ARN of a code-signing configuration to enable code signing for this function.
    deadLetterConfig FunctionDeadLetterConfig
    Configuration block for dead letter queue. See below.
    description String
    Description of what your Lambda Function does.
    environment FunctionEnvironment
    Configuration block for environment variables. See below.
    ephemeralStorage FunctionEphemeralStorage
    Amount of ephemeral storage (/tmp) to allocate for the Lambda Function. See below.
    fileSystemConfig FunctionFileSystemConfig
    Configuration block for EFS file system. See below.
    imageConfig FunctionImageConfig
    Container image configuration values. See below.
    imageUri String
    ECR image URI containing the function's deployment package. Conflicts with filename and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    kmsKeyArn String
    ARN of the AWS Key Management Service key used to encrypt environment variables. If not provided when environment variables are in use, AWS Lambda uses a default service key. If provided when environment variables are not in use, the AWS Lambda API does not save this configuration.
    layers List<String>
    List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
    loggingConfig FunctionLoggingConfig
    Configuration block for advanced logging settings. See below.
    memorySize Integer
    Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 10,240 MB (10 GB), in 1 MB increments. Defaults to 128.
    name String
    Unique name for your Lambda Function.
    packageType String
    Lambda deployment package type. Valid values are Zip and Image. Defaults to Zip.
    policies Map<String,String> | List<String>
    A list of IAM policy ARNs to attach to the Function. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    publish Boolean
    Whether to publish creation/change as new Lambda Function Version. Defaults to false.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    replaceSecurityGroupsOnDestroy Boolean
    Whether to replace the security groups on the function's VPC configuration prior to destruction. Default is false.
    replacementSecurityGroupIds List<String>
    List of security group IDs to assign to the function's VPC configuration prior to destruction. Required if replace_security_groups_on_destroy is true.
    reservedConcurrentExecutions Integer
    Amount of reserved concurrent executions for this lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. Defaults to Unreserved Concurrency Limits -1.
    role String
    The execution role for the Lambda Function. The role provides the function's identity and access to AWS services and resources. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    runtime Runtime
    The Lambda runtime to use. If not provided, will default to NodeJS20dX.
    s3Bucket String
    S3 bucket location containing the function's deployment package. Conflicts with filename and image_uri. One of filename, image_uri, or s3_bucket must be specified.
    s3Key String
    S3 key of an object containing the function's deployment package. Required if s3_bucket is set.
    s3ObjectVersion String
    Object version containing the function's deployment package. Conflicts with filename and image_uri.
    skipDestroy Boolean
    Whether to retain the old version of a previously deployed Lambda Layer. Default is false.
    snapStart FunctionSnapStart
    Configuration block for snap start settings. See below.
    sourceCodeHash String
    Base64-encoded SHA256 hash of the package file. Used to trigger updates when source code changes.
    tags Map<String,String>
    Key-value map of tags for the Lambda function. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeout Integer
    Amount of time your Lambda Function has to run in seconds. Defaults to 3. Valid between 1 and 900.
    tracingConfig FunctionTracingConfig
    Configuration block for X-Ray tracing. See below.
    vpcConfig FunctionVpcConfig
    Configuration block for VPC. See below.
    architectures string[]
    Instruction set architecture for your Lambda function. Valid values are ["x86_64"] and ["arm64"]. Default is ["x86_64"]. Removing this attribute, function's architecture stays the same.
    callback any
    The Javascript function to use as the entrypoint for the AWS Lambda out of. Either callback or callbackFactory must be provided.
    callbackFactory any
    The Javascript function that will be called to produce the callback function that is the entrypoint for the AWS Lambda. Either callback or callbackFactory must be provided.
    codePathOptions CodePathOptions
    Options to control which paths/packages should be included or excluded in the zip file containing the code for the AWS lambda.
    codeSigningConfigArn string
    ARN of a code-signing configuration to enable code signing for this function.
    deadLetterConfig FunctionDeadLetterConfig
    Configuration block for dead letter queue. See below.
    description string
    Description of what your Lambda Function does.
    environment FunctionEnvironment
    Configuration block for environment variables. See below.
    ephemeralStorage FunctionEphemeralStorage
    Amount of ephemeral storage (/tmp) to allocate for the Lambda Function. See below.
    fileSystemConfig FunctionFileSystemConfig
    Configuration block for EFS file system. See below.
    imageConfig FunctionImageConfig
    Container image configuration values. See below.
    imageUri string
    ECR image URI containing the function's deployment package. Conflicts with filename and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    kmsKeyArn string
    ARN of the AWS Key Management Service key used to encrypt environment variables. If not provided when environment variables are in use, AWS Lambda uses a default service key. If provided when environment variables are not in use, the AWS Lambda API does not save this configuration.
    layers string[]
    List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
    loggingConfig FunctionLoggingConfig
    Configuration block for advanced logging settings. See below.
    memorySize number
    Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 10,240 MB (10 GB), in 1 MB increments. Defaults to 128.
    name string
    Unique name for your Lambda Function.
    packageType string
    Lambda deployment package type. Valid values are Zip and Image. Defaults to Zip.
    policies {[key: string]: string} | string[]
    A list of IAM policy ARNs to attach to the Function. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    publish boolean
    Whether to publish creation/change as new Lambda Function Version. Defaults to false.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    replaceSecurityGroupsOnDestroy boolean
    Whether to replace the security groups on the function's VPC configuration prior to destruction. Default is false.
    replacementSecurityGroupIds string[]
    List of security group IDs to assign to the function's VPC configuration prior to destruction. Required if replace_security_groups_on_destroy is true.
    reservedConcurrentExecutions number
    Amount of reserved concurrent executions for this lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. Defaults to Unreserved Concurrency Limits -1.
    role string
    The execution role for the Lambda Function. The role provides the function's identity and access to AWS services and resources. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    runtime Runtime
    The Lambda runtime to use. If not provided, will default to NodeJS20dX.
    s3Bucket string
    S3 bucket location containing the function's deployment package. Conflicts with filename and image_uri. One of filename, image_uri, or s3_bucket must be specified.
    s3Key string
    S3 key of an object containing the function's deployment package. Required if s3_bucket is set.
    s3ObjectVersion string
    Object version containing the function's deployment package. Conflicts with filename and image_uri.
    skipDestroy boolean
    Whether to retain the old version of a previously deployed Lambda Layer. Default is false.
    snapStart FunctionSnapStart
    Configuration block for snap start settings. See below.
    sourceCodeHash string
    Base64-encoded SHA256 hash of the package file. Used to trigger updates when source code changes.
    tags {[key: string]: string}
    Key-value map of tags for the Lambda function. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeout number
    Amount of time your Lambda Function has to run in seconds. Defaults to 3. Valid between 1 and 900.
    tracingConfig FunctionTracingConfig
    Configuration block for X-Ray tracing. See below.
    vpcConfig FunctionVpcConfig
    Configuration block for VPC. See below.
    architectures Sequence[str]
    Instruction set architecture for your Lambda function. Valid values are ["x86_64"] and ["arm64"]. Default is ["x86_64"]. Removing this attribute, function's architecture stays the same.
    callback Any
    The Javascript function to use as the entrypoint for the AWS Lambda out of. Either callback or callbackFactory must be provided.
    callback_factory Any
    The Javascript function that will be called to produce the callback function that is the entrypoint for the AWS Lambda. Either callback or callbackFactory must be provided.
    code_path_options CodePathOptionsArgs
    Options to control which paths/packages should be included or excluded in the zip file containing the code for the AWS lambda.
    code_signing_config_arn str
    ARN of a code-signing configuration to enable code signing for this function.
    dead_letter_config FunctionDeadLetterConfigArgs
    Configuration block for dead letter queue. See below.
    description str
    Description of what your Lambda Function does.
    environment FunctionEnvironmentArgs
    Configuration block for environment variables. See below.
    ephemeral_storage FunctionEphemeralStorageArgs
    Amount of ephemeral storage (/tmp) to allocate for the Lambda Function. See below.
    file_system_config FunctionFileSystemConfigArgs
    Configuration block for EFS file system. See below.
    image_config FunctionImageConfigArgs
    Container image configuration values. See below.
    image_uri str
    ECR image URI containing the function's deployment package. Conflicts with filename and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    kms_key_arn str
    ARN of the AWS Key Management Service key used to encrypt environment variables. If not provided when environment variables are in use, AWS Lambda uses a default service key. If provided when environment variables are not in use, the AWS Lambda API does not save this configuration.
    layers Sequence[str]
    List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
    logging_config FunctionLoggingConfigArgs
    Configuration block for advanced logging settings. See below.
    memory_size int
    Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 10,240 MB (10 GB), in 1 MB increments. Defaults to 128.
    name str
    Unique name for your Lambda Function.
    package_type str
    Lambda deployment package type. Valid values are Zip and Image. Defaults to Zip.
    policies Mapping[str, str] | Sequence[str]
    A list of IAM policy ARNs to attach to the Function. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    publish bool
    Whether to publish creation/change as new Lambda Function Version. Defaults to false.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    replace_security_groups_on_destroy bool
    Whether to replace the security groups on the function's VPC configuration prior to destruction. Default is false.
    replacement_security_group_ids Sequence[str]
    List of security group IDs to assign to the function's VPC configuration prior to destruction. Required if replace_security_groups_on_destroy is true.
    reserved_concurrent_executions int
    Amount of reserved concurrent executions for this lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. Defaults to Unreserved Concurrency Limits -1.
    role str
    The execution role for the Lambda Function. The role provides the function's identity and access to AWS services and resources. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    runtime Runtime
    The Lambda runtime to use. If not provided, will default to NodeJS20dX.
    s3_bucket str
    S3 bucket location containing the function's deployment package. Conflicts with filename and image_uri. One of filename, image_uri, or s3_bucket must be specified.
    s3_key str
    S3 key of an object containing the function's deployment package. Required if s3_bucket is set.
    s3_object_version str
    Object version containing the function's deployment package. Conflicts with filename and image_uri.
    skip_destroy bool
    Whether to retain the old version of a previously deployed Lambda Layer. Default is false.
    snap_start FunctionSnapStartArgs
    Configuration block for snap start settings. See below.
    source_code_hash str
    Base64-encoded SHA256 hash of the package file. Used to trigger updates when source code changes.
    tags Mapping[str, str]
    Key-value map of tags for the Lambda function. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeout int
    Amount of time your Lambda Function has to run in seconds. Defaults to 3. Valid between 1 and 900.
    tracing_config FunctionTracingConfigArgs
    Configuration block for X-Ray tracing. See below.
    vpc_config FunctionVpcConfigArgs
    Configuration block for VPC. See below.
    architectures List<String>
    Instruction set architecture for your Lambda function. Valid values are ["x86_64"] and ["arm64"]. Default is ["x86_64"]. Removing this attribute, function's architecture stays the same.
    callback Any
    The Javascript function to use as the entrypoint for the AWS Lambda out of. Either callback or callbackFactory must be provided.
    callbackFactory Any
    The Javascript function that will be called to produce the callback function that is the entrypoint for the AWS Lambda. Either callback or callbackFactory must be provided.
    codePathOptions Property Map
    Options to control which paths/packages should be included or excluded in the zip file containing the code for the AWS lambda.
    codeSigningConfigArn String
    ARN of a code-signing configuration to enable code signing for this function.
    deadLetterConfig Property Map
    Configuration block for dead letter queue. See below.
    description String
    Description of what your Lambda Function does.
    environment Property Map
    Configuration block for environment variables. See below.
    ephemeralStorage Property Map
    Amount of ephemeral storage (/tmp) to allocate for the Lambda Function. See below.
    fileSystemConfig Property Map
    Configuration block for EFS file system. See below.
    imageConfig Property Map
    Container image configuration values. See below.
    imageUri String
    ECR image URI containing the function's deployment package. Conflicts with filename and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    kmsKeyArn String
    ARN of the AWS Key Management Service key used to encrypt environment variables. If not provided when environment variables are in use, AWS Lambda uses a default service key. If provided when environment variables are not in use, the AWS Lambda API does not save this configuration.
    layers List<String>
    List of Lambda Layer Version ARNs (maximum of 5) to attach to your Lambda Function.
    loggingConfig Property Map
    Configuration block for advanced logging settings. See below.
    memorySize Number
    Amount of memory in MB your Lambda Function can use at runtime. Valid value between 128 MB to 10,240 MB (10 GB), in 1 MB increments. Defaults to 128.
    name String
    Unique name for your Lambda Function.
    packageType String
    Lambda deployment package type. Valid values are Zip and Image. Defaults to Zip.
    policies Map<String> | List<String>
    A list of IAM policy ARNs to attach to the Function. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    publish Boolean
    Whether to publish creation/change as new Lambda Function Version. Defaults to false.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    replaceSecurityGroupsOnDestroy Boolean
    Whether to replace the security groups on the function's VPC configuration prior to destruction. Default is false.
    replacementSecurityGroupIds List<String>
    List of security group IDs to assign to the function's VPC configuration prior to destruction. Required if replace_security_groups_on_destroy is true.
    reservedConcurrentExecutions Number
    Amount of reserved concurrent executions for this lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. Defaults to Unreserved Concurrency Limits -1.
    role String
    The execution role for the Lambda Function. The role provides the function's identity and access to AWS services and resources. Only one of role or policies can be provided. If neither is provided, the default policies will be used instead.
    runtime "dotnet6" | "dotnet8" | "java11" | "java17" | "java21" | "java8.al2" | "nodejs18.x" | "nodejs20.x" | "nodejs22.x" | "provided.al2" | "provided.al2023" | "python3.10" | "python3.11" | "python3.12" | "python3.13" | "python3.9" | "ruby3.2" | "ruby3.3" | "dotnet5.0" | "dotnet7" | "dotnetcore2.1" | "dotnetcore3.1" | "go1.x" | "java8" | "nodejs10.x" | "nodejs12.x" | "nodejs14.x" | "nodejs16.x" | "provided" | "python2.7" | "python3.6" | "python3.7" | "python3.8" | "ruby2.5" | "ruby2.7"
    The Lambda runtime to use. If not provided, will default to NodeJS20dX.
    s3Bucket String
    S3 bucket location containing the function's deployment package. Conflicts with filename and image_uri. One of filename, image_uri, or s3_bucket must be specified.
    s3Key String
    S3 key of an object containing the function's deployment package. Required if s3_bucket is set.
    s3ObjectVersion String
    Object version containing the function's deployment package. Conflicts with filename and image_uri.
    skipDestroy Boolean
    Whether to retain the old version of a previously deployed Lambda Layer. Default is false.
    snapStart Property Map
    Configuration block for snap start settings. See below.
    sourceCodeHash String
    Base64-encoded SHA256 hash of the package file. Used to trigger updates when source code changes.
    tags Map<String>
    Key-value map of tags for the Lambda function. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeout Number
    Amount of time your Lambda Function has to run in seconds. Defaults to 3. Valid between 1 and 900.
    tracingConfig Property Map
    Configuration block for X-Ray tracing. See below.
    vpcConfig Property Map
    Configuration block for VPC. See below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CallbackFunction resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Arn string
    ARN identifying your Lambda Function.
    Code Archive
    Path to the function's deployment package within the local filesystem. Conflicts with image_uri and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    CodeSha256 string
    Base64-encoded representation of raw SHA-256 sum of the zip file.
    Handler string
    Function entry point in your code. Required if package_type is Zip.
    InvokeArn string
    ARN to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    LastModified string
    Date this resource was last modified.
    QualifiedArn string
    ARN identifying your Lambda Function Version (if versioning is enabled via publish = true).
    QualifiedInvokeArn string
    Qualified ARN (ARN with lambda version number) to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    RoleInstance string
    The IAM role assigned to this Lambda function. Will be undefined if an ARN was provided for the role input property.
    SigningJobArn string
    ARN of the signing job.
    SigningProfileVersionArn string
    ARN of the signing profile version.
    SourceCodeSize int
    Size in bytes of the function .zip file.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Version string
    Latest published version of your Lambda Function.
    Id string
    The provider-assigned unique ID for this managed resource.
    Arn string
    ARN identifying your Lambda Function.
    Code pulumi.Archive
    Path to the function's deployment package within the local filesystem. Conflicts with image_uri and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    CodeSha256 string
    Base64-encoded representation of raw SHA-256 sum of the zip file.
    Handler string
    Function entry point in your code. Required if package_type is Zip.
    InvokeArn string
    ARN to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    LastModified string
    Date this resource was last modified.
    QualifiedArn string
    ARN identifying your Lambda Function Version (if versioning is enabled via publish = true).
    QualifiedInvokeArn string
    Qualified ARN (ARN with lambda version number) to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    RoleInstance string
    The IAM role assigned to this Lambda function. Will be undefined if an ARN was provided for the role input property.
    SigningJobArn string
    ARN of the signing job.
    SigningProfileVersionArn string
    ARN of the signing profile version.
    SourceCodeSize int
    Size in bytes of the function .zip file.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    Version string
    Latest published version of your Lambda Function.
    id String
    The provider-assigned unique ID for this managed resource.
    arn String
    ARN identifying your Lambda Function.
    code Archive
    Path to the function's deployment package within the local filesystem. Conflicts with image_uri and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    codeSha256 String
    Base64-encoded representation of raw SHA-256 sum of the zip file.
    handler String
    Function entry point in your code. Required if package_type is Zip.
    invokeArn String
    ARN to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    lastModified String
    Date this resource was last modified.
    qualifiedArn String
    ARN identifying your Lambda Function Version (if versioning is enabled via publish = true).
    qualifiedInvokeArn String
    Qualified ARN (ARN with lambda version number) to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    roleInstance String
    The IAM role assigned to this Lambda function. Will be undefined if an ARN was provided for the role input property.
    signingJobArn String
    ARN of the signing job.
    signingProfileVersionArn String
    ARN of the signing profile version.
    sourceCodeSize Integer
    Size in bytes of the function .zip file.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    version String
    Latest published version of your Lambda Function.
    id string
    The provider-assigned unique ID for this managed resource.
    arn string
    ARN identifying your Lambda Function.
    code pulumi.asset.Archive
    Path to the function's deployment package within the local filesystem. Conflicts with image_uri and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    codeSha256 string
    Base64-encoded representation of raw SHA-256 sum of the zip file.
    handler string
    Function entry point in your code. Required if package_type is Zip.
    invokeArn string
    ARN to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    lastModified string
    Date this resource was last modified.
    qualifiedArn string
    ARN identifying your Lambda Function Version (if versioning is enabled via publish = true).
    qualifiedInvokeArn string
    Qualified ARN (ARN with lambda version number) to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    roleInstance string
    The IAM role assigned to this Lambda function. Will be undefined if an ARN was provided for the role input property.
    signingJobArn string
    ARN of the signing job.
    signingProfileVersionArn string
    ARN of the signing profile version.
    sourceCodeSize number
    Size in bytes of the function .zip file.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    version string
    Latest published version of your Lambda Function.
    id str
    The provider-assigned unique ID for this managed resource.
    arn str
    ARN identifying your Lambda Function.
    code pulumi.Archive
    Path to the function's deployment package within the local filesystem. Conflicts with image_uri and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    code_sha256 str
    Base64-encoded representation of raw SHA-256 sum of the zip file.
    handler str
    Function entry point in your code. Required if package_type is Zip.
    invoke_arn str
    ARN to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    last_modified str
    Date this resource was last modified.
    qualified_arn str
    ARN identifying your Lambda Function Version (if versioning is enabled via publish = true).
    qualified_invoke_arn str
    Qualified ARN (ARN with lambda version number) to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    role_instance str
    The IAM role assigned to this Lambda function. Will be undefined if an ARN was provided for the role input property.
    signing_job_arn str
    ARN of the signing job.
    signing_profile_version_arn str
    ARN of the signing profile version.
    source_code_size int
    Size in bytes of the function .zip file.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    version str
    Latest published version of your Lambda Function.
    id String
    The provider-assigned unique ID for this managed resource.
    arn String
    ARN identifying your Lambda Function.
    code Archive
    Path to the function's deployment package within the local filesystem. Conflicts with image_uri and s3_bucket. One of filename, image_uri, or s3_bucket must be specified.
    codeSha256 String
    Base64-encoded representation of raw SHA-256 sum of the zip file.
    handler String
    Function entry point in your code. Required if package_type is Zip.
    invokeArn String
    ARN to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    lastModified String
    Date this resource was last modified.
    qualifiedArn String
    ARN identifying your Lambda Function Version (if versioning is enabled via publish = true).
    qualifiedInvokeArn String
    Qualified ARN (ARN with lambda version number) to be used for invoking Lambda Function from API Gateway - to be used in aws.apigateway.Integration's uri.
    roleInstance String
    The IAM role assigned to this Lambda function. Will be undefined if an ARN was provided for the role input property.
    signingJobArn String
    ARN of the signing job.
    signingProfileVersionArn String
    ARN of the signing profile version.
    sourceCodeSize Number
    Size in bytes of the function .zip file.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
    version String
    Latest published version of your Lambda Function.

    Supporting Types

    CodePathOptions, CodePathOptionsArgs

    ExtraExcludePackages List<string>
    Packages to explicitly exclude from the Assets for a serialized closure. This can be used when clients want to trim down the size of a closure, and they know that some package won't ever actually be needed at runtime, but is still a dependency of some package that is being used at runtime.
    ExtraIncludePackages List<string>
    Extra packages to include when producing the Assets for a serialized closure. This can be useful if the packages are acquired in a way that the serialization code does not understand. For example, if there was some sort of module that was pulled in based off of a computed string.
    ExtraIncludePaths List<string>
    Local file/directory paths that should be included when producing the Assets for a serialized closure.
    ExtraExcludePackages []string
    Packages to explicitly exclude from the Assets for a serialized closure. This can be used when clients want to trim down the size of a closure, and they know that some package won't ever actually be needed at runtime, but is still a dependency of some package that is being used at runtime.
    ExtraIncludePackages []string
    Extra packages to include when producing the Assets for a serialized closure. This can be useful if the packages are acquired in a way that the serialization code does not understand. For example, if there was some sort of module that was pulled in based off of a computed string.
    ExtraIncludePaths []string
    Local file/directory paths that should be included when producing the Assets for a serialized closure.
    extraExcludePackages List<String>
    Packages to explicitly exclude from the Assets for a serialized closure. This can be used when clients want to trim down the size of a closure, and they know that some package won't ever actually be needed at runtime, but is still a dependency of some package that is being used at runtime.
    extraIncludePackages List<String>
    Extra packages to include when producing the Assets for a serialized closure. This can be useful if the packages are acquired in a way that the serialization code does not understand. For example, if there was some sort of module that was pulled in based off of a computed string.
    extraIncludePaths List<String>
    Local file/directory paths that should be included when producing the Assets for a serialized closure.
    extraExcludePackages string[]
    Packages to explicitly exclude from the Assets for a serialized closure. This can be used when clients want to trim down the size of a closure, and they know that some package won't ever actually be needed at runtime, but is still a dependency of some package that is being used at runtime.
    extraIncludePackages string[]
    Extra packages to include when producing the Assets for a serialized closure. This can be useful if the packages are acquired in a way that the serialization code does not understand. For example, if there was some sort of module that was pulled in based off of a computed string.
    extraIncludePaths string[]
    Local file/directory paths that should be included when producing the Assets for a serialized closure.
    extra_exclude_packages Sequence[str]
    Packages to explicitly exclude from the Assets for a serialized closure. This can be used when clients want to trim down the size of a closure, and they know that some package won't ever actually be needed at runtime, but is still a dependency of some package that is being used at runtime.
    extra_include_packages Sequence[str]
    Extra packages to include when producing the Assets for a serialized closure. This can be useful if the packages are acquired in a way that the serialization code does not understand. For example, if there was some sort of module that was pulled in based off of a computed string.
    extra_include_paths Sequence[str]
    Local file/directory paths that should be included when producing the Assets for a serialized closure.
    extraExcludePackages List<String>
    Packages to explicitly exclude from the Assets for a serialized closure. This can be used when clients want to trim down the size of a closure, and they know that some package won't ever actually be needed at runtime, but is still a dependency of some package that is being used at runtime.
    extraIncludePackages List<String>
    Extra packages to include when producing the Assets for a serialized closure. This can be useful if the packages are acquired in a way that the serialization code does not understand. For example, if there was some sort of module that was pulled in based off of a computed string.
    extraIncludePaths List<String>
    Local file/directory paths that should be included when producing the Assets for a serialized closure.

    FunctionDeadLetterConfig, FunctionDeadLetterConfigArgs

    TargetArn string
    ARN of an SNS topic or SQS queue to notify when an invocation fails.
    TargetArn string
    ARN of an SNS topic or SQS queue to notify when an invocation fails.
    targetArn String
    ARN of an SNS topic or SQS queue to notify when an invocation fails.
    targetArn string
    ARN of an SNS topic or SQS queue to notify when an invocation fails.
    target_arn str
    ARN of an SNS topic or SQS queue to notify when an invocation fails.
    targetArn String
    ARN of an SNS topic or SQS queue to notify when an invocation fails.

    FunctionEnvironment, FunctionEnvironmentArgs

    Variables Dictionary<string, string>
    Map of environment variables available to your Lambda function during execution.
    Variables map[string]string
    Map of environment variables available to your Lambda function during execution.
    variables Map<String,String>
    Map of environment variables available to your Lambda function during execution.
    variables {[key: string]: string}
    Map of environment variables available to your Lambda function during execution.
    variables Mapping[str, str]
    Map of environment variables available to your Lambda function during execution.
    variables Map<String>
    Map of environment variables available to your Lambda function during execution.

    FunctionEphemeralStorage, FunctionEphemeralStorageArgs

    Size int
    Amount of ephemeral storage (/tmp) in MB. Valid between 512 MB and 10,240 MB (10 GB).
    Size int
    Amount of ephemeral storage (/tmp) in MB. Valid between 512 MB and 10,240 MB (10 GB).
    size Integer
    Amount of ephemeral storage (/tmp) in MB. Valid between 512 MB and 10,240 MB (10 GB).
    size number
    Amount of ephemeral storage (/tmp) in MB. Valid between 512 MB and 10,240 MB (10 GB).
    size int
    Amount of ephemeral storage (/tmp) in MB. Valid between 512 MB and 10,240 MB (10 GB).
    size Number
    Amount of ephemeral storage (/tmp) in MB. Valid between 512 MB and 10,240 MB (10 GB).

    FunctionFileSystemConfig, FunctionFileSystemConfigArgs

    Arn string
    ARN of the Amazon EFS Access Point.
    LocalMountPath string
    Path where the function can access the file system. Must start with /mnt/.
    Arn string
    ARN of the Amazon EFS Access Point.
    LocalMountPath string
    Path where the function can access the file system. Must start with /mnt/.
    arn String
    ARN of the Amazon EFS Access Point.
    localMountPath String
    Path where the function can access the file system. Must start with /mnt/.
    arn string
    ARN of the Amazon EFS Access Point.
    localMountPath string
    Path where the function can access the file system. Must start with /mnt/.
    arn str
    ARN of the Amazon EFS Access Point.
    local_mount_path str
    Path where the function can access the file system. Must start with /mnt/.
    arn String
    ARN of the Amazon EFS Access Point.
    localMountPath String
    Path where the function can access the file system. Must start with /mnt/.

    FunctionImageConfig, FunctionImageConfigArgs

    Commands List<string>
    Parameters to pass to the container image.
    EntryPoints List<string>
    Entry point to your application.
    WorkingDirectory string
    Working directory for the container image.
    Commands []string
    Parameters to pass to the container image.
    EntryPoints []string
    Entry point to your application.
    WorkingDirectory string
    Working directory for the container image.
    commands List<String>
    Parameters to pass to the container image.
    entryPoints List<String>
    Entry point to your application.
    workingDirectory String
    Working directory for the container image.
    commands string[]
    Parameters to pass to the container image.
    entryPoints string[]
    Entry point to your application.
    workingDirectory string
    Working directory for the container image.
    commands Sequence[str]
    Parameters to pass to the container image.
    entry_points Sequence[str]
    Entry point to your application.
    working_directory str
    Working directory for the container image.
    commands List<String>
    Parameters to pass to the container image.
    entryPoints List<String>
    Entry point to your application.
    workingDirectory String
    Working directory for the container image.

    FunctionLoggingConfig, FunctionLoggingConfigArgs

    LogFormat string
    Log format. Valid values: Text, JSON.
    ApplicationLogLevel string
    Detail level of application logs. Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.
    LogGroup string
    CloudWatch log group where logs are sent.
    SystemLogLevel string
    Detail level of Lambda platform logs. Valid values: DEBUG, INFO, WARN.
    LogFormat string
    Log format. Valid values: Text, JSON.
    ApplicationLogLevel string
    Detail level of application logs. Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.
    LogGroup string
    CloudWatch log group where logs are sent.
    SystemLogLevel string
    Detail level of Lambda platform logs. Valid values: DEBUG, INFO, WARN.
    logFormat String
    Log format. Valid values: Text, JSON.
    applicationLogLevel String
    Detail level of application logs. Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.
    logGroup String
    CloudWatch log group where logs are sent.
    systemLogLevel String
    Detail level of Lambda platform logs. Valid values: DEBUG, INFO, WARN.
    logFormat string
    Log format. Valid values: Text, JSON.
    applicationLogLevel string
    Detail level of application logs. Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.
    logGroup string
    CloudWatch log group where logs are sent.
    systemLogLevel string
    Detail level of Lambda platform logs. Valid values: DEBUG, INFO, WARN.
    log_format str
    Log format. Valid values: Text, JSON.
    application_log_level str
    Detail level of application logs. Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.
    log_group str
    CloudWatch log group where logs are sent.
    system_log_level str
    Detail level of Lambda platform logs. Valid values: DEBUG, INFO, WARN.
    logFormat String
    Log format. Valid values: Text, JSON.
    applicationLogLevel String
    Detail level of application logs. Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL.
    logGroup String
    CloudWatch log group where logs are sent.
    systemLogLevel String
    Detail level of Lambda platform logs. Valid values: DEBUG, INFO, WARN.

    FunctionSnapStart, FunctionSnapStartArgs

    ApplyOn string
    When to apply snap start optimization. Valid value: PublishedVersions.
    OptimizationStatus string
    Optimization status of the snap start configuration. Valid values are On and Off.
    ApplyOn string
    When to apply snap start optimization. Valid value: PublishedVersions.
    OptimizationStatus string
    Optimization status of the snap start configuration. Valid values are On and Off.
    applyOn String
    When to apply snap start optimization. Valid value: PublishedVersions.
    optimizationStatus String
    Optimization status of the snap start configuration. Valid values are On and Off.
    applyOn string
    When to apply snap start optimization. Valid value: PublishedVersions.
    optimizationStatus string
    Optimization status of the snap start configuration. Valid values are On and Off.
    apply_on str
    When to apply snap start optimization. Valid value: PublishedVersions.
    optimization_status str
    Optimization status of the snap start configuration. Valid values are On and Off.
    applyOn String
    When to apply snap start optimization. Valid value: PublishedVersions.
    optimizationStatus String
    Optimization status of the snap start configuration. Valid values are On and Off.

    FunctionTracingConfig, FunctionTracingConfigArgs

    Mode string
    X-Ray tracing mode. Valid values: Active, PassThrough.
    Mode string
    X-Ray tracing mode. Valid values: Active, PassThrough.
    mode String
    X-Ray tracing mode. Valid values: Active, PassThrough.
    mode string
    X-Ray tracing mode. Valid values: Active, PassThrough.
    mode str
    X-Ray tracing mode. Valid values: Active, PassThrough.
    mode String
    X-Ray tracing mode. Valid values: Active, PassThrough.

    FunctionVpcConfig, FunctionVpcConfigArgs

    SecurityGroupIds List<string>
    List of security group IDs associated with the Lambda function.
    SubnetIds List<string>
    List of subnet IDs associated with the Lambda function.
    Ipv6AllowedForDualStack bool
    Whether to allow outbound IPv6 traffic on VPC functions connected to dual-stack subnets. Default: false.
    VpcId string
    ID of the VPC.
    SecurityGroupIds []string
    List of security group IDs associated with the Lambda function.
    SubnetIds []string
    List of subnet IDs associated with the Lambda function.
    Ipv6AllowedForDualStack bool
    Whether to allow outbound IPv6 traffic on VPC functions connected to dual-stack subnets. Default: false.
    VpcId string
    ID of the VPC.
    securityGroupIds List<String>
    List of security group IDs associated with the Lambda function.
    subnetIds List<String>
    List of subnet IDs associated with the Lambda function.
    ipv6AllowedForDualStack Boolean
    Whether to allow outbound IPv6 traffic on VPC functions connected to dual-stack subnets. Default: false.
    vpcId String
    ID of the VPC.
    securityGroupIds string[]
    List of security group IDs associated with the Lambda function.
    subnetIds string[]
    List of subnet IDs associated with the Lambda function.
    ipv6AllowedForDualStack boolean
    Whether to allow outbound IPv6 traffic on VPC functions connected to dual-stack subnets. Default: false.
    vpcId string
    ID of the VPC.
    security_group_ids Sequence[str]
    List of security group IDs associated with the Lambda function.
    subnet_ids Sequence[str]
    List of subnet IDs associated with the Lambda function.
    ipv6_allowed_for_dual_stack bool
    Whether to allow outbound IPv6 traffic on VPC functions connected to dual-stack subnets. Default: false.
    vpc_id str
    ID of the VPC.
    securityGroupIds List<String>
    List of security group IDs associated with the Lambda function.
    subnetIds List<String>
    List of subnet IDs associated with the Lambda function.
    ipv6AllowedForDualStack Boolean
    Whether to allow outbound IPv6 traffic on VPC functions connected to dual-stack subnets. Default: false.
    vpcId String
    ID of the VPC.

    Runtime, RuntimeArgs

    Dotnet6
    dotnet6
    Dotnet8
    dotnet8
    Java11
    java11
    Java17
    java17
    Java21
    java21
    Java8AL2
    java8.al2
    NodeJS18dX
    nodejs18.x
    NodeJS20dX
    nodejs20.x
    NodeJS22dX
    nodejs22.x
    CustomAL2
    provided.al2
    CustomAL2023
    provided.al2023
    Python3d10
    python3.10
    Python3d11
    python3.11
    Python3d12
    python3.12
    Python3d13
    python3.13
    Python3d9
    python3.9
    Ruby3d2
    ruby3.2
    Ruby3d3
    ruby3.3
    Dotnet5d0
    dotnet5.0

    Deprecated: This runtime is now deprecated

    Dotnet7
    dotnet7

    Deprecated: This runtime is now deprecated

    DotnetCore2d1
    dotnetcore2.1

    Deprecated: This runtime is now deprecated

    DotnetCore3d1
    dotnetcore3.1

    Deprecated: This runtime is now deprecated

    Go1dx
    go1.x

    Deprecated: This runtime is now deprecated

    Java8
    java8

    Deprecated: This runtime is now deprecated

    NodeJS10dX
    nodejs10.x

    Deprecated: This runtime is now deprecated

    NodeJS12dX
    nodejs12.x

    Deprecated: This runtime is now deprecated

    NodeJS14dX
    nodejs14.x

    Deprecated: This runtime is now deprecated

    NodeJS16dX
    nodejs16.x

    Deprecated: This runtime is now deprecated

    Custom
    provided

    Deprecated: This runtime is now deprecated

    Python2d7
    python2.7

    Deprecated: This runtime is now deprecated

    Python3d6
    python3.6

    Deprecated: This runtime is now deprecated

    Python3d7
    python3.7

    Deprecated: This runtime is now deprecated

    Python3d8
    python3.8

    Deprecated: This runtime is now deprecated

    Ruby2d5
    ruby2.5

    Deprecated: This runtime is now deprecated

    Ruby2d7
    ruby2.7

    Deprecated: This runtime is now deprecated

    RuntimeDotnet6
    dotnet6
    RuntimeDotnet8
    dotnet8
    RuntimeJava11
    java11
    RuntimeJava17
    java17
    RuntimeJava21
    java21
    RuntimeJava8AL2
    java8.al2
    RuntimeNodeJS18dX
    nodejs18.x
    RuntimeNodeJS20dX
    nodejs20.x
    RuntimeNodeJS22dX
    nodejs22.x
    RuntimeCustomAL2
    provided.al2
    RuntimeCustomAL2023
    provided.al2023
    RuntimePython3d10
    python3.10
    RuntimePython3d11
    python3.11
    RuntimePython3d12
    python3.12
    RuntimePython3d13
    python3.13
    RuntimePython3d9
    python3.9
    RuntimeRuby3d2
    ruby3.2
    RuntimeRuby3d3
    ruby3.3
    RuntimeDotnet5d0
    dotnet5.0

    Deprecated: This runtime is now deprecated

    RuntimeDotnet7
    dotnet7

    Deprecated: This runtime is now deprecated

    RuntimeDotnetCore2d1
    dotnetcore2.1

    Deprecated: This runtime is now deprecated

    RuntimeDotnetCore3d1
    dotnetcore3.1

    Deprecated: This runtime is now deprecated

    RuntimeGo1dx
    go1.x

    Deprecated: This runtime is now deprecated

    RuntimeJava8
    java8

    Deprecated: This runtime is now deprecated

    RuntimeNodeJS10dX
    nodejs10.x

    Deprecated: This runtime is now deprecated

    RuntimeNodeJS12dX
    nodejs12.x

    Deprecated: This runtime is now deprecated

    RuntimeNodeJS14dX
    nodejs14.x

    Deprecated: This runtime is now deprecated

    RuntimeNodeJS16dX
    nodejs16.x

    Deprecated: This runtime is now deprecated

    RuntimeCustom
    provided

    Deprecated: This runtime is now deprecated

    RuntimePython2d7
    python2.7

    Deprecated: This runtime is now deprecated

    RuntimePython3d6
    python3.6

    Deprecated: This runtime is now deprecated

    RuntimePython3d7
    python3.7

    Deprecated: This runtime is now deprecated

    RuntimePython3d8
    python3.8

    Deprecated: This runtime is now deprecated

    RuntimeRuby2d5
    ruby2.5

    Deprecated: This runtime is now deprecated

    RuntimeRuby2d7
    ruby2.7

    Deprecated: This runtime is now deprecated

    Dotnet6
    dotnet6
    Dotnet8
    dotnet8
    Java11
    java11
    Java17
    java17
    Java21
    java21
    Java8AL2
    java8.al2
    NodeJS18dX
    nodejs18.x
    NodeJS20dX
    nodejs20.x
    NodeJS22dX
    nodejs22.x
    CustomAL2
    provided.al2
    CustomAL2023
    provided.al2023
    Python3d10
    python3.10
    Python3d11
    python3.11
    Python3d12
    python3.12
    Python3d13
    python3.13
    Python3d9
    python3.9
    Ruby3d2
    ruby3.2
    Ruby3d3
    ruby3.3
    Dotnet5d0
    dotnet5.0

    Deprecated: This runtime is now deprecated

    Dotnet7
    dotnet7

    Deprecated: This runtime is now deprecated

    DotnetCore2d1
    dotnetcore2.1

    Deprecated: This runtime is now deprecated

    DotnetCore3d1
    dotnetcore3.1

    Deprecated: This runtime is now deprecated

    Go1dx
    go1.x

    Deprecated: This runtime is now deprecated

    Java8
    java8

    Deprecated: This runtime is now deprecated

    NodeJS10dX
    nodejs10.x

    Deprecated: This runtime is now deprecated

    NodeJS12dX
    nodejs12.x

    Deprecated: This runtime is now deprecated

    NodeJS14dX
    nodejs14.x

    Deprecated: This runtime is now deprecated

    NodeJS16dX
    nodejs16.x

    Deprecated: This runtime is now deprecated

    Custom
    provided

    Deprecated: This runtime is now deprecated

    Python2d7
    python2.7

    Deprecated: This runtime is now deprecated

    Python3d6
    python3.6

    Deprecated: This runtime is now deprecated

    Python3d7
    python3.7

    Deprecated: This runtime is now deprecated

    Python3d8
    python3.8

    Deprecated: This runtime is now deprecated

    Ruby2d5
    ruby2.5

    Deprecated: This runtime is now deprecated

    Ruby2d7
    ruby2.7

    Deprecated: This runtime is now deprecated

    Dotnet6
    dotnet6
    Dotnet8
    dotnet8
    Java11
    java11
    Java17
    java17
    Java21
    java21
    Java8AL2
    java8.al2
    NodeJS18dX
    nodejs18.x
    NodeJS20dX
    nodejs20.x
    NodeJS22dX
    nodejs22.x
    CustomAL2
    provided.al2
    CustomAL2023
    provided.al2023
    Python3d10
    python3.10
    Python3d11
    python3.11
    Python3d12
    python3.12
    Python3d13
    python3.13
    Python3d9
    python3.9
    Ruby3d2
    ruby3.2
    Ruby3d3
    ruby3.3
    Dotnet5d0
    dotnet5.0

    Deprecated: This runtime is now deprecated

    Dotnet7
    dotnet7

    Deprecated: This runtime is now deprecated

    DotnetCore2d1
    dotnetcore2.1

    Deprecated: This runtime is now deprecated

    DotnetCore3d1
    dotnetcore3.1

    Deprecated: This runtime is now deprecated

    Go1dx
    go1.x

    Deprecated: This runtime is now deprecated

    Java8
    java8

    Deprecated: This runtime is now deprecated

    NodeJS10dX
    nodejs10.x

    Deprecated: This runtime is now deprecated

    NodeJS12dX
    nodejs12.x

    Deprecated: This runtime is now deprecated

    NodeJS14dX
    nodejs14.x

    Deprecated: This runtime is now deprecated

    NodeJS16dX
    nodejs16.x

    Deprecated: This runtime is now deprecated

    Custom
    provided

    Deprecated: This runtime is now deprecated

    Python2d7
    python2.7

    Deprecated: This runtime is now deprecated

    Python3d6
    python3.6

    Deprecated: This runtime is now deprecated

    Python3d7
    python3.7

    Deprecated: This runtime is now deprecated

    Python3d8
    python3.8

    Deprecated: This runtime is now deprecated

    Ruby2d5
    ruby2.5

    Deprecated: This runtime is now deprecated

    Ruby2d7
    ruby2.7

    Deprecated: This runtime is now deprecated

    DOTNET6
    dotnet6
    DOTNET8
    dotnet8
    JAVA11
    java11
    JAVA17
    java17
    JAVA21
    java21
    JAVA8_AL2
    java8.al2
    NODE_JS18D_X
    nodejs18.x
    NODE_JS20D_X
    nodejs20.x
    NODE_JS22D_X
    nodejs22.x
    CUSTOM_AL2
    provided.al2
    CUSTOM_AL2023
    provided.al2023
    PYTHON3D10
    python3.10
    PYTHON3D11
    python3.11
    PYTHON3D12
    python3.12
    PYTHON3D13
    python3.13
    PYTHON3D9
    python3.9
    RUBY3D2
    ruby3.2
    RUBY3D3
    ruby3.3
    DOTNET5D0
    dotnet5.0

    Deprecated: This runtime is now deprecated

    DOTNET7
    dotnet7

    Deprecated: This runtime is now deprecated

    DOTNET_CORE2D1
    dotnetcore2.1

    Deprecated: This runtime is now deprecated

    DOTNET_CORE3D1
    dotnetcore3.1

    Deprecated: This runtime is now deprecated

    GO1DX
    go1.x

    Deprecated: This runtime is now deprecated

    JAVA8
    java8

    Deprecated: This runtime is now deprecated

    NODE_JS10D_X
    nodejs10.x

    Deprecated: This runtime is now deprecated

    NODE_JS12D_X
    nodejs12.x

    Deprecated: This runtime is now deprecated

    NODE_JS14D_X
    nodejs14.x

    Deprecated: This runtime is now deprecated

    NODE_JS16D_X
    nodejs16.x

    Deprecated: This runtime is now deprecated

    CUSTOM
    provided

    Deprecated: This runtime is now deprecated

    PYTHON2D7
    python2.7

    Deprecated: This runtime is now deprecated

    PYTHON3D6
    python3.6

    Deprecated: This runtime is now deprecated

    PYTHON3D7
    python3.7

    Deprecated: This runtime is now deprecated

    PYTHON3D8
    python3.8

    Deprecated: This runtime is now deprecated

    RUBY2D5
    ruby2.5

    Deprecated: This runtime is now deprecated

    RUBY2D7
    ruby2.7

    Deprecated: This runtime is now deprecated

    "dotnet6"
    dotnet6
    "dotnet8"
    dotnet8
    "java11"
    java11
    "java17"
    java17
    "java21"
    java21
    "java8.al2"
    java8.al2
    "nodejs18.x"
    nodejs18.x
    "nodejs20.x"
    nodejs20.x
    "nodejs22.x"
    nodejs22.x
    "provided.al2"
    provided.al2
    "provided.al2023"
    provided.al2023
    "python3.10"
    python3.10
    "python3.11"
    python3.11
    "python3.12"
    python3.12
    "python3.13"
    python3.13
    "python3.9"
    python3.9
    "ruby3.2"
    ruby3.2
    "ruby3.3"
    ruby3.3
    "dotnet5.0"
    dotnet5.0

    Deprecated: This runtime is now deprecated

    "dotnet7"
    dotnet7

    Deprecated: This runtime is now deprecated

    "dotnetcore2.1"
    dotnetcore2.1

    Deprecated: This runtime is now deprecated

    "dotnetcore3.1"
    dotnetcore3.1

    Deprecated: This runtime is now deprecated

    "go1.x"
    go1.x

    Deprecated: This runtime is now deprecated

    "java8"
    java8

    Deprecated: This runtime is now deprecated

    "nodejs10.x"
    nodejs10.x

    Deprecated: This runtime is now deprecated

    "nodejs12.x"
    nodejs12.x

    Deprecated: This runtime is now deprecated

    "nodejs14.x"
    nodejs14.x

    Deprecated: This runtime is now deprecated

    "nodejs16.x"
    nodejs16.x

    Deprecated: This runtime is now deprecated

    "provided"
    provided

    Deprecated: This runtime is now deprecated

    "python2.7"
    python2.7

    Deprecated: This runtime is now deprecated

    "python3.6"
    python3.6

    Deprecated: This runtime is now deprecated

    "python3.7"
    python3.7

    Deprecated: This runtime is now deprecated

    "python3.8"
    python3.8

    Deprecated: This runtime is now deprecated

    "ruby2.5"
    ruby2.5

    Deprecated: This runtime is now deprecated

    "ruby2.7"
    ruby2.7

    Deprecated: This runtime is now deprecated

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo
    AWS v7.2.0 published on Thursday, Jul 31, 2025 by Pulumi