1. Packages
  2. AWS
  3. API Docs
  4. lambda
  5. FunctionEventInvokeConfig
AWS v7.1.0 published on Monday, Jul 21, 2025 by Pulumi

aws.lambda.FunctionEventInvokeConfig

Explore with Pulumi AI

aws logo
AWS v7.1.0 published on Monday, Jul 21, 2025 by Pulumi

    Manages an AWS Lambda Function Event Invoke Config. Use this resource to configure error handling and destinations for asynchronous Lambda function invocations.

    More information about asynchronous invocations and the configurable values can be found in the Lambda Developer Guide.

    Example Usage

    Complete Error Handling and Destinations

    Note: Ensure the Lambda Function IAM Role has necessary permissions for the destination, such as sqs:SendMessage or sns:Publish, otherwise the API will return a generic InvalidParameterValueException: The destination ARN arn:PARTITION:SERVICE:REGION:ACCOUNT:RESOURCE is invalid. error.

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    // SQS queue for failed invocations
    const dlq = new aws.sqs.Queue("dlq", {
        name: "lambda-dlq",
        tags: {
            Environment: "production",
            Purpose: "lambda-error-handling",
        },
    });
    // SNS topic for successful invocations
    const success = new aws.sns.Topic("success", {
        name: "lambda-success-notifications",
        tags: {
            Environment: "production",
            Purpose: "lambda-success-notifications",
        },
    });
    // Complete event invoke configuration
    const example = new aws.lambda.FunctionEventInvokeConfig("example", {
        functionName: exampleAwsLambdaFunction.functionName,
        maximumEventAgeInSeconds: 300,
        maximumRetryAttempts: 1,
        destinationConfig: {
            onFailure: {
                destination: dlq.arn,
            },
            onSuccess: {
                destination: success.arn,
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    # SQS queue for failed invocations
    dlq = aws.sqs.Queue("dlq",
        name="lambda-dlq",
        tags={
            "Environment": "production",
            "Purpose": "lambda-error-handling",
        })
    # SNS topic for successful invocations
    success = aws.sns.Topic("success",
        name="lambda-success-notifications",
        tags={
            "Environment": "production",
            "Purpose": "lambda-success-notifications",
        })
    # Complete event invoke configuration
    example = aws.lambda_.FunctionEventInvokeConfig("example",
        function_name=example_aws_lambda_function["functionName"],
        maximum_event_age_in_seconds=300,
        maximum_retry_attempts=1,
        destination_config={
            "on_failure": {
                "destination": dlq.arn,
            },
            "on_success": {
                "destination": success.arn,
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/sns"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/sqs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// SQS queue for failed invocations
    		dlq, err := sqs.NewQueue(ctx, "dlq", &sqs.QueueArgs{
    			Name: pulumi.String("lambda-dlq"),
    			Tags: pulumi.StringMap{
    				"Environment": pulumi.String("production"),
    				"Purpose":     pulumi.String("lambda-error-handling"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// SNS topic for successful invocations
    		success, err := sns.NewTopic(ctx, "success", &sns.TopicArgs{
    			Name: pulumi.String("lambda-success-notifications"),
    			Tags: pulumi.StringMap{
    				"Environment": pulumi.String("production"),
    				"Purpose":     pulumi.String("lambda-success-notifications"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Complete event invoke configuration
    		_, err = lambda.NewFunctionEventInvokeConfig(ctx, "example", &lambda.FunctionEventInvokeConfigArgs{
    			FunctionName:             pulumi.Any(exampleAwsLambdaFunction.FunctionName),
    			MaximumEventAgeInSeconds: pulumi.Int(300),
    			MaximumRetryAttempts:     pulumi.Int(1),
    			DestinationConfig: &lambda.FunctionEventInvokeConfigDestinationConfigArgs{
    				OnFailure: &lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{
    					Destination: dlq.Arn,
    				},
    				OnSuccess: &lambda.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs{
    					Destination: success.Arn,
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        // SQS queue for failed invocations
        var dlq = new Aws.Sqs.Queue("dlq", new()
        {
            Name = "lambda-dlq",
            Tags = 
            {
                { "Environment", "production" },
                { "Purpose", "lambda-error-handling" },
            },
        });
    
        // SNS topic for successful invocations
        var success = new Aws.Sns.Topic("success", new()
        {
            Name = "lambda-success-notifications",
            Tags = 
            {
                { "Environment", "production" },
                { "Purpose", "lambda-success-notifications" },
            },
        });
    
        // Complete event invoke configuration
        var example = new Aws.Lambda.FunctionEventInvokeConfig("example", new()
        {
            FunctionName = exampleAwsLambdaFunction.FunctionName,
            MaximumEventAgeInSeconds = 300,
            MaximumRetryAttempts = 1,
            DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs
            {
                OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs
                {
                    Destination = dlq.Arn,
                },
                OnSuccess = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs
                {
                    Destination = success.Arn,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.sqs.Queue;
    import com.pulumi.aws.sqs.QueueArgs;
    import com.pulumi.aws.sns.Topic;
    import com.pulumi.aws.sns.TopicArgs;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfig;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // SQS queue for failed invocations
            var dlq = new Queue("dlq", QueueArgs.builder()
                .name("lambda-dlq")
                .tags(Map.ofEntries(
                    Map.entry("Environment", "production"),
                    Map.entry("Purpose", "lambda-error-handling")
                ))
                .build());
    
            // SNS topic for successful invocations
            var success = new Topic("success", TopicArgs.builder()
                .name("lambda-success-notifications")
                .tags(Map.ofEntries(
                    Map.entry("Environment", "production"),
                    Map.entry("Purpose", "lambda-success-notifications")
                ))
                .build());
    
            // Complete event invoke configuration
            var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder()
                .functionName(exampleAwsLambdaFunction.functionName())
                .maximumEventAgeInSeconds(300)
                .maximumRetryAttempts(1)
                .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()
                    .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()
                        .destination(dlq.arn())
                        .build())
                    .onSuccess(FunctionEventInvokeConfigDestinationConfigOnSuccessArgs.builder()
                        .destination(success.arn())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # SQS queue for failed invocations
      dlq:
        type: aws:sqs:Queue
        properties:
          name: lambda-dlq
          tags:
            Environment: production
            Purpose: lambda-error-handling
      # SNS topic for successful invocations
      success:
        type: aws:sns:Topic
        properties:
          name: lambda-success-notifications
          tags:
            Environment: production
            Purpose: lambda-success-notifications
      # Complete event invoke configuration
      example:
        type: aws:lambda:FunctionEventInvokeConfig
        properties:
          functionName: ${exampleAwsLambdaFunction.functionName}
          maximumEventAgeInSeconds: 300 # 5 minutes
          maximumRetryAttempts: 1 # Retry once on failure
          destinationConfig:
            onFailure:
              destination: ${dlq.arn}
            onSuccess:
              destination: ${success.arn}
    

    Error Handling Only

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.lambda.FunctionEventInvokeConfig("example", {
        functionName: exampleAwsLambdaFunction.functionName,
        maximumEventAgeInSeconds: 60,
        maximumRetryAttempts: 0,
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.lambda_.FunctionEventInvokeConfig("example",
        function_name=example_aws_lambda_function["functionName"],
        maximum_event_age_in_seconds=60,
        maximum_retry_attempts=0)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := lambda.NewFunctionEventInvokeConfig(ctx, "example", &lambda.FunctionEventInvokeConfigArgs{
    			FunctionName:             pulumi.Any(exampleAwsLambdaFunction.FunctionName),
    			MaximumEventAgeInSeconds: pulumi.Int(60),
    			MaximumRetryAttempts:     pulumi.Int(0),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Lambda.FunctionEventInvokeConfig("example", new()
        {
            FunctionName = exampleAwsLambdaFunction.FunctionName,
            MaximumEventAgeInSeconds = 60,
            MaximumRetryAttempts = 0,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfig;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder()
                .functionName(exampleAwsLambdaFunction.functionName())
                .maximumEventAgeInSeconds(60)
                .maximumRetryAttempts(0)
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:lambda:FunctionEventInvokeConfig
        properties:
          functionName: ${exampleAwsLambdaFunction.functionName}
          maximumEventAgeInSeconds: 60 # 1 minute - fail fast
          maximumRetryAttempts: 0 # No retries
    

    Configuration for Lambda Alias

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.lambda.Alias("example", {
        name: "production",
        description: "Production alias",
        functionName: exampleAwsLambdaFunction.functionName,
        functionVersion: exampleAwsLambdaFunction.version,
    });
    const exampleFunctionEventInvokeConfig = new aws.lambda.FunctionEventInvokeConfig("example", {
        functionName: exampleAwsLambdaFunction.functionName,
        qualifier: example.name,
        maximumEventAgeInSeconds: 1800,
        maximumRetryAttempts: 2,
        destinationConfig: {
            onFailure: {
                destination: productionDlq.arn,
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.lambda_.Alias("example",
        name="production",
        description="Production alias",
        function_name=example_aws_lambda_function["functionName"],
        function_version=example_aws_lambda_function["version"])
    example_function_event_invoke_config = aws.lambda_.FunctionEventInvokeConfig("example",
        function_name=example_aws_lambda_function["functionName"],
        qualifier=example.name,
        maximum_event_age_in_seconds=1800,
        maximum_retry_attempts=2,
        destination_config={
            "on_failure": {
                "destination": production_dlq["arn"],
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := lambda.NewAlias(ctx, "example", &lambda.AliasArgs{
    			Name:            pulumi.String("production"),
    			Description:     pulumi.String("Production alias"),
    			FunctionName:    pulumi.Any(exampleAwsLambdaFunction.FunctionName),
    			FunctionVersion: pulumi.Any(exampleAwsLambdaFunction.Version),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = lambda.NewFunctionEventInvokeConfig(ctx, "example", &lambda.FunctionEventInvokeConfigArgs{
    			FunctionName:             pulumi.Any(exampleAwsLambdaFunction.FunctionName),
    			Qualifier:                example.Name,
    			MaximumEventAgeInSeconds: pulumi.Int(1800),
    			MaximumRetryAttempts:     pulumi.Int(2),
    			DestinationConfig: &lambda.FunctionEventInvokeConfigDestinationConfigArgs{
    				OnFailure: &lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{
    					Destination: pulumi.Any(productionDlq.Arn),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Lambda.Alias("example", new()
        {
            Name = "production",
            Description = "Production alias",
            FunctionName = exampleAwsLambdaFunction.FunctionName,
            FunctionVersion = exampleAwsLambdaFunction.Version,
        });
    
        var exampleFunctionEventInvokeConfig = new Aws.Lambda.FunctionEventInvokeConfig("example", new()
        {
            FunctionName = exampleAwsLambdaFunction.FunctionName,
            Qualifier = example.Name,
            MaximumEventAgeInSeconds = 1800,
            MaximumRetryAttempts = 2,
            DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs
            {
                OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs
                {
                    Destination = productionDlq.Arn,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lambda.Alias;
    import com.pulumi.aws.lambda.AliasArgs;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfig;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Alias("example", AliasArgs.builder()
                .name("production")
                .description("Production alias")
                .functionName(exampleAwsLambdaFunction.functionName())
                .functionVersion(exampleAwsLambdaFunction.version())
                .build());
    
            var exampleFunctionEventInvokeConfig = new FunctionEventInvokeConfig("exampleFunctionEventInvokeConfig", FunctionEventInvokeConfigArgs.builder()
                .functionName(exampleAwsLambdaFunction.functionName())
                .qualifier(example.name())
                .maximumEventAgeInSeconds(1800)
                .maximumRetryAttempts(2)
                .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()
                    .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()
                        .destination(productionDlq.arn())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:lambda:Alias
        properties:
          name: production
          description: Production alias
          functionName: ${exampleAwsLambdaFunction.functionName}
          functionVersion: ${exampleAwsLambdaFunction.version}
      exampleFunctionEventInvokeConfig:
        type: aws:lambda:FunctionEventInvokeConfig
        name: example
        properties:
          functionName: ${exampleAwsLambdaFunction.functionName}
          qualifier: ${example.name}
          maximumEventAgeInSeconds: 1800 # 30 minutes for production
          maximumRetryAttempts: 2 # Default retry behavior
          destinationConfig:
            onFailure:
              destination: ${productionDlq.arn}
    

    Configuration for Published Version

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.lambda.FunctionEventInvokeConfig("example", {
        functionName: exampleAwsLambdaFunction.functionName,
        qualifier: exampleAwsLambdaFunction.version,
        maximumEventAgeInSeconds: 21600,
        maximumRetryAttempts: 2,
        destinationConfig: {
            onFailure: {
                destination: versionDlq.arn,
            },
            onSuccess: {
                destination: versionSuccess.arn,
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.lambda_.FunctionEventInvokeConfig("example",
        function_name=example_aws_lambda_function["functionName"],
        qualifier=example_aws_lambda_function["version"],
        maximum_event_age_in_seconds=21600,
        maximum_retry_attempts=2,
        destination_config={
            "on_failure": {
                "destination": version_dlq["arn"],
            },
            "on_success": {
                "destination": version_success["arn"],
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := lambda.NewFunctionEventInvokeConfig(ctx, "example", &lambda.FunctionEventInvokeConfigArgs{
    			FunctionName:             pulumi.Any(exampleAwsLambdaFunction.FunctionName),
    			Qualifier:                pulumi.Any(exampleAwsLambdaFunction.Version),
    			MaximumEventAgeInSeconds: pulumi.Int(21600),
    			MaximumRetryAttempts:     pulumi.Int(2),
    			DestinationConfig: &lambda.FunctionEventInvokeConfigDestinationConfigArgs{
    				OnFailure: &lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{
    					Destination: pulumi.Any(versionDlq.Arn),
    				},
    				OnSuccess: &lambda.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs{
    					Destination: pulumi.Any(versionSuccess.Arn),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Lambda.FunctionEventInvokeConfig("example", new()
        {
            FunctionName = exampleAwsLambdaFunction.FunctionName,
            Qualifier = exampleAwsLambdaFunction.Version,
            MaximumEventAgeInSeconds = 21600,
            MaximumRetryAttempts = 2,
            DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs
            {
                OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs
                {
                    Destination = versionDlq.Arn,
                },
                OnSuccess = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs
                {
                    Destination = versionSuccess.Arn,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfig;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder()
                .functionName(exampleAwsLambdaFunction.functionName())
                .qualifier(exampleAwsLambdaFunction.version())
                .maximumEventAgeInSeconds(21600)
                .maximumRetryAttempts(2)
                .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()
                    .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()
                        .destination(versionDlq.arn())
                        .build())
                    .onSuccess(FunctionEventInvokeConfigDestinationConfigOnSuccessArgs.builder()
                        .destination(versionSuccess.arn())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:lambda:FunctionEventInvokeConfig
        properties:
          functionName: ${exampleAwsLambdaFunction.functionName}
          qualifier: ${exampleAwsLambdaFunction.version}
          maximumEventAgeInSeconds: 21600 # 6 hours maximum
          maximumRetryAttempts: 2
          destinationConfig:
            onFailure:
              destination: ${versionDlq.arn}
            onSuccess:
              destination: ${versionSuccess.arn}
    

    Configuration for Latest Version

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.lambda.FunctionEventInvokeConfig("example", {
        functionName: exampleAwsLambdaFunction.functionName,
        qualifier: "$LATEST",
        maximumEventAgeInSeconds: 120,
        maximumRetryAttempts: 0,
        destinationConfig: {
            onFailure: {
                destination: devDlq.arn,
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.lambda_.FunctionEventInvokeConfig("example",
        function_name=example_aws_lambda_function["functionName"],
        qualifier="$LATEST",
        maximum_event_age_in_seconds=120,
        maximum_retry_attempts=0,
        destination_config={
            "on_failure": {
                "destination": dev_dlq["arn"],
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := lambda.NewFunctionEventInvokeConfig(ctx, "example", &lambda.FunctionEventInvokeConfigArgs{
    			FunctionName:             pulumi.Any(exampleAwsLambdaFunction.FunctionName),
    			Qualifier:                pulumi.String("$LATEST"),
    			MaximumEventAgeInSeconds: pulumi.Int(120),
    			MaximumRetryAttempts:     pulumi.Int(0),
    			DestinationConfig: &lambda.FunctionEventInvokeConfigDestinationConfigArgs{
    				OnFailure: &lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{
    					Destination: pulumi.Any(devDlq.Arn),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Lambda.FunctionEventInvokeConfig("example", new()
        {
            FunctionName = exampleAwsLambdaFunction.FunctionName,
            Qualifier = "$LATEST",
            MaximumEventAgeInSeconds = 120,
            MaximumRetryAttempts = 0,
            DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs
            {
                OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs
                {
                    Destination = devDlq.Arn,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfig;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder()
                .functionName(exampleAwsLambdaFunction.functionName())
                .qualifier("$LATEST")
                .maximumEventAgeInSeconds(120)
                .maximumRetryAttempts(0)
                .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()
                    .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()
                        .destination(devDlq.arn())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:lambda:FunctionEventInvokeConfig
        properties:
          functionName: ${exampleAwsLambdaFunction.functionName}
          qualifier: $LATEST
          maximumEventAgeInSeconds: 120 # 2 minutes
          maximumRetryAttempts: 0 # No retries in development
          destinationConfig:
            onFailure:
              destination: ${devDlq.arn}
    

    Multiple Destination Types

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    // S3 bucket for archiving successful events
    const lambdaSuccessArchive = new aws.s3.Bucket("lambda_success_archive", {bucket: `lambda-success-archive-${bucketSuffix.hex}`});
    // EventBridge custom bus for failed events
    const lambdaFailures = new aws.cloudwatch.EventBus("lambda_failures", {name: "lambda-failure-events"});
    const example = new aws.lambda.FunctionEventInvokeConfig("example", {
        functionName: exampleAwsLambdaFunction.functionName,
        destinationConfig: {
            onFailure: {
                destination: lambdaFailures.arn,
            },
            onSuccess: {
                destination: lambdaSuccessArchive.arn,
            },
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    # S3 bucket for archiving successful events
    lambda_success_archive = aws.s3.Bucket("lambda_success_archive", bucket=f"lambda-success-archive-{bucket_suffix['hex']}")
    # EventBridge custom bus for failed events
    lambda_failures = aws.cloudwatch.EventBus("lambda_failures", name="lambda-failure-events")
    example = aws.lambda_.FunctionEventInvokeConfig("example",
        function_name=example_aws_lambda_function["functionName"],
        destination_config={
            "on_failure": {
                "destination": lambda_failures.arn,
            },
            "on_success": {
                "destination": lambda_success_archive.arn,
            },
        })
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lambda"
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// S3 bucket for archiving successful events
    		lambdaSuccessArchive, err := s3.NewBucket(ctx, "lambda_success_archive", &s3.BucketArgs{
    			Bucket: pulumi.Sprintf("lambda-success-archive-%v", bucketSuffix.Hex),
    		})
    		if err != nil {
    			return err
    		}
    		// EventBridge custom bus for failed events
    		lambdaFailures, err := cloudwatch.NewEventBus(ctx, "lambda_failures", &cloudwatch.EventBusArgs{
    			Name: pulumi.String("lambda-failure-events"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = lambda.NewFunctionEventInvokeConfig(ctx, "example", &lambda.FunctionEventInvokeConfigArgs{
    			FunctionName: pulumi.Any(exampleAwsLambdaFunction.FunctionName),
    			DestinationConfig: &lambda.FunctionEventInvokeConfigDestinationConfigArgs{
    				OnFailure: &lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{
    					Destination: lambdaFailures.Arn,
    				},
    				OnSuccess: &lambda.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs{
    					Destination: lambdaSuccessArchive.Arn,
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        // S3 bucket for archiving successful events
        var lambdaSuccessArchive = new Aws.S3.Bucket("lambda_success_archive", new()
        {
            BucketName = $"lambda-success-archive-{bucketSuffix.Hex}",
        });
    
        // EventBridge custom bus for failed events
        var lambdaFailures = new Aws.CloudWatch.EventBus("lambda_failures", new()
        {
            Name = "lambda-failure-events",
        });
    
        var example = new Aws.Lambda.FunctionEventInvokeConfig("example", new()
        {
            FunctionName = exampleAwsLambdaFunction.FunctionName,
            DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs
            {
                OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs
                {
                    Destination = lambdaFailures.Arn,
                },
                OnSuccess = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs
                {
                    Destination = lambdaSuccessArchive.Arn,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.s3.Bucket;
    import com.pulumi.aws.s3.BucketArgs;
    import com.pulumi.aws.cloudwatch.EventBus;
    import com.pulumi.aws.cloudwatch.EventBusArgs;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfig;
    import com.pulumi.aws.lambda.FunctionEventInvokeConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs;
    import com.pulumi.aws.lambda.inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            // S3 bucket for archiving successful events
            var lambdaSuccessArchive = new Bucket("lambdaSuccessArchive", BucketArgs.builder()
                .bucket(String.format("lambda-success-archive-%s", bucketSuffix.hex()))
                .build());
    
            // EventBridge custom bus for failed events
            var lambdaFailures = new EventBus("lambdaFailures", EventBusArgs.builder()
                .name("lambda-failure-events")
                .build());
    
            var example = new FunctionEventInvokeConfig("example", FunctionEventInvokeConfigArgs.builder()
                .functionName(exampleAwsLambdaFunction.functionName())
                .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()
                    .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()
                        .destination(lambdaFailures.arn())
                        .build())
                    .onSuccess(FunctionEventInvokeConfigDestinationConfigOnSuccessArgs.builder()
                        .destination(lambdaSuccessArchive.arn())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # S3 bucket for archiving successful events
      lambdaSuccessArchive:
        type: aws:s3:Bucket
        name: lambda_success_archive
        properties:
          bucket: lambda-success-archive-${bucketSuffix.hex}
      # EventBridge custom bus for failed events
      lambdaFailures:
        type: aws:cloudwatch:EventBus
        name: lambda_failures
        properties:
          name: lambda-failure-events
      example:
        type: aws:lambda:FunctionEventInvokeConfig
        properties:
          functionName: ${exampleAwsLambdaFunction.functionName}
          destinationConfig:
            onFailure:
              destination: ${lambdaFailures.arn}
            onSuccess:
              destination: ${lambdaSuccessArchive.arn}
    

    Create FunctionEventInvokeConfig Resource

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

    Constructor syntax

    new FunctionEventInvokeConfig(name: string, args: FunctionEventInvokeConfigArgs, opts?: CustomResourceOptions);
    @overload
    def FunctionEventInvokeConfig(resource_name: str,
                                  args: FunctionEventInvokeConfigArgs,
                                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def FunctionEventInvokeConfig(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  function_name: Optional[str] = None,
                                  destination_config: Optional[FunctionEventInvokeConfigDestinationConfigArgs] = None,
                                  maximum_event_age_in_seconds: Optional[int] = None,
                                  maximum_retry_attempts: Optional[int] = None,
                                  qualifier: Optional[str] = None,
                                  region: Optional[str] = None)
    func NewFunctionEventInvokeConfig(ctx *Context, name string, args FunctionEventInvokeConfigArgs, opts ...ResourceOption) (*FunctionEventInvokeConfig, error)
    public FunctionEventInvokeConfig(string name, FunctionEventInvokeConfigArgs args, CustomResourceOptions? opts = null)
    public FunctionEventInvokeConfig(String name, FunctionEventInvokeConfigArgs args)
    public FunctionEventInvokeConfig(String name, FunctionEventInvokeConfigArgs args, CustomResourceOptions options)
    
    type: aws:lambda:FunctionEventInvokeConfig
    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 FunctionEventInvokeConfigArgs
    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 FunctionEventInvokeConfigArgs
    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 FunctionEventInvokeConfigArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FunctionEventInvokeConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FunctionEventInvokeConfigArgs
    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 functionEventInvokeConfigResource = new Aws.Lambda.FunctionEventInvokeConfig("functionEventInvokeConfigResource", new()
    {
        FunctionName = "string",
        DestinationConfig = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigArgs
        {
            OnFailure = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnFailureArgs
            {
                Destination = "string",
            },
            OnSuccess = new Aws.Lambda.Inputs.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs
            {
                Destination = "string",
            },
        },
        MaximumEventAgeInSeconds = 0,
        MaximumRetryAttempts = 0,
        Qualifier = "string",
        Region = "string",
    });
    
    example, err := lambda.NewFunctionEventInvokeConfig(ctx, "functionEventInvokeConfigResource", &lambda.FunctionEventInvokeConfigArgs{
    	FunctionName: pulumi.String("string"),
    	DestinationConfig: &lambda.FunctionEventInvokeConfigDestinationConfigArgs{
    		OnFailure: &lambda.FunctionEventInvokeConfigDestinationConfigOnFailureArgs{
    			Destination: pulumi.String("string"),
    		},
    		OnSuccess: &lambda.FunctionEventInvokeConfigDestinationConfigOnSuccessArgs{
    			Destination: pulumi.String("string"),
    		},
    	},
    	MaximumEventAgeInSeconds: pulumi.Int(0),
    	MaximumRetryAttempts:     pulumi.Int(0),
    	Qualifier:                pulumi.String("string"),
    	Region:                   pulumi.String("string"),
    })
    
    var functionEventInvokeConfigResource = new FunctionEventInvokeConfig("functionEventInvokeConfigResource", FunctionEventInvokeConfigArgs.builder()
        .functionName("string")
        .destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()
            .onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()
                .destination("string")
                .build())
            .onSuccess(FunctionEventInvokeConfigDestinationConfigOnSuccessArgs.builder()
                .destination("string")
                .build())
            .build())
        .maximumEventAgeInSeconds(0)
        .maximumRetryAttempts(0)
        .qualifier("string")
        .region("string")
        .build());
    
    function_event_invoke_config_resource = aws.lambda_.FunctionEventInvokeConfig("functionEventInvokeConfigResource",
        function_name="string",
        destination_config={
            "on_failure": {
                "destination": "string",
            },
            "on_success": {
                "destination": "string",
            },
        },
        maximum_event_age_in_seconds=0,
        maximum_retry_attempts=0,
        qualifier="string",
        region="string")
    
    const functionEventInvokeConfigResource = new aws.lambda.FunctionEventInvokeConfig("functionEventInvokeConfigResource", {
        functionName: "string",
        destinationConfig: {
            onFailure: {
                destination: "string",
            },
            onSuccess: {
                destination: "string",
            },
        },
        maximumEventAgeInSeconds: 0,
        maximumRetryAttempts: 0,
        qualifier: "string",
        region: "string",
    });
    
    type: aws:lambda:FunctionEventInvokeConfig
    properties:
        destinationConfig:
            onFailure:
                destination: string
            onSuccess:
                destination: string
        functionName: string
        maximumEventAgeInSeconds: 0
        maximumRetryAttempts: 0
        qualifier: string
        region: string
    

    FunctionEventInvokeConfig 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 FunctionEventInvokeConfig resource accepts the following input properties:

    FunctionName string

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    DestinationConfig FunctionEventInvokeConfigDestinationConfig
    Configuration block with destination configuration. See below.
    MaximumEventAgeInSeconds int
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    MaximumRetryAttempts int
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    Qualifier string
    Lambda Function published version, $LATEST, or Lambda Alias name.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    FunctionName string

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    DestinationConfig FunctionEventInvokeConfigDestinationConfigArgs
    Configuration block with destination configuration. See below.
    MaximumEventAgeInSeconds int
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    MaximumRetryAttempts int
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    Qualifier string
    Lambda Function published version, $LATEST, or Lambda Alias name.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    functionName String

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    destinationConfig FunctionEventInvokeConfigDestinationConfig
    Configuration block with destination configuration. See below.
    maximumEventAgeInSeconds Integer
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximumRetryAttempts Integer
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier String
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    functionName string

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    destinationConfig FunctionEventInvokeConfigDestinationConfig
    Configuration block with destination configuration. See below.
    maximumEventAgeInSeconds number
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximumRetryAttempts number
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier string
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    function_name str

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    destination_config FunctionEventInvokeConfigDestinationConfigArgs
    Configuration block with destination configuration. See below.
    maximum_event_age_in_seconds int
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximum_retry_attempts int
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier str
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    functionName String

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    destinationConfig Property Map
    Configuration block with destination configuration. See below.
    maximumEventAgeInSeconds Number
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximumRetryAttempts Number
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier String
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing FunctionEventInvokeConfig Resource

    Get an existing FunctionEventInvokeConfig resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: FunctionEventInvokeConfigState, opts?: CustomResourceOptions): FunctionEventInvokeConfig
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            destination_config: Optional[FunctionEventInvokeConfigDestinationConfigArgs] = None,
            function_name: Optional[str] = None,
            maximum_event_age_in_seconds: Optional[int] = None,
            maximum_retry_attempts: Optional[int] = None,
            qualifier: Optional[str] = None,
            region: Optional[str] = None) -> FunctionEventInvokeConfig
    func GetFunctionEventInvokeConfig(ctx *Context, name string, id IDInput, state *FunctionEventInvokeConfigState, opts ...ResourceOption) (*FunctionEventInvokeConfig, error)
    public static FunctionEventInvokeConfig Get(string name, Input<string> id, FunctionEventInvokeConfigState? state, CustomResourceOptions? opts = null)
    public static FunctionEventInvokeConfig get(String name, Output<String> id, FunctionEventInvokeConfigState state, CustomResourceOptions options)
    resources:  _:    type: aws:lambda:FunctionEventInvokeConfig    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    DestinationConfig FunctionEventInvokeConfigDestinationConfig
    Configuration block with destination configuration. See below.
    FunctionName string

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    MaximumEventAgeInSeconds int
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    MaximumRetryAttempts int
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    Qualifier string
    Lambda Function published version, $LATEST, or Lambda Alias name.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    DestinationConfig FunctionEventInvokeConfigDestinationConfigArgs
    Configuration block with destination configuration. See below.
    FunctionName string

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    MaximumEventAgeInSeconds int
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    MaximumRetryAttempts int
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    Qualifier string
    Lambda Function published version, $LATEST, or Lambda Alias name.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    destinationConfig FunctionEventInvokeConfigDestinationConfig
    Configuration block with destination configuration. See below.
    functionName String

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    maximumEventAgeInSeconds Integer
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximumRetryAttempts Integer
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier String
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    destinationConfig FunctionEventInvokeConfigDestinationConfig
    Configuration block with destination configuration. See below.
    functionName string

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    maximumEventAgeInSeconds number
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximumRetryAttempts number
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier string
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    destination_config FunctionEventInvokeConfigDestinationConfigArgs
    Configuration block with destination configuration. See below.
    function_name str

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    maximum_event_age_in_seconds int
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximum_retry_attempts int
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier str
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    destinationConfig Property Map
    Configuration block with destination configuration. See below.
    functionName String

    Name or ARN of the Lambda Function, omitting any version or alias qualifier.

    The following arguments are optional:

    maximumEventAgeInSeconds Number
    Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.
    maximumRetryAttempts Number
    Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.
    qualifier String
    Lambda Function published version, $LATEST, or Lambda Alias name.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.

    Supporting Types

    FunctionEventInvokeConfigDestinationConfig, FunctionEventInvokeConfigDestinationConfigArgs

    OnFailure FunctionEventInvokeConfigDestinationConfigOnFailure
    Configuration block with destination configuration for failed asynchronous invocations. See below.
    OnSuccess FunctionEventInvokeConfigDestinationConfigOnSuccess
    Configuration block with destination configuration for successful asynchronous invocations. See below.
    OnFailure FunctionEventInvokeConfigDestinationConfigOnFailure
    Configuration block with destination configuration for failed asynchronous invocations. See below.
    OnSuccess FunctionEventInvokeConfigDestinationConfigOnSuccess
    Configuration block with destination configuration for successful asynchronous invocations. See below.
    onFailure FunctionEventInvokeConfigDestinationConfigOnFailure
    Configuration block with destination configuration for failed asynchronous invocations. See below.
    onSuccess FunctionEventInvokeConfigDestinationConfigOnSuccess
    Configuration block with destination configuration for successful asynchronous invocations. See below.
    onFailure FunctionEventInvokeConfigDestinationConfigOnFailure
    Configuration block with destination configuration for failed asynchronous invocations. See below.
    onSuccess FunctionEventInvokeConfigDestinationConfigOnSuccess
    Configuration block with destination configuration for successful asynchronous invocations. See below.
    on_failure FunctionEventInvokeConfigDestinationConfigOnFailure
    Configuration block with destination configuration for failed asynchronous invocations. See below.
    on_success FunctionEventInvokeConfigDestinationConfigOnSuccess
    Configuration block with destination configuration for successful asynchronous invocations. See below.
    onFailure Property Map
    Configuration block with destination configuration for failed asynchronous invocations. See below.
    onSuccess Property Map
    Configuration block with destination configuration for successful asynchronous invocations. See below.

    FunctionEventInvokeConfigDestinationConfigOnFailure, FunctionEventInvokeConfigDestinationConfigOnFailureArgs

    Destination string
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    Destination string
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination String
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination string
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination str
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination String
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.

    FunctionEventInvokeConfigDestinationConfigOnSuccess, FunctionEventInvokeConfigDestinationConfigOnSuccessArgs

    Destination string
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    Destination string
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination String
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination string
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination str
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.
    destination String
    ARN of the destination resource. See the Lambda Developer Guide for acceptable resource types and associated IAM permissions.

    Import

    ARN with qualifier:

    Name without qualifier (all versions and aliases):

    Name with qualifier:

    For backwards compatibility, the following legacy pulumi import commands are also supported:

    Using ARN without qualifier:

    $ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example arn:aws:lambda:us-east-1:123456789012:function:example
    

    Using ARN with qualifier:

    $ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example arn:aws:lambda:us-east-1:123456789012:function:example:production
    

    Name without qualifier (all versions and aliases):

    $ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example example
    

    Name with qualifier:

    $ pulumi import aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig example example:production
    

    To learn more about importing existing cloud resources, see Importing resources.

    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.1.0 published on Monday, Jul 21, 2025 by Pulumi