From dce7419209b2c9b713de81504168a0e388d54afd Mon Sep 17 00:00:00 2001
From: Zoe Wang <33073555+zoewangg@users.noreply.github.com>
Date: Tue, 16 Dec 2025 17:57:47 -0800
Subject: [PATCH] Improve archetype-lambda
---
.../feature-LambdaMavenArchetype-322edc3.json | 6 +
archetypes/archetype-lambda/README.md | 32 +++---
.../META-INF/maven/archetype-metadata.xml | 3 +
.../resources/archetype-resources/README.md | 4 +-
.../resources/archetype-resources/pom.xml | 27 ++++-
.../src/main/java/__handlerClassName__.java | 10 +-
.../test/java/__handlerClassName__Test.java | 11 +-
.../archetype-resources/template.yaml | 2 +-
.../apachehttpclient/archetype.properties | 3 +-
.../apachehttpclient/reference/README.md | 4 +-
.../apachehttpclient/reference/pom.xml | 8 +-
.../amazonaws/test/MyApacheFunction.java | 10 +-
.../amazonaws/test/MyApacheFunctionTest.java | 11 +-
.../apachehttpclient/reference/template.yaml | 2 +-
.../projects/crtclient/archetype.properties | 1 +
.../projects/crtclient/reference/README.md | 4 +-
.../projects/crtclient/reference/pom.xml | 21 +++-
.../amazonaws/test/MyCrtFunction.java | 10 +-
.../amazonaws/test/MyCrtFunctionTest.java | 11 +-
.../crtclient/reference/template.yaml | 2 +-
.../archetype.properties | 3 +-
.../dynamodbstreamsclient/reference/README.md | 4 +-
.../dynamodbstreamsclient/reference/pom.xml | 8 +-
.../test/MyDynamoDbStreamsFunction.java | 10 +-
.../test/MyDynamoDbStreamsFunctionTest.java | 11 +-
.../reference/template.yaml | 2 +-
.../projects/nettyclient/archetype.properties | 1 +
.../projects/nettyclient/reference/README.md | 4 +-
.../projects/nettyclient/reference/pom.xml | 8 +-
.../amazonaws/test/MyNettyFunction.java | 10 +-
.../amazonaws/test/MyNettyFunctionTest.java | 11 +-
.../nettyclient/reference/template.yaml | 2 +-
.../urlhttpclient/archetype.properties | 3 +-
.../urlhttpclient/reference/README.md | 4 +-
.../projects/urlhttpclient/reference/pom.xml | 8 +-
.../java/software/amazonaws/test/App.java | 10 +-
.../java/software/amazonaws/test/AppTest.java | 11 +-
.../urlhttpclient/reference/template.yaml | 2 +-
.../wafregionalclient/archetype.properties | 25 -----
.../projects/wafregionalclient/goal.txt | 1 -
.../wafregionalclient/reference/README.md | 45 --------
.../wafregionalclient/reference/pom.xml | 104 ------------------
.../amazonaws/test/DependencyFactory.java | 26 -----
.../amazonaws/test/MyWafRegionalFunction.java | 28 -----
.../test/MyWafRegionalFunctionTest.java | 15 ---
.../wafregionalclient/reference/template.yaml | 19 ----
46 files changed, 156 insertions(+), 401 deletions(-)
create mode 100644 .changes/next-release/feature-LambdaMavenArchetype-322edc3.json
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/archetype.properties
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/goal.txt
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/README.md
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/MyWafRegionalFunction.java
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/test/java/software/amazonaws/test/MyWafRegionalFunctionTest.java
delete mode 100644 archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/template.yaml
diff --git a/.changes/next-release/feature-LambdaMavenArchetype-322edc3.json b/.changes/next-release/feature-LambdaMavenArchetype-322edc3.json
new file mode 100644
index 000000000000..c5c5a587ee2d
--- /dev/null
+++ b/.changes/next-release/feature-LambdaMavenArchetype-322edc3.json
@@ -0,0 +1,6 @@
+{
+ "type": "feature",
+ "category": "Lambda Maven Archetype",
+ "contributor": "",
+ "description": "Various Java Lambda Maven archetype improvements: use Java 25, use platform specific AWS CRT dependency, bump dependency version, and improve README. See [#6115](https://github.com/aws/aws-sdk-java-v2/issues/6115)"
+}
diff --git a/archetypes/archetype-lambda/README.md b/archetypes/archetype-lambda/README.md
index 5702a787b739..ff21b2744feb 100755
--- a/archetypes/archetype-lambda/README.md
+++ b/archetypes/archetype-lambda/README.md
@@ -2,11 +2,12 @@
## Description
This is an Apache Maven Archetype to create a lambda function template using [AWS Java SDK 2.x][aws-java-sdk-v2]. The generated template
-has the optimized configurations and follows the best practices to reduce start up time.
+has the optimized configurations and follows the best practices to reduce start up time. Please check out [AWS Dev Guide][aws-dev-guide] for more information.
## Usage
You can use `mvn archetype:generate` to generate a project using this archetype. See [maven archetype usage guidance][maven-archetype-usage] for more information.
+Note that you need to replace `${version}` with the latest SDK version found in [README.md](./README.md).
- Interactive mode
@@ -14,7 +15,7 @@ You can use `mvn archetype:generate` to generate a project using this archetype.
mvn archetype:generate \
-DarchetypeGroupId=software.amazon.awssdk \
-DarchetypeArtifactId=archetype-lambda \
- -DarchetypeVersion=2.x
+ -DarchetypeVersion=${version}
```
- Batch mode
@@ -23,7 +24,7 @@ mvn archetype:generate \
mvn archetype:generate \
-DarchetypeGroupId=software.amazon.awssdk \
-DarchetypeArtifactId=archetype-lambda \
- -DarchetypeVersion=2.x \
+ -DarchetypeVersion=${version} \
-DgroupId=com.test \
-DartifactId=sample-project \
-Dservice=s3 \
@@ -31,18 +32,18 @@ mvn archetype:generate \
```
### Parameters
-
-Parameter Name | Default Value | Description
----|---|---
-`service` (required) | n/a | Specifies the service client to be used in the lambda function, eg: s3, dynamodb. You can find available services [here][java-sdk-v2-services].
-`groupId`(required) | n/a | Specifies the group ID of the project
-`artifactId`(required) | n/a | Specifies the artifact ID of the project
-`region` | n/a | Specifies the region to be set for the SDK client in the application
-`httpClient` | url-connection-client | Specifies the http client to be used by the SDK client. Available options are `url-connection-client` (sync), `apache-client` (sync), `netty-nio-client` (async). See [http clients][sdk-http-clients]
-`handlerClassName` | `"App"`| Specifies the class name of the handler, which will be used as the lambda function name. It should be camel case.
-`javaSdkVersion` | Same version as the archetype version | Specifies the version of the AWS Java SDK 2.x to be used
-`version` | 1.0-SNAPSHOT | Specifies the version of the project
-`package` | ${groupId} | Specifies the package name for the classes
+
+ Parameter Name | Default Value | Description
+------------------------|---------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ `service` (required) | n/a | Specifies the service client to be used in the lambda function, eg: s3, dynamodb. You can find available services [here][java-sdk-v2-services].
+ `groupId`(required) | n/a | Specifies the group ID of the project
+ `artifactId`(required) | n/a | Specifies the artifact ID of the project
+ `region` | n/a | Specifies the region to be set for the SDK client in the application
+ `httpClient` | aws-crt-client | Specifies the http client to be used by the SDK client. Available options are `url-connection-client` (sync), `apache-client` (sync), `netty-nio-client` (async) and `aws-crt-client`(async). See [http clients][sdk-http-clients]
+ `handlerClassName` | `"App"` | Specifies the class name of the handler, which will be used as the lambda function name. It should be camel case.
+ `javaSdkVersion` | Same version as the archetype version | Specifies the version of the AWS Java SDK 2.x to be used
+ `version` | 1.0-SNAPSHOT | Specifies the version of the project
+ `package` | ${groupId} | Specifies the package name for the classes
### Deployment
@@ -62,3 +63,4 @@ Please refer to [deploying lambda apps][deploying-lambda-apps] for more info.
[sam-cli]:https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-getting-started.html
[maven-archetype-usage]: https://maven.apache.org/archetype/maven-archetype-plugin/usage.html
[sam-template]: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html
+[aws-dev-guide]: https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/lambda-optimize-starttime.html
diff --git a/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml
index 507c9e8262ff..0003e253faa5 100644
--- a/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/archetypes/archetype-lambda/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -46,5 +46,8 @@
${netty-open-ssl-version}
+
+ ${awscrt.version}
+
diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/README.md b/archetypes/archetype-lambda/src/main/resources/archetype-resources/README.md
index f8effbaa17ad..c5d82b79f37f 100644
--- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/README.md
+++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/README.md
@@ -3,14 +3,14 @@
This project contains an AWS Lambda maven application with [AWS Java SDK 2.x](https://github.com/aws/aws-sdk-java-v2) dependencies.
#[[##]]# Prerequisites
-- Java 1.8+
+- Java 25+
- Apache Maven
- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
- Docker
#[[##]]# Development
-The generated function handler class just returns the input. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
+The generated function handler class just returns empty string. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
add the code to interact with the SDK client based on your use case.
#[[####]]# Building the project
diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml b/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml
index 11ab338099ee..4df39b322787 100644
--- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml
@@ -9,16 +9,19 @@
jar
UTF-8
+
1.8
1.8
- 3.2.1
- 3.6.1
- 1.6.0
+ 3.6.1
+ 3.14.1
${javaSdkVersion}
- 1.2.3
+ 1.4.0
5.10.1
#if( $httpClient == 'netty-nio-client')
${nettyOpenSslVersion}
+#end
+#if( $httpClient == 'aws-crt-client')
+ ${awsCrtVersion}
#end
@@ -53,8 +56,24 @@
software.amazon.awssdk
${httpClient}
+#if( $httpClient == 'aws-crt-client')
+
+
+ software.amazon.awssdk.crt
+ aws-crt
+
+
+#end
+#if( $httpClient == 'aws-crt-client')
+
+ software.amazon.awssdk.crt
+ aws-crt
+ ${aws.crt.version}
+ linux-x86_64
+
+#end
#if( $httpClient == 'netty-nio-client')
diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/__handlerClassName__.java b/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/__handlerClassName__.java
index 8a66c4aa925d..b48b4949865c 100644
--- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/__handlerClassName__.java
+++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/main/java/__handlerClassName__.java
@@ -2,7 +2,9 @@
package ${package};
import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
+import java.util.Map;
import software.amazon.awssdk.services.${servicePackage}.${serviceClientClassName};
/**
@@ -11,7 +13,7 @@
*
* @see Lambda Java Handler for more information
*/
-public class ${handlerClassName} implements RequestHandler {
+public class ${handlerClassName} implements RequestHandler, String> {
private final ${serviceClientClassName} ${serviceClientVariable}Client;
public ${handlerClassName}() {
@@ -22,8 +24,10 @@ public class ${handlerClassName} implements RequestHandler {
}
@Override
- public Object handleRequest(final Object input, final Context context) {
+ public String handleRequest(final Map input, final Context context) {
+ LambdaLogger lambdaLogger = context.getLogger();
+ lambdaLogger.log("Start to handle request");
// TODO: invoking the api call using ${serviceClientVariable}Client.
- return input;
+ return "";
}
}
diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/test/java/__handlerClassName__Test.java b/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/test/java/__handlerClassName__Test.java
index beecf7a3c67a..6ae7c6f28177 100644
--- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/test/java/__handlerClassName__Test.java
+++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/src/test/java/__handlerClassName__Test.java
@@ -3,16 +3,7 @@
#set( $symbol_escape = '\' )
package ${package};
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
public class ${handlerClassName}Test {
- @Test
- public void handleRequest_shouldReturnConstantValue() {
- ${handlerClassName} function = new ${handlerClassName}();
- Object result = function.handleRequest("echo", null);
- assertEquals("echo", result);
- }
+ // TODO: Add your tests here
}
diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/template.yaml b/archetypes/archetype-lambda/src/main/resources/archetype-resources/template.yaml
index 28847ba71c7b..7a0108bbb211 100644
--- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/template.yaml
+++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/template.yaml
@@ -6,7 +6,7 @@ Resources:
${handlerClassName}Function:
Type: AWS::Serverless::Function
Properties:
- Runtime: java17
+ Runtime: java25
Handler: ${package}.${handlerClassName}::handleRequest
Timeout: 60
MemorySize: 512
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties
index aad97f30a1f3..2b0d1dc899a1 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/archetype.properties
@@ -7,4 +7,5 @@ httpClient=apache-client
handlerClassName=MyApacheFunction
region=us-west-2
javaSdkVersion=2.21.0
-nettyOpenSslVersion=2.0.29.Final
\ No newline at end of file
+nettyOpenSslVersion=2.0.29.Final
+awsCrtVersion=0.40.3
\ No newline at end of file
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/README.md b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/README.md
index 30bf8a316d7e..efc696d80836 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/README.md
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/README.md
@@ -3,14 +3,14 @@
This project contains an AWS Lambda maven application with [AWS Java SDK 2.x](https://github.com/aws/aws-sdk-java-v2) dependencies.
## Prerequisites
-- Java 1.8+
+- Java 25+
- Apache Maven
- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
- Docker
## Development
-The generated function handler class just returns the input. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
+The generated function handler class just returns empty string. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
add the code to interact with the SDK client based on your use case.
#### Building the project
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml
index 74f4405357dc..65fd3f59b5e1 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml
@@ -8,13 +8,13 @@
jar
UTF-8
+
1.8
1.8
- 3.2.1
- 3.6.1
- 1.6.0
+ 3.6.1
+ 3.14.1
2.21.0
- 1.2.3
+ 1.4.0
5.10.1
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/MyApacheFunction.java b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/MyApacheFunction.java
index 8f9f860811c6..cc580ff27af6 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/MyApacheFunction.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/main/java/software/amazonaws/test/MyApacheFunction.java
@@ -1,7 +1,9 @@
package software.amazonaws.test;
import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
+import java.util.Map;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
/**
@@ -10,7 +12,7 @@
*
* @see Lambda Java Handler for more information
*/
-public class MyApacheFunction implements RequestHandler {
+public class MyApacheFunction implements RequestHandler, String> {
private final DynamoDbClient dynamoDbClient;
public MyApacheFunction() {
@@ -21,8 +23,10 @@ public MyApacheFunction() {
}
@Override
- public Object handleRequest(final Object input, final Context context) {
+ public String handleRequest(final Map input, final Context context) {
+ LambdaLogger lambdaLogger = context.getLogger();
+ lambdaLogger.log("Start to handle request");
// TODO: invoking the api call using dynamoDbClient.
- return input;
+ return "";
}
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/test/java/software/amazonaws/test/MyApacheFunctionTest.java b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/test/java/software/amazonaws/test/MyApacheFunctionTest.java
index b55287348392..b269d979df00 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/test/java/software/amazonaws/test/MyApacheFunctionTest.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/src/test/java/software/amazonaws/test/MyApacheFunctionTest.java
@@ -1,15 +1,6 @@
package software.amazonaws.test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
public class MyApacheFunctionTest {
- @Test
- public void handleRequest_shouldReturnConstantValue() {
- MyApacheFunction function = new MyApacheFunction();
- Object result = function.handleRequest("echo", null);
- assertEquals("echo", result);
- }
+ // TODO: Add your tests here
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/template.yaml b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/template.yaml
index 3c9a904981b0..41e3d27ca913 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/template.yaml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/template.yaml
@@ -6,7 +6,7 @@ Resources:
MyApacheFunctionFunction:
Type: AWS::Serverless::Function
Properties:
- Runtime: java17
+ Runtime: java25
Handler: software.amazonaws.test.MyApacheFunction::handleRequest
Timeout: 60
MemorySize: 512
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/archetype.properties b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/archetype.properties
index 2723591d7886..30d0756273c8 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/archetype.properties
+++ b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/archetype.properties
@@ -8,4 +8,5 @@ handlerClassName=MyCrtFunction
region=us-east-1
javaSdkVersion=2.21.0
nettyOpenSslVersion=2.0.29.Final
+awsCrtVersion=0.40.3
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/README.md b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/README.md
index b0ebf3f7c331..db89944f113a 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/README.md
+++ b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/README.md
@@ -3,14 +3,14 @@
This project contains an AWS Lambda maven application with [AWS Java SDK 2.x](https://github.com/aws/aws-sdk-java-v2) dependencies.
## Prerequisites
-- Java 1.8+
+- Java 25+
- Apache Maven
- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
- Docker
## Development
-The generated function handler class just returns the input. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
+The generated function handler class just returns empty string. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
add the code to interact with the SDK client based on your use case.
#### Building the project
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/pom.xml
index c661e52e2224..0c78d1f103fc 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/pom.xml
@@ -8,14 +8,15 @@
jar
UTF-8
+
1.8
1.8
- 3.2.1
- 3.6.1
- 1.6.0
+ 3.6.1
+ 3.14.1
2.21.0
- 1.2.3
+ 1.4.0
5.10.1
+ 0.40.3
@@ -49,8 +50,20 @@
software.amazon.awssdk
aws-crt-client
+
+
+ software.amazon.awssdk.crt
+ aws-crt
+
+
+
+ software.amazon.awssdk.crt
+ aws-crt
+ ${aws.crt.version}
+ linux-x86_64
+
com.amazonaws
aws-lambda-java-core
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/main/java/software/amazonaws/test/MyCrtFunction.java b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/main/java/software/amazonaws/test/MyCrtFunction.java
index 16ca3d377315..8e8dbe702e75 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/main/java/software/amazonaws/test/MyCrtFunction.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/main/java/software/amazonaws/test/MyCrtFunction.java
@@ -1,7 +1,9 @@
package software.amazonaws.test;
import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
+import java.util.Map;
import software.amazon.awssdk.services.s3.S3AsyncClient;
/**
@@ -10,7 +12,7 @@
*
* @see Lambda Java Handler for more information
*/
-public class MyCrtFunction implements RequestHandler {
+public class MyCrtFunction implements RequestHandler, String> {
private final S3AsyncClient s3Client;
public MyCrtFunction() {
@@ -21,8 +23,10 @@ public MyCrtFunction() {
}
@Override
- public Object handleRequest(final Object input, final Context context) {
+ public String handleRequest(final Map input, final Context context) {
+ LambdaLogger lambdaLogger = context.getLogger();
+ lambdaLogger.log("Start to handle request");
// TODO: invoking the api call using s3Client.
- return input;
+ return "";
}
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/test/java/software/amazonaws/test/MyCrtFunctionTest.java b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/test/java/software/amazonaws/test/MyCrtFunctionTest.java
index 21f92ce12ff6..5b812ddadf6d 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/test/java/software/amazonaws/test/MyCrtFunctionTest.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/src/test/java/software/amazonaws/test/MyCrtFunctionTest.java
@@ -1,15 +1,6 @@
package software.amazonaws.test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
public class MyCrtFunctionTest {
- @Test
- public void handleRequest_shouldReturnConstantValue() {
- MyCrtFunction function = new MyCrtFunction();
- Object result = function.handleRequest("echo", null);
- assertEquals("echo", result);
- }
+ // TODO: Add your tests here
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/template.yaml b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/template.yaml
index 07df5eb8d1d5..8c962cea2dd5 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/template.yaml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/crtclient/reference/template.yaml
@@ -6,7 +6,7 @@ Resources:
MyCrtFunctionFunction:
Type: AWS::Serverless::Function
Properties:
- Runtime: java17
+ Runtime: java25
Handler: software.amazonaws.test.MyCrtFunction::handleRequest
Timeout: 60
MemorySize: 512
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/archetype.properties b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/archetype.properties
index 17a81a4eb688..35cc2bf2c137 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/archetype.properties
+++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/archetype.properties
@@ -22,4 +22,5 @@ httpClient=apache-client
handlerClassName=MyDynamoDbStreamsFunction
region=ap-southeast-1
javaSdkVersion=2.21.0
-nettyOpenSslVersion=2.0.29.Final
\ No newline at end of file
+nettyOpenSslVersion=2.0.29.Final
+awsCrtVersion=0.40.3
\ No newline at end of file
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/README.md b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/README.md
index 2fc00d2e4ac0..d3bb7a2165b7 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/README.md
+++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/README.md
@@ -3,14 +3,14 @@
This project contains an AWS Lambda maven application with [AWS Java SDK 2.x](https://github.com/aws/aws-sdk-java-v2) dependencies.
## Prerequisites
-- Java 1.8+
+- Java 25+
- Apache Maven
- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
- Docker
## Development
-The generated function handler class just returns the input. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
+The generated function handler class just returns empty string. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
add the code to interact with the SDK client based on your use case.
#### Building the project
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml
index e8142e9a7b90..5fc5b0b78201 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml
@@ -8,13 +8,13 @@
jar
UTF-8
+
1.8
1.8
- 3.2.1
- 3.6.1
- 1.6.0
+ 3.6.1
+ 3.14.1
2.21.0
- 1.2.3
+ 1.4.0
5.10.1
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/main/java/software/amazonaws/test/MyDynamoDbStreamsFunction.java b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/main/java/software/amazonaws/test/MyDynamoDbStreamsFunction.java
index 2722fbfdba68..a492421fb505 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/main/java/software/amazonaws/test/MyDynamoDbStreamsFunction.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/main/java/software/amazonaws/test/MyDynamoDbStreamsFunction.java
@@ -1,7 +1,9 @@
package software.amazonaws.test;
import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
+import java.util.Map;
import software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient;
/**
@@ -10,7 +12,7 @@
*
* @see Lambda Java Handler for more information
*/
-public class MyDynamoDbStreamsFunction implements RequestHandler {
+public class MyDynamoDbStreamsFunction implements RequestHandler, String> {
private final DynamoDbStreamsClient dynamoDbStreamsClient;
public MyDynamoDbStreamsFunction() {
@@ -21,8 +23,10 @@ public MyDynamoDbStreamsFunction() {
}
@Override
- public Object handleRequest(final Object input, final Context context) {
+ public String handleRequest(final Map input, final Context context) {
+ LambdaLogger lambdaLogger = context.getLogger();
+ lambdaLogger.log("Start to handle request");
// TODO: invoking the api call using dynamoDbStreamsClient.
- return input;
+ return "";
}
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/test/java/software/amazonaws/test/MyDynamoDbStreamsFunctionTest.java b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/test/java/software/amazonaws/test/MyDynamoDbStreamsFunctionTest.java
index 7553684cf11a..145b40d6180b 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/test/java/software/amazonaws/test/MyDynamoDbStreamsFunctionTest.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/src/test/java/software/amazonaws/test/MyDynamoDbStreamsFunctionTest.java
@@ -1,15 +1,6 @@
package software.amazonaws.test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
public class MyDynamoDbStreamsFunctionTest {
- @Test
- public void handleRequest_shouldReturnConstantValue() {
- MyDynamoDbStreamsFunction function = new MyDynamoDbStreamsFunction();
- Object result = function.handleRequest("echo", null);
- assertEquals("echo", result);
- }
+ // TODO: Add your tests here
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/template.yaml b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/template.yaml
index a95d14c736d9..6760446f98d6 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/template.yaml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/template.yaml
@@ -6,7 +6,7 @@ Resources:
MyDynamoDbStreamsFunctionFunction:
Type: AWS::Serverless::Function
Properties:
- Runtime: java17
+ Runtime: java25
Handler: software.amazonaws.test.MyDynamoDbStreamsFunction::handleRequest
Timeout: 60
MemorySize: 512
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/archetype.properties b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/archetype.properties
index 8a907f301363..80ff2f98fa61 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/archetype.properties
+++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/archetype.properties
@@ -8,4 +8,5 @@ handlerClassName=MyNettyFunction
region=us-east-1
javaSdkVersion=2.21.0
nettyOpenSslVersion=2.0.29.Final
+awsCrtVersion=0.40.3
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/README.md b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/README.md
index e265f49bbdc4..6477f823ae76 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/README.md
+++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/README.md
@@ -3,14 +3,14 @@
This project contains an AWS Lambda maven application with [AWS Java SDK 2.x](https://github.com/aws/aws-sdk-java-v2) dependencies.
## Prerequisites
-- Java 1.8+
+- Java 25+
- Apache Maven
- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
- Docker
## Development
-The generated function handler class just returns the input. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
+The generated function handler class just returns empty string. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
add the code to interact with the SDK client based on your use case.
#### Building the project
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml
index 199b9cc10c23..cc9f5e118dd5 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml
@@ -8,13 +8,13 @@
jar
UTF-8
+
1.8
1.8
- 3.2.1
- 3.6.1
- 1.6.0
+ 3.6.1
+ 3.14.1
2.21.0
- 1.2.3
+ 1.4.0
5.10.1
2.0.29.Final
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/main/java/software/amazonaws/test/MyNettyFunction.java b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/main/java/software/amazonaws/test/MyNettyFunction.java
index 0016c30c56e0..bee3faa497bb 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/main/java/software/amazonaws/test/MyNettyFunction.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/main/java/software/amazonaws/test/MyNettyFunction.java
@@ -1,7 +1,9 @@
package software.amazonaws.test;
import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
+import java.util.Map;
import software.amazon.awssdk.services.kinesis.KinesisAsyncClient;
/**
@@ -10,7 +12,7 @@
*
* @see Lambda Java Handler for more information
*/
-public class MyNettyFunction implements RequestHandler {
+public class MyNettyFunction implements RequestHandler, String> {
private final KinesisAsyncClient kinesisClient;
public MyNettyFunction() {
@@ -21,8 +23,10 @@ public MyNettyFunction() {
}
@Override
- public Object handleRequest(final Object input, final Context context) {
+ public String handleRequest(final Map input, final Context context) {
+ LambdaLogger lambdaLogger = context.getLogger();
+ lambdaLogger.log("Start to handle request");
// TODO: invoking the api call using kinesisClient.
- return input;
+ return "";
}
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/test/java/software/amazonaws/test/MyNettyFunctionTest.java b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/test/java/software/amazonaws/test/MyNettyFunctionTest.java
index 46e9272647aa..a909176cec17 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/test/java/software/amazonaws/test/MyNettyFunctionTest.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/src/test/java/software/amazonaws/test/MyNettyFunctionTest.java
@@ -1,15 +1,6 @@
package software.amazonaws.test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
public class MyNettyFunctionTest {
- @Test
- public void handleRequest_shouldReturnConstantValue() {
- MyNettyFunction function = new MyNettyFunction();
- Object result = function.handleRequest("echo", null);
- assertEquals("echo", result);
- }
+ // TODO: Add your tests here
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/template.yaml b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/template.yaml
index b665d80fc983..cad4790b776b 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/template.yaml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/template.yaml
@@ -6,7 +6,7 @@ Resources:
MyNettyFunctionFunction:
Type: AWS::Serverless::Function
Properties:
- Runtime: java17
+ Runtime: java25
Handler: software.amazonaws.test.MyNettyFunction::handleRequest
Timeout: 60
MemorySize: 512
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/archetype.properties b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/archetype.properties
index 215ce1a2a347..dddda5c4c914 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/archetype.properties
+++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/archetype.properties
@@ -7,4 +7,5 @@ httpClient=url-connection-client
handlerClassName=App
region=us-west-2
javaSdkVersion=2.21.0
-nettyOpenSslVersion=2.0.29.Final
\ No newline at end of file
+nettyOpenSslVersion=2.0.29.Final
+awsCrtVersion=0.40.3
\ No newline at end of file
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/README.md b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/README.md
index 6b17a7840213..5487ecdd4619 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/README.md
+++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/README.md
@@ -3,14 +3,14 @@
This project contains an AWS Lambda maven application with [AWS Java SDK 2.x](https://github.com/aws/aws-sdk-java-v2) dependencies.
## Prerequisites
-- Java 1.8+
+- Java 25+
- Apache Maven
- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
- Docker
## Development
-The generated function handler class just returns the input. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
+The generated function handler class just returns empty string. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
add the code to interact with the SDK client based on your use case.
#### Building the project
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml
index 2bbebafcb2ba..1c6acd1b1da7 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml
@@ -8,13 +8,13 @@
jar
UTF-8
+
1.8
1.8
- 3.2.1
- 3.6.1
- 1.6.0
+ 3.6.1
+ 3.14.1
2.21.0
- 1.2.3
+ 1.4.0
5.10.1
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/main/java/software/amazonaws/test/App.java b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/main/java/software/amazonaws/test/App.java
index 3d3588fee28a..f388f4054f90 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/main/java/software/amazonaws/test/App.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/main/java/software/amazonaws/test/App.java
@@ -1,7 +1,9 @@
package software.amazonaws.test;
import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
+import java.util.Map;
import software.amazon.awssdk.services.s3.S3Client;
/**
@@ -10,7 +12,7 @@
*
* @see Lambda Java Handler for more information
*/
-public class App implements RequestHandler {
+public class App implements RequestHandler, String> {
private final S3Client s3Client;
public App() {
@@ -21,8 +23,10 @@ public App() {
}
@Override
- public Object handleRequest(final Object input, final Context context) {
+ public String handleRequest(final Map input, final Context context) {
+ LambdaLogger lambdaLogger = context.getLogger();
+ lambdaLogger.log("Start to handle request");
// TODO: invoking the api call using s3Client.
- return input;
+ return "";
}
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/test/java/software/amazonaws/test/AppTest.java b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/test/java/software/amazonaws/test/AppTest.java
index 8400b37496b7..774f7f7623f4 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/test/java/software/amazonaws/test/AppTest.java
+++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/src/test/java/software/amazonaws/test/AppTest.java
@@ -1,15 +1,6 @@
package software.amazonaws.test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
public class AppTest {
- @Test
- public void handleRequest_shouldReturnConstantValue() {
- App function = new App();
- Object result = function.handleRequest("echo", null);
- assertEquals("echo", result);
- }
+ // TODO: Add your tests here
}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/template.yaml b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/template.yaml
index 18e2d0deb753..2f624a91bead 100644
--- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/template.yaml
+++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/template.yaml
@@ -6,7 +6,7 @@ Resources:
AppFunction:
Type: AWS::Serverless::Function
Properties:
- Runtime: java17
+ Runtime: java25
Handler: software.amazonaws.test.App::handleRequest
Timeout: 60
MemorySize: 512
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/archetype.properties b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/archetype.properties
deleted file mode 100644
index 6ed452610197..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/archetype.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License").
-# You may not use this file except in compliance with the License.
-# A copy of the License is located at
-#
-# http://aws.amazon.com/apache2.0
-#
-# or in the "license" file accompanying this file. This file is distributed
-# on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
-# express or implied. See the License for the specific language governing
-# permissions and limitations under the License.
-#
-
-groupId=software.amazonaws.test
-artifactId=test-wafregional-artifact
-version=1.0-SNAPSHOT
-package=software.amazonaws.test
-service=wafregional
-httpClient=apache-client
-handlerClassName=MyWafRegionalFunction
-region=ap-southeast-1
-javaSdkVersion=2.21.0
-nettyOpenSslVersion=2.0.29.Final
\ No newline at end of file
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/goal.txt b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/goal.txt
deleted file mode 100644
index 4a1a71d3364c..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/goal.txt
+++ /dev/null
@@ -1 +0,0 @@
-verify
\ No newline at end of file
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/README.md b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/README.md
deleted file mode 100644
index cdff80c819bd..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/README.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# MyWafRegionalFunction
-
-This project contains an AWS Lambda maven application with [AWS Java SDK 2.x](https://github.com/aws/aws-sdk-java-v2) dependencies.
-
-## Prerequisites
-- Java 1.8+
-- Apache Maven
-- [AWS SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
-- Docker
-
-## Development
-
-The generated function handler class just returns the input. The configured AWS Java SDK client is created in `DependencyFactory` class and you can
-add the code to interact with the SDK client based on your use case.
-
-#### Building the project
-```
-mvn clean install
-```
-
-#### Testing it locally
-```
-sam local invoke
-```
-
-#### Adding more SDK clients
-To add more service clients, you need to add the specific services modules in `pom.xml` and create the clients in `DependencyFactory` following the same
-pattern as wafRegionalClient.
-
-## Deployment
-
-The generated project contains a default [SAM template](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html) file `template.yaml` where you can
-configure different properties of your lambda function such as memory size and timeout. You might also need to add specific policies to the lambda function
-so that it can access other AWS resources.
-
-To deploy the application, you can run the following command:
-
-```
-sam deploy --guided
-```
-
-See [Deploying Serverless Applications](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-deploying.html) for more info.
-
-
-
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml
deleted file mode 100644
index 6648beb0ac94..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
- 4.0.0
-
- software.amazonaws.test
- test-wafregional-artifact
- 1.0-SNAPSHOT
- jar
-
- UTF-8
- 1.8
- 1.8
- 3.2.1
- 3.6.1
- 1.6.0
- 2.21.0
- 1.2.3
- 5.10.1
-
-
-
-
-
- software.amazon.awssdk
- bom
- ${aws.java.sdk.version}
- pom
- import
-
-
-
-
-
-
- software.amazon.awssdk
- waf
-
-
- software.amazon.awssdk
- netty-nio-client
-
-
- software.amazon.awssdk
- apache-client
-
-
-
-
-
- software.amazon.awssdk
- apache-client
-
-
-
- com.amazonaws
- aws-lambda-java-core
- ${aws.lambda.java.version}
-
-
-
-
- org.junit.jupiter
- junit-jupiter
- ${junit5.version}
- test
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven.compiler.plugin.version}
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- ${maven.shade.plugin.version}
-
- false
- test-wafregional-artifact
-
-
- *:*
-
-
- module-info.class
-
-
-
-
-
-
- package
-
- shade
-
-
-
-
-
-
-
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java
deleted file mode 100644
index 31bacbfa33ef..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/DependencyFactory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-
-package software.amazonaws.test;
-
-import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
-import software.amazon.awssdk.regions.Region;
-import software.amazon.awssdk.services.waf.regional.WafRegionalClient;
-
-/**
- * The module containing all dependencies required by the {@link MyWafRegionalFunction}.
- */
-public class DependencyFactory {
-
- private DependencyFactory() {}
-
- /**
- * @return an instance of WafRegionalClient
- */
- public static WafRegionalClient wafRegionalClient() {
- return WafRegionalClient.builder()
- .credentialsProvider(EnvironmentVariableCredentialsProvider.create())
- .region(Region.AP_SOUTHEAST_1)
- .httpClientBuilder(ApacheHttpClient.builder())
- .build();
- }
-}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/MyWafRegionalFunction.java b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/MyWafRegionalFunction.java
deleted file mode 100644
index 9f02b456977a..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/main/java/software/amazonaws/test/MyWafRegionalFunction.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package software.amazonaws.test;
-
-import com.amazonaws.services.lambda.runtime.Context;
-import com.amazonaws.services.lambda.runtime.RequestHandler;
-import software.amazon.awssdk.services.waf.regional.WafRegionalClient;
-
-/**
- * Lambda function entry point. You can change to use other pojo type or implement
- * a different RequestHandler.
- *
- * @see Lambda Java Handler for more information
- */
-public class MyWafRegionalFunction implements RequestHandler {
- private final WafRegionalClient wafRegionalClient;
-
- public MyWafRegionalFunction() {
- // Initialize the SDK client outside of the handler method so that it can be reused for subsequent invocations.
- // It is initialized when the class is loaded.
- wafRegionalClient = DependencyFactory.wafRegionalClient();
- // Consider invoking a simple api here to pre-warm up the application, eg: dynamodb#listTables
- }
-
- @Override
- public Object handleRequest(final Object input, final Context context) {
- // TODO: invoking the api call using wafRegionalClient.
- return input;
- }
-}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/test/java/software/amazonaws/test/MyWafRegionalFunctionTest.java b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/test/java/software/amazonaws/test/MyWafRegionalFunctionTest.java
deleted file mode 100644
index adc0157faf76..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/src/test/java/software/amazonaws/test/MyWafRegionalFunctionTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package software.amazonaws.test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.junit.jupiter.api.Test;
-
-public class MyWafRegionalFunctionTest {
-
- @Test
- public void handleRequest_shouldReturnConstantValue() {
- MyWafRegionalFunction function = new MyWafRegionalFunction();
- Object result = function.handleRequest("echo", null);
- assertEquals("echo", result);
- }
-}
diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/template.yaml b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/template.yaml
deleted file mode 100644
index f2c0e30feb79..000000000000
--- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/template.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-AWSTemplateFormatVersion: '2010-09-09'
-Transform: AWS::Serverless-2016-10-31
-Resources:
- # See https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html
- # for more info to see how to tune the lambda function configs based on your use case.
- MyWafRegionalFunctionFunction:
- Type: AWS::Serverless::Function
- Properties:
- Runtime: java17
- Handler: software.amazonaws.test.MyWafRegionalFunction::handleRequest
- Timeout: 60
- MemorySize: 512
- CodeUri: ./target/test-wafregional-artifact.jar
- # Attach policies here to give the function permission to access other AWS resources if needed
- # See: https://github.com/awslabs/serverless-application-model/blob/master/docs/policy_templates.rst
- # eg:
- #Policies:
- # - S3ReadPolicy:
- # BucketName: test-bucket
\ No newline at end of file