Package com.pulumi.aws.lambda
Class LambdaFunctions
- java.lang.Object
-
- com.pulumi.aws.lambda.LambdaFunctions
-
public final class LambdaFunctions extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description LambdaFunctions()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.pulumi.core.Output<GetAliasResult>getAlias(GetAliasArgs args)Provides details about an AWS Lambda Alias.static com.pulumi.core.Output<GetAliasResult>getAlias(GetAliasArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Alias.static com.pulumi.core.Output<GetAliasResult>getAlias(GetAliasArgs args, com.pulumi.deployment.InvokeOutputOptions options)Provides details about an AWS Lambda Alias.static java.util.concurrent.CompletableFuture<GetAliasResult>getAliasPlain(GetAliasPlainArgs args)Provides details about an AWS Lambda Alias.static java.util.concurrent.CompletableFuture<GetAliasResult>getAliasPlain(GetAliasPlainArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Alias.static com.pulumi.core.Output<GetCodeSigningConfigResult>getCodeSigningConfig(GetCodeSigningConfigArgs args)Provides details about an AWS Lambda Code Signing Config.static com.pulumi.core.Output<GetCodeSigningConfigResult>getCodeSigningConfig(GetCodeSigningConfigArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Code Signing Config.static com.pulumi.core.Output<GetCodeSigningConfigResult>getCodeSigningConfig(GetCodeSigningConfigArgs args, com.pulumi.deployment.InvokeOutputOptions options)Provides details about an AWS Lambda Code Signing Config.static java.util.concurrent.CompletableFuture<GetCodeSigningConfigResult>getCodeSigningConfigPlain(GetCodeSigningConfigPlainArgs args)Provides details about an AWS Lambda Code Signing Config.static java.util.concurrent.CompletableFuture<GetCodeSigningConfigResult>getCodeSigningConfigPlain(GetCodeSigningConfigPlainArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Code Signing Config.static com.pulumi.core.Output<GetFunctionResult>getFunction(GetFunctionArgs args)Provides details about an AWS Lambda Function.static com.pulumi.core.Output<GetFunctionResult>getFunction(GetFunctionArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Function.static com.pulumi.core.Output<GetFunctionResult>getFunction(GetFunctionArgs args, com.pulumi.deployment.InvokeOutputOptions options)Provides details about an AWS Lambda Function.static java.util.concurrent.CompletableFuture<GetFunctionResult>getFunctionPlain(GetFunctionPlainArgs args)Provides details about an AWS Lambda Function.static java.util.concurrent.CompletableFuture<GetFunctionResult>getFunctionPlain(GetFunctionPlainArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Function.static com.pulumi.core.Output<GetFunctionsResult>getFunctions()Provides a list of AWS Lambda Functions in the current region.static com.pulumi.core.Output<GetFunctionsResult>getFunctions(GetFunctionsArgs args)Provides a list of AWS Lambda Functions in the current region.static com.pulumi.core.Output<GetFunctionsResult>getFunctions(GetFunctionsArgs args, com.pulumi.deployment.InvokeOptions options)Provides a list of AWS Lambda Functions in the current region.static com.pulumi.core.Output<GetFunctionsResult>getFunctions(GetFunctionsArgs args, com.pulumi.deployment.InvokeOutputOptions options)Provides a list of AWS Lambda Functions in the current region.static java.util.concurrent.CompletableFuture<GetFunctionsResult>getFunctionsPlain()Provides a list of AWS Lambda Functions in the current region.static java.util.concurrent.CompletableFuture<GetFunctionsResult>getFunctionsPlain(GetFunctionsPlainArgs args)Provides a list of AWS Lambda Functions in the current region.static java.util.concurrent.CompletableFuture<GetFunctionsResult>getFunctionsPlain(GetFunctionsPlainArgs args, com.pulumi.deployment.InvokeOptions options)Provides a list of AWS Lambda Functions in the current region.static com.pulumi.core.Output<GetFunctionUrlResult>getFunctionUrl(GetFunctionUrlArgs args)Provides details about an AWS Lambda Function URL.static com.pulumi.core.Output<GetFunctionUrlResult>getFunctionUrl(GetFunctionUrlArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Function URL.static com.pulumi.core.Output<GetFunctionUrlResult>getFunctionUrl(GetFunctionUrlArgs args, com.pulumi.deployment.InvokeOutputOptions options)Provides details about an AWS Lambda Function URL.static java.util.concurrent.CompletableFuture<GetFunctionUrlResult>getFunctionUrlPlain(GetFunctionUrlPlainArgs args)Provides details about an AWS Lambda Function URL.static java.util.concurrent.CompletableFuture<GetFunctionUrlResult>getFunctionUrlPlain(GetFunctionUrlPlainArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Function URL.static com.pulumi.core.Output<GetInvocationResult>getInvocation(GetInvocationArgs args)Invokes an AWS Lambda Function and returns its results.static com.pulumi.core.Output<GetInvocationResult>getInvocation(GetInvocationArgs args, com.pulumi.deployment.InvokeOptions options)Invokes an AWS Lambda Function and returns its results.static com.pulumi.core.Output<GetInvocationResult>getInvocation(GetInvocationArgs args, com.pulumi.deployment.InvokeOutputOptions options)Invokes an AWS Lambda Function and returns its results.static java.util.concurrent.CompletableFuture<GetInvocationResult>getInvocationPlain(GetInvocationPlainArgs args)Invokes an AWS Lambda Function and returns its results.static java.util.concurrent.CompletableFuture<GetInvocationResult>getInvocationPlain(GetInvocationPlainArgs args, com.pulumi.deployment.InvokeOptions options)Invokes an AWS Lambda Function and returns its results.static com.pulumi.core.Output<GetLayerVersionResult>getLayerVersion()Provides details about an AWS Lambda Layer Version.static com.pulumi.core.Output<GetLayerVersionResult>getLayerVersion(GetLayerVersionArgs args)Provides details about an AWS Lambda Layer Version.static com.pulumi.core.Output<GetLayerVersionResult>getLayerVersion(GetLayerVersionArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Layer Version.static com.pulumi.core.Output<GetLayerVersionResult>getLayerVersion(GetLayerVersionArgs args, com.pulumi.deployment.InvokeOutputOptions options)Provides details about an AWS Lambda Layer Version.static java.util.concurrent.CompletableFuture<GetLayerVersionResult>getLayerVersionPlain()Provides details about an AWS Lambda Layer Version.static java.util.concurrent.CompletableFuture<GetLayerVersionResult>getLayerVersionPlain(GetLayerVersionPlainArgs args)Provides details about an AWS Lambda Layer Version.static java.util.concurrent.CompletableFuture<GetLayerVersionResult>getLayerVersionPlain(GetLayerVersionPlainArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about an AWS Lambda Layer Version.
-
-
-
Method Detail
-
getAlias
public static com.pulumi.core.Output<GetAliasResult> getAlias(GetAliasArgs args)
Provides details about an AWS Lambda Alias. Use this data source to retrieve information about an existing Lambda function alias for traffic management, deployment strategies, or API integrations. ## Example Usage ### Basic Usage
### API Gateway Integrationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("my-lambda-function") .name("production") .build()); ctx.export("aliasArn", example.arn()); } }
### Deployment Version Trackingpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import java.util.ArrayList; import java.util.Arrays; 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){final var apiHandler = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("api-handler") .name("live") .build()); var example = new Integration("example", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(apiHandler.invokeArn()) .build()); // Grant API Gateway permission to invoke the alias var apiGateway = new Permission("apiGateway", PermissionArgs.builder() .statementId("AllowExecutionFromAPIGateway") .action("lambda:InvokeFunction") .function(apiHandler.functionName()) .principal("apigateway.amazonaws.com") .qualifier(apiHandler.name()) .sourceArn(String.format("%s/*/*", exampleAwsApiGatewayRestApi.executionArn())) .build());}}
### EventBridge Rule Targetpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get production alias details final var production = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("production") .build()); // Get staging alias details final var staging = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("staging") .build()); final var versionDrift = production.functionVersion() != staging.functionVersion(); ctx.export("deploymentStatus", Map.ofEntries( Map.entry("productionVersion", production.functionVersion()), Map.entry("stagingVersion", staging.functionVersion()), Map.entry("versionDrift", versionDrift), Map.entry("readyForPromotion", !versionDrift) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.cloudwatch.EventRule; import com.pulumi.aws.cloudwatch.EventRuleArgs; import com.pulumi.aws.cloudwatch.EventTarget; import com.pulumi.aws.cloudwatch.EventTargetArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var eventProcessor = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("event-processor") .name("stable") .build()); var example = new EventRule("example", EventRuleArgs.builder() .name("capture-events") .description("Capture events for processing") .eventPattern(serializeJson( jsonObject( jsonProperty("source", jsonArray("myapp.orders")), jsonProperty("detail-type", jsonArray("Order Placed")) ))) .build()); var lambda = new EventTarget("lambda", EventTargetArgs.builder() .rule(example.name()) .targetId("SendToLambda") .arn(eventProcessor.arn()) .build()); var allowEventbridge = new Permission("allowEventbridge", PermissionArgs.builder() .statementId("AllowExecutionFromEventBridge") .action("lambda:InvokeFunction") .function(eventProcessor.functionName()) .principal("events.amazonaws.com") .qualifier(eventProcessor.name()) .sourceArn(example.arn()) .build()); } }
-
getAliasPlain
public static java.util.concurrent.CompletableFuture<GetAliasResult> getAliasPlain(GetAliasPlainArgs args)
Provides details about an AWS Lambda Alias. Use this data source to retrieve information about an existing Lambda function alias for traffic management, deployment strategies, or API integrations. ## Example Usage ### Basic Usage
### API Gateway Integrationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("my-lambda-function") .name("production") .build()); ctx.export("aliasArn", example.arn()); } }
### Deployment Version Trackingpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import java.util.ArrayList; import java.util.Arrays; 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){final var apiHandler = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("api-handler") .name("live") .build()); var example = new Integration("example", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(apiHandler.invokeArn()) .build()); // Grant API Gateway permission to invoke the alias var apiGateway = new Permission("apiGateway", PermissionArgs.builder() .statementId("AllowExecutionFromAPIGateway") .action("lambda:InvokeFunction") .function(apiHandler.functionName()) .principal("apigateway.amazonaws.com") .qualifier(apiHandler.name()) .sourceArn(String.format("%s/*/*", exampleAwsApiGatewayRestApi.executionArn())) .build());}}
### EventBridge Rule Targetpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get production alias details final var production = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("production") .build()); // Get staging alias details final var staging = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("staging") .build()); final var versionDrift = production.functionVersion() != staging.functionVersion(); ctx.export("deploymentStatus", Map.ofEntries( Map.entry("productionVersion", production.functionVersion()), Map.entry("stagingVersion", staging.functionVersion()), Map.entry("versionDrift", versionDrift), Map.entry("readyForPromotion", !versionDrift) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.cloudwatch.EventRule; import com.pulumi.aws.cloudwatch.EventRuleArgs; import com.pulumi.aws.cloudwatch.EventTarget; import com.pulumi.aws.cloudwatch.EventTargetArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var eventProcessor = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("event-processor") .name("stable") .build()); var example = new EventRule("example", EventRuleArgs.builder() .name("capture-events") .description("Capture events for processing") .eventPattern(serializeJson( jsonObject( jsonProperty("source", jsonArray("myapp.orders")), jsonProperty("detail-type", jsonArray("Order Placed")) ))) .build()); var lambda = new EventTarget("lambda", EventTargetArgs.builder() .rule(example.name()) .targetId("SendToLambda") .arn(eventProcessor.arn()) .build()); var allowEventbridge = new Permission("allowEventbridge", PermissionArgs.builder() .statementId("AllowExecutionFromEventBridge") .action("lambda:InvokeFunction") .function(eventProcessor.functionName()) .principal("events.amazonaws.com") .qualifier(eventProcessor.name()) .sourceArn(example.arn()) .build()); } }
-
getAlias
public static com.pulumi.core.Output<GetAliasResult> getAlias(GetAliasArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Alias. Use this data source to retrieve information about an existing Lambda function alias for traffic management, deployment strategies, or API integrations. ## Example Usage ### Basic Usage
### API Gateway Integrationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("my-lambda-function") .name("production") .build()); ctx.export("aliasArn", example.arn()); } }
### Deployment Version Trackingpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import java.util.ArrayList; import java.util.Arrays; 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){final var apiHandler = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("api-handler") .name("live") .build()); var example = new Integration("example", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(apiHandler.invokeArn()) .build()); // Grant API Gateway permission to invoke the alias var apiGateway = new Permission("apiGateway", PermissionArgs.builder() .statementId("AllowExecutionFromAPIGateway") .action("lambda:InvokeFunction") .function(apiHandler.functionName()) .principal("apigateway.amazonaws.com") .qualifier(apiHandler.name()) .sourceArn(String.format("%s/*/*", exampleAwsApiGatewayRestApi.executionArn())) .build());}}
### EventBridge Rule Targetpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get production alias details final var production = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("production") .build()); // Get staging alias details final var staging = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("staging") .build()); final var versionDrift = production.functionVersion() != staging.functionVersion(); ctx.export("deploymentStatus", Map.ofEntries( Map.entry("productionVersion", production.functionVersion()), Map.entry("stagingVersion", staging.functionVersion()), Map.entry("versionDrift", versionDrift), Map.entry("readyForPromotion", !versionDrift) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.cloudwatch.EventRule; import com.pulumi.aws.cloudwatch.EventRuleArgs; import com.pulumi.aws.cloudwatch.EventTarget; import com.pulumi.aws.cloudwatch.EventTargetArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var eventProcessor = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("event-processor") .name("stable") .build()); var example = new EventRule("example", EventRuleArgs.builder() .name("capture-events") .description("Capture events for processing") .eventPattern(serializeJson( jsonObject( jsonProperty("source", jsonArray("myapp.orders")), jsonProperty("detail-type", jsonArray("Order Placed")) ))) .build()); var lambda = new EventTarget("lambda", EventTargetArgs.builder() .rule(example.name()) .targetId("SendToLambda") .arn(eventProcessor.arn()) .build()); var allowEventbridge = new Permission("allowEventbridge", PermissionArgs.builder() .statementId("AllowExecutionFromEventBridge") .action("lambda:InvokeFunction") .function(eventProcessor.functionName()) .principal("events.amazonaws.com") .qualifier(eventProcessor.name()) .sourceArn(example.arn()) .build()); } }
-
getAlias
public static com.pulumi.core.Output<GetAliasResult> getAlias(GetAliasArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Provides details about an AWS Lambda Alias. Use this data source to retrieve information about an existing Lambda function alias for traffic management, deployment strategies, or API integrations. ## Example Usage ### Basic Usage
### API Gateway Integrationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("my-lambda-function") .name("production") .build()); ctx.export("aliasArn", example.arn()); } }
### Deployment Version Trackingpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import java.util.ArrayList; import java.util.Arrays; 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){final var apiHandler = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("api-handler") .name("live") .build()); var example = new Integration("example", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(apiHandler.invokeArn()) .build()); // Grant API Gateway permission to invoke the alias var apiGateway = new Permission("apiGateway", PermissionArgs.builder() .statementId("AllowExecutionFromAPIGateway") .action("lambda:InvokeFunction") .function(apiHandler.functionName()) .principal("apigateway.amazonaws.com") .qualifier(apiHandler.name()) .sourceArn(String.format("%s/*/*", exampleAwsApiGatewayRestApi.executionArn())) .build());}}
### EventBridge Rule Targetpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get production alias details final var production = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("production") .build()); // Get staging alias details final var staging = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("staging") .build()); final var versionDrift = production.functionVersion() != staging.functionVersion(); ctx.export("deploymentStatus", Map.ofEntries( Map.entry("productionVersion", production.functionVersion()), Map.entry("stagingVersion", staging.functionVersion()), Map.entry("versionDrift", versionDrift), Map.entry("readyForPromotion", !versionDrift) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.cloudwatch.EventRule; import com.pulumi.aws.cloudwatch.EventRuleArgs; import com.pulumi.aws.cloudwatch.EventTarget; import com.pulumi.aws.cloudwatch.EventTargetArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var eventProcessor = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("event-processor") .name("stable") .build()); var example = new EventRule("example", EventRuleArgs.builder() .name("capture-events") .description("Capture events for processing") .eventPattern(serializeJson( jsonObject( jsonProperty("source", jsonArray("myapp.orders")), jsonProperty("detail-type", jsonArray("Order Placed")) ))) .build()); var lambda = new EventTarget("lambda", EventTargetArgs.builder() .rule(example.name()) .targetId("SendToLambda") .arn(eventProcessor.arn()) .build()); var allowEventbridge = new Permission("allowEventbridge", PermissionArgs.builder() .statementId("AllowExecutionFromEventBridge") .action("lambda:InvokeFunction") .function(eventProcessor.functionName()) .principal("events.amazonaws.com") .qualifier(eventProcessor.name()) .sourceArn(example.arn()) .build()); } }
-
getAliasPlain
public static java.util.concurrent.CompletableFuture<GetAliasResult> getAliasPlain(GetAliasPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Alias. Use this data source to retrieve information about an existing Lambda function alias for traffic management, deployment strategies, or API integrations. ## Example Usage ### Basic Usage
### API Gateway Integrationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("my-lambda-function") .name("production") .build()); ctx.export("aliasArn", example.arn()); } }
### Deployment Version Trackingpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import java.util.ArrayList; import java.util.Arrays; 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){final var apiHandler = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("api-handler") .name("live") .build()); var example = new Integration("example", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(apiHandler.invokeArn()) .build()); // Grant API Gateway permission to invoke the alias var apiGateway = new Permission("apiGateway", PermissionArgs.builder() .statementId("AllowExecutionFromAPIGateway") .action("lambda:InvokeFunction") .function(apiHandler.functionName()) .principal("apigateway.amazonaws.com") .qualifier(apiHandler.name()) .sourceArn(String.format("%s/*/*", exampleAwsApiGatewayRestApi.executionArn())) .build());}}
### EventBridge Rule Targetpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get production alias details final var production = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("production") .build()); // Get staging alias details final var staging = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("payment-processor") .name("staging") .build()); final var versionDrift = production.functionVersion() != staging.functionVersion(); ctx.export("deploymentStatus", Map.ofEntries( Map.entry("productionVersion", production.functionVersion()), Map.entry("stagingVersion", staging.functionVersion()), Map.entry("versionDrift", versionDrift), Map.entry("readyForPromotion", !versionDrift) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetAliasArgs; import com.pulumi.aws.cloudwatch.EventRule; import com.pulumi.aws.cloudwatch.EventRuleArgs; import com.pulumi.aws.cloudwatch.EventTarget; import com.pulumi.aws.cloudwatch.EventTargetArgs; import com.pulumi.aws.lambda.Permission; import com.pulumi.aws.lambda.PermissionArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var eventProcessor = LambdaFunctions.getAlias(GetAliasArgs.builder() .functionName("event-processor") .name("stable") .build()); var example = new EventRule("example", EventRuleArgs.builder() .name("capture-events") .description("Capture events for processing") .eventPattern(serializeJson( jsonObject( jsonProperty("source", jsonArray("myapp.orders")), jsonProperty("detail-type", jsonArray("Order Placed")) ))) .build()); var lambda = new EventTarget("lambda", EventTargetArgs.builder() .rule(example.name()) .targetId("SendToLambda") .arn(eventProcessor.arn()) .build()); var allowEventbridge = new Permission("allowEventbridge", PermissionArgs.builder() .statementId("AllowExecutionFromEventBridge") .action("lambda:InvokeFunction") .function(eventProcessor.functionName()) .principal("events.amazonaws.com") .qualifier(eventProcessor.name()) .sourceArn(example.arn()) .build()); } }
-
getCodeSigningConfig
public static com.pulumi.core.Output<GetCodeSigningConfigResult> getCodeSigningConfig(GetCodeSigningConfigArgs args)
Provides details about an AWS Lambda Code Signing Config. Use this data source to retrieve information about an existing code signing configuration for Lambda functions to ensure code integrity and authenticity. For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). ## Example Usage ### Basic Usage
### Use in Lambda Functionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b") .build()); ctx.export("configDetails", Map.ofEntries( Map.entry("configId", example.configId()), Map.entry("description", example.description()), Map.entry("policy", example.policies()[0].untrustedArtifactOnDeployment()) )); } }
### Validate Signing Profilespackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Get existing code signing configuration final var securityConfig = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); // Create Lambda function with code signing var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("secure-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .codeSigningConfigArn(securityConfig.arn()) .tags(Map.ofEntries( Map.entry("Environment", "production"), Map.entry("Security", "code-signed") )) .build()); } }
### Multi-Environment Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ContainsArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); final var allowedProfiles = example.allowedPublishers()[0].signingProfileVersionArns(); final var requiredProfile = "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile"; final var profileAllowed = StdFunctions.contains(ContainsArgs.builder() .input(allowedProfiles) .element(requiredProfile) .build()).result(); // Conditional resource creation based on signing profile validation for (var i = 0; i < profileAllowed ? 1 : 0; i++) { new Function("conditional-" + i, FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("conditional-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("python3.12") .codeSigningConfigArn(example.arn()) .build()); } ctx.export("deploymentStatus", Map.ofEntries( Map.entry("profileAllowed", profileAllowed), Map.entry("functionCreated", profileAllowed), Map.entry("message", profileAllowed ? "Function deployed with valid signing profile" : "Deployment blocked - signing profile not allowed") )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Production code signing config final var prod = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-prod-123") .build()); // Development code signing config final var dev = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-dev-456") .build()); final var prodPolicy = prod.policies()[0].untrustedArtifactOnDeployment(); final var devPolicy = dev.policies()[0].untrustedArtifactOnDeployment(); final var configComparison = Map.ofEntries( Map.entry("prodEnforcement", prodPolicy), Map.entry("devEnforcement", devPolicy), Map.entry("policiesMatch", prodPolicy == devPolicy) ); ctx.export("environmentComparison", configComparison); } }
-
getCodeSigningConfigPlain
public static java.util.concurrent.CompletableFuture<GetCodeSigningConfigResult> getCodeSigningConfigPlain(GetCodeSigningConfigPlainArgs args)
Provides details about an AWS Lambda Code Signing Config. Use this data source to retrieve information about an existing code signing configuration for Lambda functions to ensure code integrity and authenticity. For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). ## Example Usage ### Basic Usage
### Use in Lambda Functionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b") .build()); ctx.export("configDetails", Map.ofEntries( Map.entry("configId", example.configId()), Map.entry("description", example.description()), Map.entry("policy", example.policies()[0].untrustedArtifactOnDeployment()) )); } }
### Validate Signing Profilespackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Get existing code signing configuration final var securityConfig = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); // Create Lambda function with code signing var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("secure-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .codeSigningConfigArn(securityConfig.arn()) .tags(Map.ofEntries( Map.entry("Environment", "production"), Map.entry("Security", "code-signed") )) .build()); } }
### Multi-Environment Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ContainsArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); final var allowedProfiles = example.allowedPublishers()[0].signingProfileVersionArns(); final var requiredProfile = "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile"; final var profileAllowed = StdFunctions.contains(ContainsArgs.builder() .input(allowedProfiles) .element(requiredProfile) .build()).result(); // Conditional resource creation based on signing profile validation for (var i = 0; i < profileAllowed ? 1 : 0; i++) { new Function("conditional-" + i, FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("conditional-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("python3.12") .codeSigningConfigArn(example.arn()) .build()); } ctx.export("deploymentStatus", Map.ofEntries( Map.entry("profileAllowed", profileAllowed), Map.entry("functionCreated", profileAllowed), Map.entry("message", profileAllowed ? "Function deployed with valid signing profile" : "Deployment blocked - signing profile not allowed") )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Production code signing config final var prod = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-prod-123") .build()); // Development code signing config final var dev = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-dev-456") .build()); final var prodPolicy = prod.policies()[0].untrustedArtifactOnDeployment(); final var devPolicy = dev.policies()[0].untrustedArtifactOnDeployment(); final var configComparison = Map.ofEntries( Map.entry("prodEnforcement", prodPolicy), Map.entry("devEnforcement", devPolicy), Map.entry("policiesMatch", prodPolicy == devPolicy) ); ctx.export("environmentComparison", configComparison); } }
-
getCodeSigningConfig
public static com.pulumi.core.Output<GetCodeSigningConfigResult> getCodeSigningConfig(GetCodeSigningConfigArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Code Signing Config. Use this data source to retrieve information about an existing code signing configuration for Lambda functions to ensure code integrity and authenticity. For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). ## Example Usage ### Basic Usage
### Use in Lambda Functionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b") .build()); ctx.export("configDetails", Map.ofEntries( Map.entry("configId", example.configId()), Map.entry("description", example.description()), Map.entry("policy", example.policies()[0].untrustedArtifactOnDeployment()) )); } }
### Validate Signing Profilespackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Get existing code signing configuration final var securityConfig = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); // Create Lambda function with code signing var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("secure-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .codeSigningConfigArn(securityConfig.arn()) .tags(Map.ofEntries( Map.entry("Environment", "production"), Map.entry("Security", "code-signed") )) .build()); } }
### Multi-Environment Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ContainsArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); final var allowedProfiles = example.allowedPublishers()[0].signingProfileVersionArns(); final var requiredProfile = "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile"; final var profileAllowed = StdFunctions.contains(ContainsArgs.builder() .input(allowedProfiles) .element(requiredProfile) .build()).result(); // Conditional resource creation based on signing profile validation for (var i = 0; i < profileAllowed ? 1 : 0; i++) { new Function("conditional-" + i, FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("conditional-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("python3.12") .codeSigningConfigArn(example.arn()) .build()); } ctx.export("deploymentStatus", Map.ofEntries( Map.entry("profileAllowed", profileAllowed), Map.entry("functionCreated", profileAllowed), Map.entry("message", profileAllowed ? "Function deployed with valid signing profile" : "Deployment blocked - signing profile not allowed") )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Production code signing config final var prod = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-prod-123") .build()); // Development code signing config final var dev = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-dev-456") .build()); final var prodPolicy = prod.policies()[0].untrustedArtifactOnDeployment(); final var devPolicy = dev.policies()[0].untrustedArtifactOnDeployment(); final var configComparison = Map.ofEntries( Map.entry("prodEnforcement", prodPolicy), Map.entry("devEnforcement", devPolicy), Map.entry("policiesMatch", prodPolicy == devPolicy) ); ctx.export("environmentComparison", configComparison); } }
-
getCodeSigningConfig
public static com.pulumi.core.Output<GetCodeSigningConfigResult> getCodeSigningConfig(GetCodeSigningConfigArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Provides details about an AWS Lambda Code Signing Config. Use this data source to retrieve information about an existing code signing configuration for Lambda functions to ensure code integrity and authenticity. For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). ## Example Usage ### Basic Usage
### Use in Lambda Functionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b") .build()); ctx.export("configDetails", Map.ofEntries( Map.entry("configId", example.configId()), Map.entry("description", example.description()), Map.entry("policy", example.policies()[0].untrustedArtifactOnDeployment()) )); } }
### Validate Signing Profilespackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Get existing code signing configuration final var securityConfig = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); // Create Lambda function with code signing var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("secure-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .codeSigningConfigArn(securityConfig.arn()) .tags(Map.ofEntries( Map.entry("Environment", "production"), Map.entry("Security", "code-signed") )) .build()); } }
### Multi-Environment Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ContainsArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); final var allowedProfiles = example.allowedPublishers()[0].signingProfileVersionArns(); final var requiredProfile = "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile"; final var profileAllowed = StdFunctions.contains(ContainsArgs.builder() .input(allowedProfiles) .element(requiredProfile) .build()).result(); // Conditional resource creation based on signing profile validation for (var i = 0; i < profileAllowed ? 1 : 0; i++) { new Function("conditional-" + i, FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("conditional-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("python3.12") .codeSigningConfigArn(example.arn()) .build()); } ctx.export("deploymentStatus", Map.ofEntries( Map.entry("profileAllowed", profileAllowed), Map.entry("functionCreated", profileAllowed), Map.entry("message", profileAllowed ? "Function deployed with valid signing profile" : "Deployment blocked - signing profile not allowed") )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Production code signing config final var prod = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-prod-123") .build()); // Development code signing config final var dev = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-dev-456") .build()); final var prodPolicy = prod.policies()[0].untrustedArtifactOnDeployment(); final var devPolicy = dev.policies()[0].untrustedArtifactOnDeployment(); final var configComparison = Map.ofEntries( Map.entry("prodEnforcement", prodPolicy), Map.entry("devEnforcement", devPolicy), Map.entry("policiesMatch", prodPolicy == devPolicy) ); ctx.export("environmentComparison", configComparison); } }
-
getCodeSigningConfigPlain
public static java.util.concurrent.CompletableFuture<GetCodeSigningConfigResult> getCodeSigningConfigPlain(GetCodeSigningConfigPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Code Signing Config. Use this data source to retrieve information about an existing code signing configuration for Lambda functions to ensure code integrity and authenticity. For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). ## Example Usage ### Basic Usage
### Use in Lambda Functionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b") .build()); ctx.export("configDetails", Map.ofEntries( Map.entry("configId", example.configId()), Map.entry("description", example.description()), Map.entry("policy", example.policies()[0].untrustedArtifactOnDeployment()) )); } }
### Validate Signing Profilespackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Get existing code signing configuration final var securityConfig = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); // Create Lambda function with code signing var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("secure-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .codeSigningConfigArn(securityConfig.arn()) .tags(Map.ofEntries( Map.entry("Environment", "production"), Map.entry("Security", "code-signed") )) .build()); } }
### Multi-Environment Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ContainsArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn(codeSigningConfigArn) .build()); final var allowedProfiles = example.allowedPublishers()[0].signingProfileVersionArns(); final var requiredProfile = "arn:aws:signer:us-west-2:123456789012:/signing-profiles/MyProfile"; final var profileAllowed = StdFunctions.contains(ContainsArgs.builder() .input(allowedProfiles) .element(requiredProfile) .build()).result(); // Conditional resource creation based on signing profile validation for (var i = 0; i < profileAllowed ? 1 : 0; i++) { new Function("conditional-" + i, FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("conditional-function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("python3.12") .codeSigningConfigArn(example.arn()) .build()); } ctx.export("deploymentStatus", Map.ofEntries( Map.entry("profileAllowed", profileAllowed), Map.entry("functionCreated", profileAllowed), Map.entry("message", profileAllowed ? "Function deployed with valid signing profile" : "Deployment blocked - signing profile not allowed") )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetCodeSigningConfigArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Production code signing config final var prod = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-prod-123") .build()); // Development code signing config final var dev = LambdaFunctions.getCodeSigningConfig(GetCodeSigningConfigArgs.builder() .arn("arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-dev-456") .build()); final var prodPolicy = prod.policies()[0].untrustedArtifactOnDeployment(); final var devPolicy = dev.policies()[0].untrustedArtifactOnDeployment(); final var configComparison = Map.ofEntries( Map.entry("prodEnforcement", prodPolicy), Map.entry("devEnforcement", devPolicy), Map.entry("policiesMatch", prodPolicy == devPolicy) ); ctx.export("environmentComparison", configComparison); } }
-
getFunction
public static com.pulumi.core.Output<GetFunctionResult> getFunction(GetFunctionArgs args)
Provides details about an AWS Lambda Function. Use this data source to obtain information about an existing Lambda function for use in other resources or as a reference for function configurations. > **Note:** This data source returns information about the latest version or alias specified by the `qualifier`. If no `qualifier` is provided, it returns information about the most recent published version, or `$LATEST` if no published version exists. ## Example Usage ### Basic Usage
### Using Function Aliaspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-lambda-function") .build()); ctx.export("functionArn", example.arn()); } }
### Function Configuration Reference ### Function Version Managementpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("api-handler") .qualifier("production") .build()); // Use in API Gateway integration var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(example.invokeArn()) .build()); } }
### Accessing Durable Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get details about specific version final var version = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("3") .build()); // Get details about latest version final var latest = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("$LATEST") .build()); ctx.export("versionComparison", Map.ofEntries( Map.entry("specificVersion", version.version()), Map.entry("latestVersion", latest.version()), Map.entry("codeDifference", version.codeSha256() != latest.codeSha256()) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var durableFunction = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-durable-function") .build()); ctx.export("durableSettings", Map.ofEntries( Map.entry("hasDurableConfig", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0)), Map.entry("executionTimeout", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].executionTimeout() : null)), Map.entry("retentionPeriod", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].retentionPeriod() : null)) )); } }
-
getFunctionPlain
public static java.util.concurrent.CompletableFuture<GetFunctionResult> getFunctionPlain(GetFunctionPlainArgs args)
Provides details about an AWS Lambda Function. Use this data source to obtain information about an existing Lambda function for use in other resources or as a reference for function configurations. > **Note:** This data source returns information about the latest version or alias specified by the `qualifier`. If no `qualifier` is provided, it returns information about the most recent published version, or `$LATEST` if no published version exists. ## Example Usage ### Basic Usage
### Using Function Aliaspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-lambda-function") .build()); ctx.export("functionArn", example.arn()); } }
### Function Configuration Reference ### Function Version Managementpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("api-handler") .qualifier("production") .build()); // Use in API Gateway integration var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(example.invokeArn()) .build()); } }
### Accessing Durable Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get details about specific version final var version = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("3") .build()); // Get details about latest version final var latest = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("$LATEST") .build()); ctx.export("versionComparison", Map.ofEntries( Map.entry("specificVersion", version.version()), Map.entry("latestVersion", latest.version()), Map.entry("codeDifference", version.codeSha256() != latest.codeSha256()) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var durableFunction = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-durable-function") .build()); ctx.export("durableSettings", Map.ofEntries( Map.entry("hasDurableConfig", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0)), Map.entry("executionTimeout", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].executionTimeout() : null)), Map.entry("retentionPeriod", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].retentionPeriod() : null)) )); } }
-
getFunction
public static com.pulumi.core.Output<GetFunctionResult> getFunction(GetFunctionArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Function. Use this data source to obtain information about an existing Lambda function for use in other resources or as a reference for function configurations. > **Note:** This data source returns information about the latest version or alias specified by the `qualifier`. If no `qualifier` is provided, it returns information about the most recent published version, or `$LATEST` if no published version exists. ## Example Usage ### Basic Usage
### Using Function Aliaspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-lambda-function") .build()); ctx.export("functionArn", example.arn()); } }
### Function Configuration Reference ### Function Version Managementpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("api-handler") .qualifier("production") .build()); // Use in API Gateway integration var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(example.invokeArn()) .build()); } }
### Accessing Durable Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get details about specific version final var version = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("3") .build()); // Get details about latest version final var latest = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("$LATEST") .build()); ctx.export("versionComparison", Map.ofEntries( Map.entry("specificVersion", version.version()), Map.entry("latestVersion", latest.version()), Map.entry("codeDifference", version.codeSha256() != latest.codeSha256()) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var durableFunction = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-durable-function") .build()); ctx.export("durableSettings", Map.ofEntries( Map.entry("hasDurableConfig", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0)), Map.entry("executionTimeout", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].executionTimeout() : null)), Map.entry("retentionPeriod", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].retentionPeriod() : null)) )); } }
-
getFunction
public static com.pulumi.core.Output<GetFunctionResult> getFunction(GetFunctionArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Provides details about an AWS Lambda Function. Use this data source to obtain information about an existing Lambda function for use in other resources or as a reference for function configurations. > **Note:** This data source returns information about the latest version or alias specified by the `qualifier`. If no `qualifier` is provided, it returns information about the most recent published version, or `$LATEST` if no published version exists. ## Example Usage ### Basic Usage
### Using Function Aliaspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-lambda-function") .build()); ctx.export("functionArn", example.arn()); } }
### Function Configuration Reference ### Function Version Managementpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("api-handler") .qualifier("production") .build()); // Use in API Gateway integration var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(example.invokeArn()) .build()); } }
### Accessing Durable Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get details about specific version final var version = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("3") .build()); // Get details about latest version final var latest = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("$LATEST") .build()); ctx.export("versionComparison", Map.ofEntries( Map.entry("specificVersion", version.version()), Map.entry("latestVersion", latest.version()), Map.entry("codeDifference", version.codeSha256() != latest.codeSha256()) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var durableFunction = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-durable-function") .build()); ctx.export("durableSettings", Map.ofEntries( Map.entry("hasDurableConfig", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0)), Map.entry("executionTimeout", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].executionTimeout() : null)), Map.entry("retentionPeriod", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].retentionPeriod() : null)) )); } }
-
getFunctionPlain
public static java.util.concurrent.CompletableFuture<GetFunctionResult> getFunctionPlain(GetFunctionPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Function. Use this data source to obtain information about an existing Lambda function for use in other resources or as a reference for function configurations. > **Note:** This data source returns information about the latest version or alias specified by the `qualifier`. If no `qualifier` is provided, it returns information about the most recent published version, or `$LATEST` if no published version exists. ## Example Usage ### Basic Usage
### Using Function Aliaspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-lambda-function") .build()); ctx.export("functionArn", example.arn()); } }
### Function Configuration Reference ### Function Version Managementpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import com.pulumi.aws.apigateway.Integration; import com.pulumi.aws.apigateway.IntegrationArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("api-handler") .qualifier("production") .build()); // Use in API Gateway integration var exampleIntegration = new Integration("exampleIntegration", IntegrationArgs.builder() .restApi(exampleAwsApiGatewayRestApi.id()) .resourceId(exampleAwsApiGatewayResource.id()) .httpMethod(exampleAwsApiGatewayMethod.httpMethod()) .integrationHttpMethod("POST") .type("AWS_PROXY") .uri(example.invokeArn()) .build()); } }
### Accessing Durable Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get details about specific version final var version = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("3") .build()); // Get details about latest version final var latest = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-function") .qualifier("$LATEST") .build()); ctx.export("versionComparison", Map.ofEntries( Map.entry("specificVersion", version.version()), Map.entry("latestVersion", latest.version()), Map.entry("codeDifference", version.codeSha256() != latest.codeSha256()) )); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var durableFunction = LambdaFunctions.getFunction(GetFunctionArgs.builder() .functionName("my-durable-function") .build()); ctx.export("durableSettings", Map.ofEntries( Map.entry("hasDurableConfig", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0)), Map.entry("executionTimeout", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].executionTimeout() : null)), Map.entry("retentionPeriod", durableFunction.durableConfigs().size().applyValue(_length -> _length > 0 ? durableFunction.durableConfigs()[0].retentionPeriod() : null)) )); } }
-
getFunctionUrl
public static com.pulumi.core.Output<GetFunctionUrlResult> getFunctionUrl(GetFunctionUrlArgs args)
Provides details about an AWS Lambda Function URL. Use this data source to retrieve information about an existing function URL configuration. ## Example Usage ### Basic Usage
### With Qualifierpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("my_lambda_function") .build()); ctx.export("functionUrl", example.functionUrl()); } }
### Retrieve CORS Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import com.pulumi.aws.route53.Record; import com.pulumi.aws.route53.RecordArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ReplaceArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .qualifier("production") .build()); // Use the URL in other resources var lambdaAlias = new Record("lambdaAlias", RecordArgs.builder() .zoneId(exampleAwsRoute53Zone.zoneId()) .name("api.example.com") .type("CNAME") .ttl(300) .records(StdFunctions.replace(ReplaceArgs.builder() .text(example.functionUrl()) .search("https://") .replace("") .build()).result()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("api_function") .build()); final var corsConfig = example.cors().size().applyValue(_length -> _length > 0 ? example.cors()[0] : null); final var allowedOrigins = corsConfig != null ? corsConfig.allowOrigins() : Arrays.asList(); ctx.export("corsAllowedOrigins", allowedOrigins); } }
-
getFunctionUrlPlain
public static java.util.concurrent.CompletableFuture<GetFunctionUrlResult> getFunctionUrlPlain(GetFunctionUrlPlainArgs args)
Provides details about an AWS Lambda Function URL. Use this data source to retrieve information about an existing function URL configuration. ## Example Usage ### Basic Usage
### With Qualifierpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("my_lambda_function") .build()); ctx.export("functionUrl", example.functionUrl()); } }
### Retrieve CORS Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import com.pulumi.aws.route53.Record; import com.pulumi.aws.route53.RecordArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ReplaceArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .qualifier("production") .build()); // Use the URL in other resources var lambdaAlias = new Record("lambdaAlias", RecordArgs.builder() .zoneId(exampleAwsRoute53Zone.zoneId()) .name("api.example.com") .type("CNAME") .ttl(300) .records(StdFunctions.replace(ReplaceArgs.builder() .text(example.functionUrl()) .search("https://") .replace("") .build()).result()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("api_function") .build()); final var corsConfig = example.cors().size().applyValue(_length -> _length > 0 ? example.cors()[0] : null); final var allowedOrigins = corsConfig != null ? corsConfig.allowOrigins() : Arrays.asList(); ctx.export("corsAllowedOrigins", allowedOrigins); } }
-
getFunctionUrl
public static com.pulumi.core.Output<GetFunctionUrlResult> getFunctionUrl(GetFunctionUrlArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Function URL. Use this data source to retrieve information about an existing function URL configuration. ## Example Usage ### Basic Usage
### With Qualifierpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("my_lambda_function") .build()); ctx.export("functionUrl", example.functionUrl()); } }
### Retrieve CORS Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import com.pulumi.aws.route53.Record; import com.pulumi.aws.route53.RecordArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ReplaceArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .qualifier("production") .build()); // Use the URL in other resources var lambdaAlias = new Record("lambdaAlias", RecordArgs.builder() .zoneId(exampleAwsRoute53Zone.zoneId()) .name("api.example.com") .type("CNAME") .ttl(300) .records(StdFunctions.replace(ReplaceArgs.builder() .text(example.functionUrl()) .search("https://") .replace("") .build()).result()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("api_function") .build()); final var corsConfig = example.cors().size().applyValue(_length -> _length > 0 ? example.cors()[0] : null); final var allowedOrigins = corsConfig != null ? corsConfig.allowOrigins() : Arrays.asList(); ctx.export("corsAllowedOrigins", allowedOrigins); } }
-
getFunctionUrl
public static com.pulumi.core.Output<GetFunctionUrlResult> getFunctionUrl(GetFunctionUrlArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Provides details about an AWS Lambda Function URL. Use this data source to retrieve information about an existing function URL configuration. ## Example Usage ### Basic Usage
### With Qualifierpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("my_lambda_function") .build()); ctx.export("functionUrl", example.functionUrl()); } }
### Retrieve CORS Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import com.pulumi.aws.route53.Record; import com.pulumi.aws.route53.RecordArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ReplaceArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .qualifier("production") .build()); // Use the URL in other resources var lambdaAlias = new Record("lambdaAlias", RecordArgs.builder() .zoneId(exampleAwsRoute53Zone.zoneId()) .name("api.example.com") .type("CNAME") .ttl(300) .records(StdFunctions.replace(ReplaceArgs.builder() .text(example.functionUrl()) .search("https://") .replace("") .build()).result()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("api_function") .build()); final var corsConfig = example.cors().size().applyValue(_length -> _length > 0 ? example.cors()[0] : null); final var allowedOrigins = corsConfig != null ? corsConfig.allowOrigins() : Arrays.asList(); ctx.export("corsAllowedOrigins", allowedOrigins); } }
-
getFunctionUrlPlain
public static java.util.concurrent.CompletableFuture<GetFunctionUrlResult> getFunctionUrlPlain(GetFunctionUrlPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Function URL. Use this data source to retrieve information about an existing function URL configuration. ## Example Usage ### Basic Usage
### With Qualifierpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("my_lambda_function") .build()); ctx.export("functionUrl", example.functionUrl()); } }
### Retrieve CORS Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import com.pulumi.aws.route53.Record; import com.pulumi.aws.route53.RecordArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.ReplaceArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .qualifier("production") .build()); // Use the URL in other resources var lambdaAlias = new Record("lambdaAlias", RecordArgs.builder() .zoneId(exampleAwsRoute53Zone.zoneId()) .name("api.example.com") .type("CNAME") .ttl(300) .records(StdFunctions.replace(ReplaceArgs.builder() .text(example.functionUrl()) .search("https://") .replace("") .build()).result()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionUrlArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getFunctionUrl(GetFunctionUrlArgs.builder() .functionName("api_function") .build()); final var corsConfig = example.cors().size().applyValue(_length -> _length > 0 ? example.cors()[0] : null); final var allowedOrigins = corsConfig != null ? corsConfig.allowOrigins() : Arrays.asList(); ctx.export("corsAllowedOrigins", allowedOrigins); } }
-
getFunctions
public static com.pulumi.core.Output<GetFunctionsResult> getFunctions()
Provides a list of AWS Lambda Functions in the current region. Use this data source to discover existing Lambda functions for inventory, monitoring, or bulk operations. ## Example Usage ### List All Functions
### Use Function List for Bulk Operationspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); ctx.export("functionCount", all.functionNames().size()); ctx.export("allFunctionNames", all.functionNames()); } }
### Filter Functions by Name Pattern ### Create Function Inventorypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { // Get all Lambda functions final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); // Create CloudWatch alarms for all functions for (var i = 0; i < all.functionNames().size(); i++) { new MetricAlarm("lambdaErrors-" + i, MetricAlarmArgs.builder() .name(String.format("%s-errors", all.functionNames()[range.value()])) .comparisonOperator("GreaterThanThreshold") .evaluationPeriods(2) .metricName("Errors") .namespace("AWS/Lambda") .period(300) .statistic("Sum") .threshold(5.0) .alarmDescription("This metric monitors lambda errors") .dimensions(Map.of("FunctionName", all.functionNames()[range.value()])) .tags(Map.ofEntries( Map.entry("Environment", "monitoring"), Map.entry("Purpose", "lambda-error-tracking") )) .build()); } } }
-
getFunctionsPlain
public static java.util.concurrent.CompletableFuture<GetFunctionsResult> getFunctionsPlain()
Provides a list of AWS Lambda Functions in the current region. Use this data source to discover existing Lambda functions for inventory, monitoring, or bulk operations. ## Example Usage ### List All Functions
### Use Function List for Bulk Operationspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); ctx.export("functionCount", all.functionNames().size()); ctx.export("allFunctionNames", all.functionNames()); } }
### Filter Functions by Name Pattern ### Create Function Inventorypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { // Get all Lambda functions final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); // Create CloudWatch alarms for all functions for (var i = 0; i < all.functionNames().size(); i++) { new MetricAlarm("lambdaErrors-" + i, MetricAlarmArgs.builder() .name(String.format("%s-errors", all.functionNames()[range.value()])) .comparisonOperator("GreaterThanThreshold") .evaluationPeriods(2) .metricName("Errors") .namespace("AWS/Lambda") .period(300) .statistic("Sum") .threshold(5.0) .alarmDescription("This metric monitors lambda errors") .dimensions(Map.of("FunctionName", all.functionNames()[range.value()])) .tags(Map.ofEntries( Map.entry("Environment", "monitoring"), Map.entry("Purpose", "lambda-error-tracking") )) .build()); } } }
-
getFunctions
public static com.pulumi.core.Output<GetFunctionsResult> getFunctions(GetFunctionsArgs args)
Provides a list of AWS Lambda Functions in the current region. Use this data source to discover existing Lambda functions for inventory, monitoring, or bulk operations. ## Example Usage ### List All Functions
### Use Function List for Bulk Operationspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); ctx.export("functionCount", all.functionNames().size()); ctx.export("allFunctionNames", all.functionNames()); } }
### Filter Functions by Name Pattern ### Create Function Inventorypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { // Get all Lambda functions final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); // Create CloudWatch alarms for all functions for (var i = 0; i < all.functionNames().size(); i++) { new MetricAlarm("lambdaErrors-" + i, MetricAlarmArgs.builder() .name(String.format("%s-errors", all.functionNames()[range.value()])) .comparisonOperator("GreaterThanThreshold") .evaluationPeriods(2) .metricName("Errors") .namespace("AWS/Lambda") .period(300) .statistic("Sum") .threshold(5.0) .alarmDescription("This metric monitors lambda errors") .dimensions(Map.of("FunctionName", all.functionNames()[range.value()])) .tags(Map.ofEntries( Map.entry("Environment", "monitoring"), Map.entry("Purpose", "lambda-error-tracking") )) .build()); } } }
-
getFunctionsPlain
public static java.util.concurrent.CompletableFuture<GetFunctionsResult> getFunctionsPlain(GetFunctionsPlainArgs args)
Provides a list of AWS Lambda Functions in the current region. Use this data source to discover existing Lambda functions for inventory, monitoring, or bulk operations. ## Example Usage ### List All Functions
### Use Function List for Bulk Operationspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); ctx.export("functionCount", all.functionNames().size()); ctx.export("allFunctionNames", all.functionNames()); } }
### Filter Functions by Name Pattern ### Create Function Inventorypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { // Get all Lambda functions final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); // Create CloudWatch alarms for all functions for (var i = 0; i < all.functionNames().size(); i++) { new MetricAlarm("lambdaErrors-" + i, MetricAlarmArgs.builder() .name(String.format("%s-errors", all.functionNames()[range.value()])) .comparisonOperator("GreaterThanThreshold") .evaluationPeriods(2) .metricName("Errors") .namespace("AWS/Lambda") .period(300) .statistic("Sum") .threshold(5.0) .alarmDescription("This metric monitors lambda errors") .dimensions(Map.of("FunctionName", all.functionNames()[range.value()])) .tags(Map.ofEntries( Map.entry("Environment", "monitoring"), Map.entry("Purpose", "lambda-error-tracking") )) .build()); } } }
-
getFunctions
public static com.pulumi.core.Output<GetFunctionsResult> getFunctions(GetFunctionsArgs args, com.pulumi.deployment.InvokeOptions options)
Provides a list of AWS Lambda Functions in the current region. Use this data source to discover existing Lambda functions for inventory, monitoring, or bulk operations. ## Example Usage ### List All Functions
### Use Function List for Bulk Operationspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); ctx.export("functionCount", all.functionNames().size()); ctx.export("allFunctionNames", all.functionNames()); } }
### Filter Functions by Name Pattern ### Create Function Inventorypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { // Get all Lambda functions final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); // Create CloudWatch alarms for all functions for (var i = 0; i < all.functionNames().size(); i++) { new MetricAlarm("lambdaErrors-" + i, MetricAlarmArgs.builder() .name(String.format("%s-errors", all.functionNames()[range.value()])) .comparisonOperator("GreaterThanThreshold") .evaluationPeriods(2) .metricName("Errors") .namespace("AWS/Lambda") .period(300) .statistic("Sum") .threshold(5.0) .alarmDescription("This metric monitors lambda errors") .dimensions(Map.of("FunctionName", all.functionNames()[range.value()])) .tags(Map.ofEntries( Map.entry("Environment", "monitoring"), Map.entry("Purpose", "lambda-error-tracking") )) .build()); } } }
-
getFunctions
public static com.pulumi.core.Output<GetFunctionsResult> getFunctions(GetFunctionsArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Provides a list of AWS Lambda Functions in the current region. Use this data source to discover existing Lambda functions for inventory, monitoring, or bulk operations. ## Example Usage ### List All Functions
### Use Function List for Bulk Operationspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); ctx.export("functionCount", all.functionNames().size()); ctx.export("allFunctionNames", all.functionNames()); } }
### Filter Functions by Name Pattern ### Create Function Inventorypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { // Get all Lambda functions final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); // Create CloudWatch alarms for all functions for (var i = 0; i < all.functionNames().size(); i++) { new MetricAlarm("lambdaErrors-" + i, MetricAlarmArgs.builder() .name(String.format("%s-errors", all.functionNames()[range.value()])) .comparisonOperator("GreaterThanThreshold") .evaluationPeriods(2) .metricName("Errors") .namespace("AWS/Lambda") .period(300) .statistic("Sum") .threshold(5.0) .alarmDescription("This metric monitors lambda errors") .dimensions(Map.of("FunctionName", all.functionNames()[range.value()])) .tags(Map.ofEntries( Map.entry("Environment", "monitoring"), Map.entry("Purpose", "lambda-error-tracking") )) .build()); } } }
-
getFunctionsPlain
public static java.util.concurrent.CompletableFuture<GetFunctionsResult> getFunctionsPlain(GetFunctionsPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Provides a list of AWS Lambda Functions in the current region. Use this data source to discover existing Lambda functions for inventory, monitoring, or bulk operations. ## Example Usage ### List All Functions
### Use Function List for Bulk Operationspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); ctx.export("functionCount", all.functionNames().size()); ctx.export("allFunctionNames", all.functionNames()); } }
### Filter Functions by Name Pattern ### Create Function Inventorypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetFunctionsArgs; import com.pulumi.aws.cloudwatch.MetricAlarm; import com.pulumi.aws.cloudwatch.MetricAlarmArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; 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) { // Get all Lambda functions final var all = LambdaFunctions.getFunctions(GetFunctionsArgs.builder() .build()); // Create CloudWatch alarms for all functions for (var i = 0; i < all.functionNames().size(); i++) { new MetricAlarm("lambdaErrors-" + i, MetricAlarmArgs.builder() .name(String.format("%s-errors", all.functionNames()[range.value()])) .comparisonOperator("GreaterThanThreshold") .evaluationPeriods(2) .metricName("Errors") .namespace("AWS/Lambda") .period(300) .statistic("Sum") .threshold(5.0) .alarmDescription("This metric monitors lambda errors") .dimensions(Map.of("FunctionName", all.functionNames()[range.value()])) .tags(Map.ofEntries( Map.entry("Environment", "monitoring"), Map.entry("Purpose", "lambda-error-tracking") )) .build()); } } }
-
getInvocation
public static com.pulumi.core.Output<GetInvocationResult> getInvocation(GetInvocationArgs args)
Invokes an AWS Lambda Function and returns its results. Use this data source to execute Lambda functions during Pulumi operations and use their results in other resources or outputs. The Lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type. > **Note:** The `aws.lambda.Invocation` data source invokes the function during the first `apply` and every subsequent `plan` when the function is known. > **Note:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking a Lambda function with environment variables, the IAM role associated with the function may have been deleted and recreated after the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) ## Example Usage ### Basic Invocation
### Dynamic Resource Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .input(serializeJson( jsonObject( jsonProperty("operation", "getStatus"), jsonProperty("id", "123456") ))) .build()); ctx.export("result", StdFunctions.jsondecode(JsondecodeArgs.builder() .input(example.result()) .build()).result()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import com.pulumi.aws.elasticache.Cluster; import com.pulumi.aws.elasticache.ClusterArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { // Get resource configuration from Lambda final var resourceConfig = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName("resource-config-generator") .qualifier("production") .input(serializeJson( jsonObject( jsonProperty("environment", environment), jsonProperty("region", current.region()), jsonProperty("service", "api") ))) .build()); final var config = StdFunctions.jsondecode(JsondecodeArgs.builder() .input(resourceConfig.result()) .build()).result(); // Use dynamic configuration var example = new Cluster("example", ClusterArgs.builder() .clusterId(config.cache().clusterId()) .engine(config.cache().engine()) .nodeType(config.cache().nodeType()) .numCacheNodes(config.cache().nodes()) .parameterGroupName(config.cache().parameterGroup()) .tags(config.tags()) .build()); } }
-
getInvocationPlain
public static java.util.concurrent.CompletableFuture<GetInvocationResult> getInvocationPlain(GetInvocationPlainArgs args)
Invokes an AWS Lambda Function and returns its results. Use this data source to execute Lambda functions during Pulumi operations and use their results in other resources or outputs. The Lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type. > **Note:** The `aws.lambda.Invocation` data source invokes the function during the first `apply` and every subsequent `plan` when the function is known. > **Note:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking a Lambda function with environment variables, the IAM role associated with the function may have been deleted and recreated after the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) ## Example Usage ### Basic Invocation
### Dynamic Resource Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .input(serializeJson( jsonObject( jsonProperty("operation", "getStatus"), jsonProperty("id", "123456") ))) .build()); ctx.export("result", StdFunctions.jsondecode(JsondecodeArgs.builder() .input(example.result()) .build()).result()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import com.pulumi.aws.elasticache.Cluster; import com.pulumi.aws.elasticache.ClusterArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { // Get resource configuration from Lambda final var resourceConfig = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName("resource-config-generator") .qualifier("production") .input(serializeJson( jsonObject( jsonProperty("environment", environment), jsonProperty("region", current.region()), jsonProperty("service", "api") ))) .build()); final var config = StdFunctions.jsondecode(JsondecodeArgs.builder() .input(resourceConfig.result()) .build()).result(); // Use dynamic configuration var example = new Cluster("example", ClusterArgs.builder() .clusterId(config.cache().clusterId()) .engine(config.cache().engine()) .nodeType(config.cache().nodeType()) .numCacheNodes(config.cache().nodes()) .parameterGroupName(config.cache().parameterGroup()) .tags(config.tags()) .build()); } }
-
getInvocation
public static com.pulumi.core.Output<GetInvocationResult> getInvocation(GetInvocationArgs args, com.pulumi.deployment.InvokeOptions options)
Invokes an AWS Lambda Function and returns its results. Use this data source to execute Lambda functions during Pulumi operations and use their results in other resources or outputs. The Lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type. > **Note:** The `aws.lambda.Invocation` data source invokes the function during the first `apply` and every subsequent `plan` when the function is known. > **Note:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking a Lambda function with environment variables, the IAM role associated with the function may have been deleted and recreated after the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) ## Example Usage ### Basic Invocation
### Dynamic Resource Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .input(serializeJson( jsonObject( jsonProperty("operation", "getStatus"), jsonProperty("id", "123456") ))) .build()); ctx.export("result", StdFunctions.jsondecode(JsondecodeArgs.builder() .input(example.result()) .build()).result()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import com.pulumi.aws.elasticache.Cluster; import com.pulumi.aws.elasticache.ClusterArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { // Get resource configuration from Lambda final var resourceConfig = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName("resource-config-generator") .qualifier("production") .input(serializeJson( jsonObject( jsonProperty("environment", environment), jsonProperty("region", current.region()), jsonProperty("service", "api") ))) .build()); final var config = StdFunctions.jsondecode(JsondecodeArgs.builder() .input(resourceConfig.result()) .build()).result(); // Use dynamic configuration var example = new Cluster("example", ClusterArgs.builder() .clusterId(config.cache().clusterId()) .engine(config.cache().engine()) .nodeType(config.cache().nodeType()) .numCacheNodes(config.cache().nodes()) .parameterGroupName(config.cache().parameterGroup()) .tags(config.tags()) .build()); } }
-
getInvocation
public static com.pulumi.core.Output<GetInvocationResult> getInvocation(GetInvocationArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Invokes an AWS Lambda Function and returns its results. Use this data source to execute Lambda functions during Pulumi operations and use their results in other resources or outputs. The Lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type. > **Note:** The `aws.lambda.Invocation` data source invokes the function during the first `apply` and every subsequent `plan` when the function is known. > **Note:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking a Lambda function with environment variables, the IAM role associated with the function may have been deleted and recreated after the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) ## Example Usage ### Basic Invocation
### Dynamic Resource Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .input(serializeJson( jsonObject( jsonProperty("operation", "getStatus"), jsonProperty("id", "123456") ))) .build()); ctx.export("result", StdFunctions.jsondecode(JsondecodeArgs.builder() .input(example.result()) .build()).result()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import com.pulumi.aws.elasticache.Cluster; import com.pulumi.aws.elasticache.ClusterArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { // Get resource configuration from Lambda final var resourceConfig = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName("resource-config-generator") .qualifier("production") .input(serializeJson( jsonObject( jsonProperty("environment", environment), jsonProperty("region", current.region()), jsonProperty("service", "api") ))) .build()); final var config = StdFunctions.jsondecode(JsondecodeArgs.builder() .input(resourceConfig.result()) .build()).result(); // Use dynamic configuration var example = new Cluster("example", ClusterArgs.builder() .clusterId(config.cache().clusterId()) .engine(config.cache().engine()) .nodeType(config.cache().nodeType()) .numCacheNodes(config.cache().nodes()) .parameterGroupName(config.cache().parameterGroup()) .tags(config.tags()) .build()); } }
-
getInvocationPlain
public static java.util.concurrent.CompletableFuture<GetInvocationResult> getInvocationPlain(GetInvocationPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Invokes an AWS Lambda Function and returns its results. Use this data source to execute Lambda functions during Pulumi operations and use their results in other resources or outputs. The Lambda function is invoked with [RequestResponse](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) invocation type. > **Note:** The `aws.lambda.Invocation` data source invokes the function during the first `apply` and every subsequent `plan` when the function is known. > **Note:** If you get a `KMSAccessDeniedException: Lambda was unable to decrypt the environment variables because KMS access was denied` error when invoking a Lambda function with environment variables, the IAM role associated with the function may have been deleted and recreated after the function was created. You can fix the problem two ways: 1) updating the function's role to another role and then updating it back again to the recreated role. (When you create a function, Lambda grants permissions on the KMS key to the function's IAM role. If the IAM role is recreated, the grant is no longer valid. Changing the function's role or recreating the function causes Lambda to update the grant.) ## Example Usage ### Basic Invocation
### Dynamic Resource Configurationpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName(exampleAwsLambdaFunction.functionName()) .input(serializeJson( jsonObject( jsonProperty("operation", "getStatus"), jsonProperty("id", "123456") ))) .build()); ctx.export("result", StdFunctions.jsondecode(JsondecodeArgs.builder() .input(example.result()) .build()).result()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetInvocationArgs; import com.pulumi.std.StdFunctions; import com.pulumi.std.inputs.JsondecodeArgs; import com.pulumi.aws.elasticache.Cluster; import com.pulumi.aws.elasticache.ClusterArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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) { // Get resource configuration from Lambda final var resourceConfig = LambdaFunctions.getInvocation(GetInvocationArgs.builder() .functionName("resource-config-generator") .qualifier("production") .input(serializeJson( jsonObject( jsonProperty("environment", environment), jsonProperty("region", current.region()), jsonProperty("service", "api") ))) .build()); final var config = StdFunctions.jsondecode(JsondecodeArgs.builder() .input(resourceConfig.result()) .build()).result(); // Use dynamic configuration var example = new Cluster("example", ClusterArgs.builder() .clusterId(config.cache().clusterId()) .engine(config.cache().engine()) .nodeType(config.cache().nodeType()) .numCacheNodes(config.cache().nodes()) .parameterGroupName(config.cache().parameterGroup()) .tags(config.tags()) .build()); } }
-
getLayerVersion
public static com.pulumi.core.Output<GetLayerVersionResult> getLayerVersion()
Provides details about an AWS Lambda Layer Version. Use this data source to retrieve information about a specific layer version or find the latest version compatible with your runtime and architecture requirements. ## Example Usage ### Get Latest Layer Version
### Get Specific Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("my-shared-utilities") .build()); // Use the layer in a Lambda function var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("example_function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(example.arn()) .build()); } }
### Get Latest Compatible Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("production-utilities") .version(5) .build()); ctx.export("layerInfo", Map.ofEntries( Map.entry("arn", example.arn()), Map.entry("version", example.version()), Map.entry("description", example.description()) )); } }
### Compare Layer Versionspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Find latest layer version compatible with Python 3.12 final var pythonLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("python-dependencies") .compatibleRuntime("python3.12") .build()); // Find latest layer version compatible with ARM64 architecture final var armLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("optimized-libraries") .compatibleArchitecture("arm64") .build()); // Use both layers in a function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("multi_layer_function") .role(lambdaRole.arn()) .handler("app.handler") .runtime("python3.12") .architectures("arm64") .layers( pythonLayer.arn(), armLayer.arn()) .build()); } }
### Cross-Account Layer Accesspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get latest version final var latest = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .build()); // Get specific version for comparison final var stable = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .version(3) .build()); final var useLatestLayer = latest.version() > 5; final var selectedLayer = useLatestLayer ? latest.arn() : stable.arn(); ctx.export("selectedLayerVersion", useLatestLayer ? latest.version() : stable.version()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer from another AWS account using full ARN with version final var sharedLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities:5") .build()); // Use in your Lambda function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("cross_account_example") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(sharedLayer.arn()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer ARN without version (requires ListLayerVersions permission) final var latestShared = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities") .build()); } }
-
getLayerVersionPlain
public static java.util.concurrent.CompletableFuture<GetLayerVersionResult> getLayerVersionPlain()
Provides details about an AWS Lambda Layer Version. Use this data source to retrieve information about a specific layer version or find the latest version compatible with your runtime and architecture requirements. ## Example Usage ### Get Latest Layer Version
### Get Specific Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("my-shared-utilities") .build()); // Use the layer in a Lambda function var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("example_function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(example.arn()) .build()); } }
### Get Latest Compatible Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("production-utilities") .version(5) .build()); ctx.export("layerInfo", Map.ofEntries( Map.entry("arn", example.arn()), Map.entry("version", example.version()), Map.entry("description", example.description()) )); } }
### Compare Layer Versionspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Find latest layer version compatible with Python 3.12 final var pythonLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("python-dependencies") .compatibleRuntime("python3.12") .build()); // Find latest layer version compatible with ARM64 architecture final var armLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("optimized-libraries") .compatibleArchitecture("arm64") .build()); // Use both layers in a function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("multi_layer_function") .role(lambdaRole.arn()) .handler("app.handler") .runtime("python3.12") .architectures("arm64") .layers( pythonLayer.arn(), armLayer.arn()) .build()); } }
### Cross-Account Layer Accesspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get latest version final var latest = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .build()); // Get specific version for comparison final var stable = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .version(3) .build()); final var useLatestLayer = latest.version() > 5; final var selectedLayer = useLatestLayer ? latest.arn() : stable.arn(); ctx.export("selectedLayerVersion", useLatestLayer ? latest.version() : stable.version()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer from another AWS account using full ARN with version final var sharedLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities:5") .build()); // Use in your Lambda function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("cross_account_example") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(sharedLayer.arn()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer ARN without version (requires ListLayerVersions permission) final var latestShared = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities") .build()); } }
-
getLayerVersion
public static com.pulumi.core.Output<GetLayerVersionResult> getLayerVersion(GetLayerVersionArgs args)
Provides details about an AWS Lambda Layer Version. Use this data source to retrieve information about a specific layer version or find the latest version compatible with your runtime and architecture requirements. ## Example Usage ### Get Latest Layer Version
### Get Specific Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("my-shared-utilities") .build()); // Use the layer in a Lambda function var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("example_function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(example.arn()) .build()); } }
### Get Latest Compatible Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("production-utilities") .version(5) .build()); ctx.export("layerInfo", Map.ofEntries( Map.entry("arn", example.arn()), Map.entry("version", example.version()), Map.entry("description", example.description()) )); } }
### Compare Layer Versionspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Find latest layer version compatible with Python 3.12 final var pythonLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("python-dependencies") .compatibleRuntime("python3.12") .build()); // Find latest layer version compatible with ARM64 architecture final var armLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("optimized-libraries") .compatibleArchitecture("arm64") .build()); // Use both layers in a function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("multi_layer_function") .role(lambdaRole.arn()) .handler("app.handler") .runtime("python3.12") .architectures("arm64") .layers( pythonLayer.arn(), armLayer.arn()) .build()); } }
### Cross-Account Layer Accesspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get latest version final var latest = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .build()); // Get specific version for comparison final var stable = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .version(3) .build()); final var useLatestLayer = latest.version() > 5; final var selectedLayer = useLatestLayer ? latest.arn() : stable.arn(); ctx.export("selectedLayerVersion", useLatestLayer ? latest.version() : stable.version()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer from another AWS account using full ARN with version final var sharedLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities:5") .build()); // Use in your Lambda function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("cross_account_example") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(sharedLayer.arn()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer ARN without version (requires ListLayerVersions permission) final var latestShared = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities") .build()); } }
-
getLayerVersionPlain
public static java.util.concurrent.CompletableFuture<GetLayerVersionResult> getLayerVersionPlain(GetLayerVersionPlainArgs args)
Provides details about an AWS Lambda Layer Version. Use this data source to retrieve information about a specific layer version or find the latest version compatible with your runtime and architecture requirements. ## Example Usage ### Get Latest Layer Version
### Get Specific Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("my-shared-utilities") .build()); // Use the layer in a Lambda function var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("example_function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(example.arn()) .build()); } }
### Get Latest Compatible Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("production-utilities") .version(5) .build()); ctx.export("layerInfo", Map.ofEntries( Map.entry("arn", example.arn()), Map.entry("version", example.version()), Map.entry("description", example.description()) )); } }
### Compare Layer Versionspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Find latest layer version compatible with Python 3.12 final var pythonLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("python-dependencies") .compatibleRuntime("python3.12") .build()); // Find latest layer version compatible with ARM64 architecture final var armLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("optimized-libraries") .compatibleArchitecture("arm64") .build()); // Use both layers in a function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("multi_layer_function") .role(lambdaRole.arn()) .handler("app.handler") .runtime("python3.12") .architectures("arm64") .layers( pythonLayer.arn(), armLayer.arn()) .build()); } }
### Cross-Account Layer Accesspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get latest version final var latest = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .build()); // Get specific version for comparison final var stable = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .version(3) .build()); final var useLatestLayer = latest.version() > 5; final var selectedLayer = useLatestLayer ? latest.arn() : stable.arn(); ctx.export("selectedLayerVersion", useLatestLayer ? latest.version() : stable.version()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer from another AWS account using full ARN with version final var sharedLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities:5") .build()); // Use in your Lambda function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("cross_account_example") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(sharedLayer.arn()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer ARN without version (requires ListLayerVersions permission) final var latestShared = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities") .build()); } }
-
getLayerVersion
public static com.pulumi.core.Output<GetLayerVersionResult> getLayerVersion(GetLayerVersionArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Layer Version. Use this data source to retrieve information about a specific layer version or find the latest version compatible with your runtime and architecture requirements. ## Example Usage ### Get Latest Layer Version
### Get Specific Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("my-shared-utilities") .build()); // Use the layer in a Lambda function var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("example_function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(example.arn()) .build()); } }
### Get Latest Compatible Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("production-utilities") .version(5) .build()); ctx.export("layerInfo", Map.ofEntries( Map.entry("arn", example.arn()), Map.entry("version", example.version()), Map.entry("description", example.description()) )); } }
### Compare Layer Versionspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Find latest layer version compatible with Python 3.12 final var pythonLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("python-dependencies") .compatibleRuntime("python3.12") .build()); // Find latest layer version compatible with ARM64 architecture final var armLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("optimized-libraries") .compatibleArchitecture("arm64") .build()); // Use both layers in a function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("multi_layer_function") .role(lambdaRole.arn()) .handler("app.handler") .runtime("python3.12") .architectures("arm64") .layers( pythonLayer.arn(), armLayer.arn()) .build()); } }
### Cross-Account Layer Accesspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get latest version final var latest = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .build()); // Get specific version for comparison final var stable = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .version(3) .build()); final var useLatestLayer = latest.version() > 5; final var selectedLayer = useLatestLayer ? latest.arn() : stable.arn(); ctx.export("selectedLayerVersion", useLatestLayer ? latest.version() : stable.version()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer from another AWS account using full ARN with version final var sharedLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities:5") .build()); // Use in your Lambda function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("cross_account_example") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(sharedLayer.arn()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer ARN without version (requires ListLayerVersions permission) final var latestShared = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities") .build()); } }
-
getLayerVersion
public static com.pulumi.core.Output<GetLayerVersionResult> getLayerVersion(GetLayerVersionArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Provides details about an AWS Lambda Layer Version. Use this data source to retrieve information about a specific layer version or find the latest version compatible with your runtime and architecture requirements. ## Example Usage ### Get Latest Layer Version
### Get Specific Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("my-shared-utilities") .build()); // Use the layer in a Lambda function var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("example_function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(example.arn()) .build()); } }
### Get Latest Compatible Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("production-utilities") .version(5) .build()); ctx.export("layerInfo", Map.ofEntries( Map.entry("arn", example.arn()), Map.entry("version", example.version()), Map.entry("description", example.description()) )); } }
### Compare Layer Versionspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Find latest layer version compatible with Python 3.12 final var pythonLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("python-dependencies") .compatibleRuntime("python3.12") .build()); // Find latest layer version compatible with ARM64 architecture final var armLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("optimized-libraries") .compatibleArchitecture("arm64") .build()); // Use both layers in a function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("multi_layer_function") .role(lambdaRole.arn()) .handler("app.handler") .runtime("python3.12") .architectures("arm64") .layers( pythonLayer.arn(), armLayer.arn()) .build()); } }
### Cross-Account Layer Accesspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get latest version final var latest = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .build()); // Get specific version for comparison final var stable = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .version(3) .build()); final var useLatestLayer = latest.version() > 5; final var selectedLayer = useLatestLayer ? latest.arn() : stable.arn(); ctx.export("selectedLayerVersion", useLatestLayer ? latest.version() : stable.version()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer from another AWS account using full ARN with version final var sharedLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities:5") .build()); // Use in your Lambda function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("cross_account_example") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(sharedLayer.arn()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer ARN without version (requires ListLayerVersions permission) final var latestShared = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities") .build()); } }
-
getLayerVersionPlain
public static java.util.concurrent.CompletableFuture<GetLayerVersionResult> getLayerVersionPlain(GetLayerVersionPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about an AWS Lambda Layer Version. Use this data source to retrieve information about a specific layer version or find the latest version compatible with your runtime and architecture requirements. ## Example Usage ### Get Latest Layer Version
### Get Specific Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("my-shared-utilities") .build()); // Use the layer in a Lambda function var exampleFunction = new Function("exampleFunction", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("example_function") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(example.arn()) .build()); } }
### Get Latest Compatible Layer Versionpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { final var example = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("production-utilities") .version(5) .build()); ctx.export("layerInfo", Map.ofEntries( Map.entry("arn", example.arn()), Map.entry("version", example.version()), Map.entry("description", example.description()) )); } }
### Compare Layer Versionspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Find latest layer version compatible with Python 3.12 final var pythonLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("python-dependencies") .compatibleRuntime("python3.12") .build()); // Find latest layer version compatible with ARM64 architecture final var armLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("optimized-libraries") .compatibleArchitecture("arm64") .build()); // Use both layers in a function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("multi_layer_function") .role(lambdaRole.arn()) .handler("app.handler") .runtime("python3.12") .architectures("arm64") .layers( pythonLayer.arn(), armLayer.arn()) .build()); } }
### Cross-Account Layer Accesspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Get latest version final var latest = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .build()); // Get specific version for comparison final var stable = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerName("shared-layer") .version(3) .build()); final var useLatestLayer = latest.version() > 5; final var selectedLayer = useLatestLayer ? latest.arn() : stable.arn(); ctx.export("selectedLayerVersion", useLatestLayer ? latest.version() : stable.version()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import com.pulumi.aws.lambda.Function; import com.pulumi.aws.lambda.FunctionArgs; import com.pulumi.asset.FileArchive; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer from another AWS account using full ARN with version final var sharedLayer = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities:5") .build()); // Use in your Lambda function var example = new Function("example", FunctionArgs.builder() .code(new FileArchive("function.zip")) .name("cross_account_example") .role(lambdaRole.arn()) .handler("index.handler") .runtime("nodejs24.x") .layers(sharedLayer.arn()) .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.lambda.LambdaFunctions; import com.pulumi.aws.lambda.inputs.GetLayerVersionArgs; import java.util.ArrayList; import java.util.Arrays; 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) { // Reference a layer ARN without version (requires ListLayerVersions permission) final var latestShared = LambdaFunctions.getLayerVersion(GetLayerVersionArgs.builder() .layerVersionArn("arn:aws:lambda:us-east-1:123456789012:layer:shared-utilities") .build()); } }
-
-