FunctionEventInvokeConfigArgs

data class FunctionEventInvokeConfigArgs(val destinationConfig: Output<FunctionEventInvokeConfigDestinationConfigArgs>? = null, val functionName: Output<String>? = null, val maximumEventAgeInSeconds: Output<Int>? = null, val maximumRetryAttempts: Output<Int>? = null, val qualifier: Output<String>? = null) : ConvertibleToJava<FunctionEventInvokeConfigArgs>

Manages an asynchronous invocation configuration for a Lambda Function or Alias. More information about asynchronous invocations and the configurable values can be found in the Lambda Developer Guide.

Example Usage

Destination Configuration

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.

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(aws_lambda_alias.example().function_name())
.destinationConfig(FunctionEventInvokeConfigDestinationConfigArgs.builder()
.onFailure(FunctionEventInvokeConfigDestinationConfigOnFailureArgs.builder()
.destination(aws_sqs_queue.example().arn())
.build())
.onSuccess(FunctionEventInvokeConfigDestinationConfigOnSuccessArgs.builder()
.destination(aws_sns_topic.example().arn())
.build())
.build())
.build());
}
}

Error Handling Configuration

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(aws_lambda_alias.example().function_name())
.maximumEventAgeInSeconds(60)
.maximumRetryAttempts(0)
.build());
}
}

Configuration for Alias Name

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(aws_lambda_alias.example().function_name())
.qualifier(aws_lambda_alias.example().name())
.build());
}
}

Configuration for Function Latest Unpublished Version

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(aws_lambda_function.example().function_name())
.qualifier("$LATEST")
.build());
}
}

Configuration for Function Published Version

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(aws_lambda_function.example().function_name())
.qualifier(aws_lambda_function.example().version())
.build());
}
}

Import

Lambda Function Event Invoke Configs can be imported using the fully qualified Function name or Amazon Resource Name (ARN), e.g., ARN without qualifier (all versions and aliases)

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

ARN with qualifier

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

Name without qualifier (all versions and aliases)

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

Name with qualifier

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

Constructors

Link copied to clipboard
constructor(destinationConfig: Output<FunctionEventInvokeConfigDestinationConfigArgs>? = null, functionName: Output<String>? = null, maximumEventAgeInSeconds: Output<Int>? = null, maximumRetryAttempts: Output<Int>? = null, qualifier: Output<String>? = null)

Properties

Link copied to clipboard

Configuration block with destination configuration. See below for details.

Link copied to clipboard
val functionName: Output<String>? = null

Name or Amazon Resource Name (ARN) of the Lambda Function, omitting any version or alias qualifier. The following arguments are optional:

Link copied to clipboard
val maximumEventAgeInSeconds: Output<Int>? = null

Maximum age of a request that Lambda sends to a function for processing in seconds. Valid values between 60 and 21600.

Link copied to clipboard
val maximumRetryAttempts: Output<Int>? = null

Maximum number of times to retry when the function returns an error. Valid values between 0 and 2. Defaults to 2.

Link copied to clipboard
val qualifier: Output<String>? = null

Lambda Function published version, $LATEST, or Lambda Alias name.

Functions

Link copied to clipboard
open override fun toJava(): FunctionEventInvokeConfigArgs