Class AwsLambda
java.lang.Object
io.micronaut.starter.feature.function.awslambda.AwsLambda
- All Implemented Interfaces:
io.micronaut.core.naming.Described
,io.micronaut.core.naming.Named
,io.micronaut.core.order.Ordered
,DefaultFeature
,Feature
,AwsCloudFeature
,AwsMicronautRuntimeFeature
,CloudFeature
,FunctionFeature
,MicronautRuntimeFeature
@Requires(property="micronaut.starter.feature.aws.lambda.enabled",
value="true",
defaultValue="true")
@Singleton
public class AwsLambda
extends Object
implements FunctionFeature, DefaultFeature, AwsCloudFeature, AwsMicronautRuntimeFeature
Provides support for AWS Lambda functions in Micronaut applications.
This feature configures necessary dependencies, handler classes, and integration with AWS Lambda runtime and tools such as GraalVM native image support, custom runtimes, SnapStart optimization, and HTTP client setup.
It selectively adds features based on the application type, build tools, and presence of other features like GraalVM and HTTP client.
-
Field Summary
FieldsFields inherited from interface io.micronaut.starter.feature.MicronautRuntimeFeature
PROPERTY_MICRONAUT_RUNTIME
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorsConstructorDescriptionAwsLambda
(ShadePlugin shadePlugin, AwsLambdaCustomRuntime customRuntime, X86 x86, AwsLambdaSnapstart snapstart, HttpClientJdk httpClientJdk, AwsLambdaEventsSerde awsLambdaEventsSerde, DefaultAwsLambdaHandlerProvider defaultAwsLambdaHandlerProvider, FunctionAwsLambdaHandlerProvider functionAwsLambdaHandlerProvider) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addCode
(@NonNull GeneratorContext generatorContext, ModuleContext module) Adds generated source code files (e.g.protected void
addHelpTemplate
(@NonNull GeneratorContext generatorContext, ModuleContext module) Adds the help template (e.g.void
apply
(GeneratorContext generatorContext) If this method is called for a given feature that means the feature was explicitly selected, included by default as a result ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set)
, or added explicitly by another feature throughFeatureContext.addFeature(Feature)
.protected void
disableSecurityFilterInTestConfiguration
(@NonNull GeneratorContext generatorContext, ModuleContext module) Disables the security filter in test configuration if security is enabled.@NonNull String
getFrameworkDocumentation
(GeneratorContext generatorContext) @NonNull String
getName()
The name of the feature.getTitle()
void
processSelectedFeatures
(FeatureContext featureContext) If this method is called for a given feature then that feature was explicitly selected or was included by default as a result ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set)
.@NonNull Optional<com.fizzed.rocker.RockerModel>
readmeTemplate
(@NonNull GeneratorContext generatorContext) Provides the README template for this feature, if available.protected boolean
shouldAddSnapstartFeature
(FeatureContext featureContext) Determines if the SnapStart feature should be added based on the current feature context.boolean
shouldApply
(Options options, Set<Feature> selectedFeatures) Determines if the feature should be applied to the project.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.micronaut.starter.feature.aws.AwsCloudFeature
getCloud
Methods inherited from interface io.micronaut.starter.feature.aws.AwsMicronautRuntimeFeature
resolveMicronautRuntime
Methods inherited from interface io.micronaut.core.naming.Described
getDescription
Methods inherited from interface io.micronaut.projectgen.core.feature.Feature
getOrder, getThirdPartyDocumentation, isCommunity, isPreview, isVisible
Methods inherited from interface io.micronaut.starter.feature.function.FunctionFeature
supports
Methods inherited from interface io.micronaut.starter.feature.MicronautRuntimeFeature
addMicronautRuntimeBuildProperty
-
Field Details
-
FEATURE_NAME_AWS_LAMBDA
- See Also:
-
REQUEST_HANDLER
- See Also:
-
DEPENDENCY_MICRONAUT_FUNCTION_TEST
-
-
Constructor Details
-
AwsLambda
@Inject public AwsLambda(ShadePlugin shadePlugin, AwsLambdaCustomRuntime customRuntime, X86 x86, AwsLambdaSnapstart snapstart, HttpClientJdk httpClientJdk, AwsLambdaEventsSerde awsLambdaEventsSerde, DefaultAwsLambdaHandlerProvider defaultAwsLambdaHandlerProvider, FunctionAwsLambdaHandlerProvider functionAwsLambdaHandlerProvider)
-
-
Method Details
-
processSelectedFeatures
Description copied from interface:Feature
If this method is called for a given feature then that feature was explicitly selected or was included by default as a result ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set)
. This method can be implemented to allow features to modify the list of features that will apply to the project. The methodsFeatureContext.addFeature(Feature)
andFeatureContext.exclude(FeaturePredicate)
are the primary ways to add and remove features from the context.FeatureContext.isPresent(Class)
can be used to determine the existence of other features in order to make decisions.- Specified by:
processSelectedFeatures
in interfaceFeature
- Parameters:
featureContext
- The feature context
-
shouldAddSnapstartFeature
Determines if the SnapStart feature should be added based on the current feature context. Subclasses may override to change the default behavior.- Parameters:
featureContext
- The feature context to evaluate.- Returns:
true
if SnapStart should be added;false
otherwise.
-
getName
Description copied from interface:Feature
The name of the feature. It must be unique. -
getTitle
-
getDescription
- Specified by:
getDescription
in interfaceio.micronaut.core.naming.Described
- Specified by:
getDescription
in interfaceFeature
-
apply
Description copied from interface:Feature
If this method is called for a given feature that means the feature was explicitly selected, included by default as a result ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set)
, or added explicitly by another feature throughFeatureContext.addFeature(Feature)
. At this point the feature list is set and cannot change. -
addCode
Adds generated source code files (e.g. controller or handler) to the module based on application type. Subclasses may override to customize generated code.- Parameters:
generatorContext
- The generator context.module
- The module context where code will be added.
-
addHelpTemplate
protected void addHelpTemplate(@NonNull @NonNull GeneratorContext generatorContext, ModuleContext module) Adds the help template (e.g. README) to the module if applicable. Subclasses may override to customize documentation generation.- Parameters:
generatorContext
- The generator context.module
- The module context to which the help template is added.
-
readmeTemplate
@NonNull public @NonNull Optional<com.fizzed.rocker.RockerModel> readmeTemplate(@NonNull @NonNull GeneratorContext generatorContext) Provides the README template for this feature, if available. Subclasses may override to provide different documentation.- Parameters:
generatorContext
- The generator context.- Returns:
- An Optional containing the RockerModel for the README template, if present.
-
disableSecurityFilterInTestConfiguration
protected void disableSecurityFilterInTestConfiguration(@NonNull @NonNull GeneratorContext generatorContext, ModuleContext module) Disables the security filter in test configuration if security is enabled. Subclasses may override to alter test environment configuration.- Parameters:
generatorContext
- the generator contextmodule
- the module context
-
shouldApply
Description copied from interface:DefaultFeature
Determines if the feature should be applied to the project. Default features do not need to be concerned if the feature was already selected and therefore is already in the list of selected features. The addition to the set is based on the identity of the feature instance and all features are singletons.- Specified by:
shouldApply
in interfaceDefaultFeature
- Parameters:
options
- The optionsselectedFeatures
- The features manually selected by the user- Returns:
- True if the feature should apply
-
getCategory
- Specified by:
getCategory
in interfaceFeature
- Specified by:
getCategory
in interfaceFunctionFeature
- Returns:
- The Category to which the feature belongs to.
-
getFrameworkDocumentation
- Specified by:
getFrameworkDocumentation
in interfaceFeature
- Parameters:
generatorContext
- Generator Context- Returns:
- Returns a link to Framework documentation about the feature. eg. https://micronaut-projects.github.io/micronaut-cache/latest/guide/index.html#hazelcast
-