diff --git a/alb-ecs-bedrock-agents-cdk-dotnet/TejasVora.jpg b/alb-ecs-bedrock-agents-cdk-dotnet/TejasVora.jpg
deleted file mode 100644
index c8d01afb8..000000000
Binary files a/alb-ecs-bedrock-agents-cdk-dotnet/TejasVora.jpg and /dev/null differ
diff --git a/alb-ecs-bedrock-agents-cdk-dotnet/alb-ecs-bedrock-agents-cdk-dotnet.json b/alb-ecs-bedrock-agents-cdk-dotnet/alb-ecs-bedrock-agents-cdk-dotnet.json
deleted file mode 100644
index b2ea571a0..000000000
--- a/alb-ecs-bedrock-agents-cdk-dotnet/alb-ecs-bedrock-agents-cdk-dotnet.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "title": "AI-Powered ChatBot with Bedrock Agent, OpenSearch, and ECS",
- "description": "Create a serverless AI ChatBot using Bedrock agent, OpenSearch, Lambda, and ECS with ALB in AWS.",
- "language": ".NET",
- "level": "200",
- "framework": "CDK",
- "introBox": {
- "headline": "How it works",
- "text": [
- "This pattern demonstrates how to create an AI-powered ChatBot using Amazon Bedrock for the AI agent, Amazon OpenSearch Serverless for vector search, AWS Lambda for processing, Amazon ECS with Fargate for hosting, and Application Load Balancer for routing. The pattern includes a Bedrock agent with Knowledge Base and Action Groups, and is implemented using AWS CDK with .NET."
- ]
- },
- "gitHub": {
- "template": {
- "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/alb-ecs-bedrock-agents-cdk-dotnet",
- "templateURL": "serverless-patterns/alb-ecs-bedrock-agents-cdk-dotnet",
- "projectFolder": "alb-ecs-bedrock-agents-cdk-dotnet",
- "templateFile": "/src/AlbEcsBedrockAgentsCdkDotnet/AlbEcsBedrockAgentsCdkDotnetStack.cs"
- }
- },
- "resources": {
- "bullets": [
- {
- "text": "Amazon Bedrock",
- "link": "https://aws.amazon.com/bedrock/"
- },
- {
- "text": "Amazon Bedrock Agents",
- "link": "https://aws.amazon.com/bedrock/agents/"
- },
- {
- "text": "Amazon OpenSearch Serverless",
- "link": "https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless.html"
- },
- {
- "text": "AWS Lambda",
- "link": "https://docs.aws.amazon.com/lambda/latest/dg/welcome.html"
- },
- {
- "text": "Amazon ECS with Fargate",
- "link": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html"
- },
- {
- "text": "Application Load Balancer",
- "link": "https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html"
- },
- {
- "text": "AWS CDK",
- "link": "https://docs.aws.amazon.com/cdk/latest/guide/home.html"
- }
- ]
- },
- "deploy": {
- "text": [
- "cdk deploy"
- ]
- },
- "testing": {
- "text": [
- "See the GitHub repo for detailed testing instructions, including how to interact with the Bedrock agent, search for flights using the ALB endpoint, and verify processing in OpenSearch and Lambda functions."
- ]
- },
- "cleanup": {
- "text": [
- "Delete the stack: cdk destroy
."
- ]
- },
- "authors": [
- {
- "name": "Tejas Vora",
- "image": "./TejasVora.jpg",
- "bio": "Tejas Vora is a Senior Solutions Architect with Amazon Web Services.",
- "linkedin": "tejas-vora-b4758a47"
- }
- ],
- "patternArch": {
- "icon1": {
- "x": 20,
- "y": 50,
- "service": "alb",
- "label": "Application Load Balancer"
- },
- "icon2": {
- "x": 50,
- "y": 50,
- "service": "fargate",
- "label": "AWS Fargate"
- },
- "icon3": {
- "x": 80,
- "y": 50,
- "service": "bedrock",
- "label": "Amazon Bedrock"
- },
- "line1": {
- "from": "icon1",
- "to": "icon2",
- "label": ""
- },
- "line2": {
- "from": "icon2",
- "to": "icon3",
- "label": ""
- }
- }
-}
diff --git a/apigw-lambda-redshiftdataapi/apigw-lambda-redshiftapi.json b/apigw-lambda-redshiftdataapi/apigw-lambda-redshiftapi.json
deleted file mode 100644
index 9762ea55f..000000000
--- a/apigw-lambda-redshiftdataapi/apigw-lambda-redshiftapi.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "title": "Amazon Reshift Data API with Amazon API Gateway and AWS Lambda",
- "description": "Access data from Redshift with API Gateway, Lambda and Redshift Data API",
- "language": "Python",
- "level": "200",
- "framework": "CDK",
- "introBox": {
- "headline": "How it works",
- "text": [
- "This sample project demonstrates how to expose data from Redshift through API using API Gateway, Lambda and Redshift Data API.",
- "Implemented in CDK."
- ]
- },
- "gitHub": {
- "template": {
- "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/apigw-lambda-redshiftdataapi",
- "templateURL": "serverless-patterns/apigw-lambda-redshiftdataapi",
- "projectFolder": "apigw-lambda-redshiftdataapi",
- "templateFile": "apigw_lambda_redshiftdataapi_stack.py"
- }
- },
- "resources": {
- "bullets": [
- {
- "text": "Redshift Data API",
- "link": "https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html"
- },
- {
- "text": "API Gateway",
- "link": "https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html"
- }
- ]
- },
- "deploy": {
- "text": [
- "See the GitHub repo for detailed deployment instructions."
- ]
- },
- "testing": {
- "text": [
- "See the GitHub repo for detailed testing instructions."
- ]
- },
- "cleanup": {
- "text": [
- "Delete the stack: cdk deploy --app \"python3 apigw_lambda_redshiftdataapi_stack.py\"
."
- ]
- },
- "authors": [
- {
- "name": "Muthu Kumar",
- "image": "https://avatars.githubusercontent.com/u/51725180",
- "bio": "AWS Solutions Architect. Serverless advocate and enthusiast.",
- "linkedin": "klmuthu"
- }
- ],
- "patternArch": {
- "icon1": {
- "x": 20,
- "y": 50,
- "service": "apigw",
- "label": "API Gateway REST API"
- },
- "icon2": {
- "x": 50,
- "y": 50,
- "service": "lambda",
- "label": "AWS Lambda"
- },
- "icon3": {
- "x": 80,
- "y": 50,
- "service": "redshift",
- "label": "Amazon Redshift"
- },
- "line1": {
- "from": "icon1",
- "to": "icon2",
- "label": "Request"
- },
- "line2": {
- "from": "icon2",
- "to": "icon3",
- "label": "Redshift Data API"
- }
- }
-}
diff --git a/appsync-lambda-bedrock-async-stream-subscription-cdk/appsync-lambda-bedrock-async-stream-subscription-cdk.json b/appsync-lambda-bedrock-async-stream-subscription-cdk/appsync-lambda-bedrock-async-stream-subscription-cdk.json
deleted file mode 100644
index 26cec414c..000000000
--- a/appsync-lambda-bedrock-async-stream-subscription-cdk/appsync-lambda-bedrock-async-stream-subscription-cdk.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "title": "Amazon Bedrock calls via AppSync & Lambda streaming for long tasks",
- "language": "TypeScript",
- "level": "300",
- "framework": "CDK",
- "introBox": {
- "headline": "How it works",
- "text": [
- "The pattern implements an asynchronous streaming architecture.",
- "Client initiates a WebSocket subscription and makes a request to AWS AppSync. AppSync invokes Lambda function in event mode, enabling asynchronous processing.",
- "Lambda function streams responses from Amazon Bedrock using ConverseStream. Lambda function sends updates via mutations to AppSync. Updates are delivered to client through WebSocket subscription."
- ]
- },
- "gitHub": {
- "template": {
- "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/appsync-lambda-bedrock-async-stream-subscription-cdk",
- "templateURL": "serverless-patterns/appsync-lambda-bedrock-async-stream-subscription-cdk",
- "projectFolder": "appsync-lambda-bedrock-async-stream-subscription-cdk",
- "templateFile": "/lib/appsync-lambda-bedrock-async-stream-subscription-cdk-stack.ts"
- }
- },
- "resources": {
- "bullets": [
- {
- "text": "AWS AppSync JavaScript resolver and function reference for Amazon Bedrock runtime",
- "link": "https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-bedrock-js.html#long-running-invocations"
- },
- {
- "text": "Bedrock ConverseStream API",
- "link": "https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html"
- }
- ]
- },
- "deploy": {
- "text": ["cdk deploy"]
- },
- "testing": {
- "text": ["See the GitHub repo for detailed testing instructions."]
- },
- "cleanup": {
- "text": ["Delete the stack: cdk destroy --all
."]
- },
- "authors": [
- {
- "name": "Kaustav Dey",
- "image": "https://avatars.githubusercontent.com/u/13236519",
- "bio": "Solution Architect at AWS",
- "linkedin": "kaustavbecs"
- }
- ],
- "patternArch": {
- "icon1": {
- "x": 20,
- "y": 50,
- "service": "appsync",
- "label": "AWS AppSync"
- },
- "icon2": {
- "x": 50,
- "y": 50,
- "service": "lambda",
- "label": "AWS Lambda"
- },
- "icon3": {
- "x": 80,
- "y": 50,
- "service": "bedrock",
- "label": "Amazon Bedrock"
- },
- "line1": {
- "from": "icon1",
- "to": "icon2",
- "label": ""
- },
- "line2": {
- "from": "icon2",
- "to": "icon3",
- "label": ""
- }
- }
-}
diff --git a/cloudfront-lambda-url-iam-cdk-ts/cloudfront-lambda-url-iam-cdk-ts.json b/cloudfront-lambda-url-iam-cdk-ts/cloudfront-lambda-url-iam-cdk-ts.json
deleted file mode 100644
index fbd4c91b8..000000000
--- a/cloudfront-lambda-url-iam-cdk-ts/cloudfront-lambda-url-iam-cdk-ts.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "title": "Amazon Cloudfront to AWS Lambda URLs with IAM Auth",
- "description": "Configure Amazon CloudFront to point to a AWS Lambda function via a Lambda URL with IAM authentication",
- "language": "TypeScript",
- "level": "200",
- "framework": "CDK",
- "introBox": {
- "headline": "How it works",
- "text": [
- "An Amazon CloudFront distribution is created that forwards requests to the domain name of the deployed AWS Lambda function URL. Amazon CloudFront also caches responses from the Lambda function.",
- "The Lambda URL is protected by IAM authentication via CloudFront and Lambda@Edge.",
- "Amazon CloudFront also allows for custom domain names, Lambda@Edge to authenticate with Cognito, as well as AWS Web Application Firewall (WAF) and AWS Shield Advanced to protect your endpoint from attacks"
- ]
- },
- "gitHub": {
- "template": {
- "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/cloudfront-lambda-url-iam-cdk-ts",
- "templateURL": "serverless-patterns/cloudfront-lambda-url-cdk-ts",
- "projectFolder": "cloudfront-lambda-url-iam-cdk-ts",
- "templateFile": "cdk/lib/cdk-stack.ts"
- }
- },
- "resources": {
- "bullets": [
- {
- "text": "Using Amazon CloudFront with AWS Lambda as origin to accelerate your web applications",
- "link": "https://aws.amazon.com/blogs/networking-and-content-delivery/using-amazon-cloudfront-with-aws-lambda-as-origin-to-accelerate-your-web-applications/"
- },
- {
- "text": "Securing Lambda Function URLs using Amazon Cognito, Amazon CloudFront and AWS WAF",
- "link": "https://aws.amazon.com/blogs/compute/securing-lambda-function-urls-using-amazon-cognito-amazon-cloudfront-and-aws-waf/"
- }
- ]
- },
- "deploy": {
- "text": [
- "cdk deploy"
- ]
- },
- "testing": {
- "text": [
- "See the GitHub repo for detailed testing instructions."
- ]
- },
- "cleanup": {
- "text": [
- "Delete the stack: cdk destroy
."
- ]
- },
- "authors": [
- {
- "name": "Samuel Durand",
- "bio": "Senior AWS and JVM developper at PCG",
- "linkedin": "samuel-durand-8300ba4a"
- }
- ],
- "patternArch": {
- "icon1": {
- "x": 20,
- "y": 50,
- "service": "cloudfront",
- "label": "Amazon CloudFront"
- },
- "icon2": {
- "x": 50,
- "y": 50,
- "service": "lambda",
- "label": "Lambda@Edge"
- },
- "icon3": {
- "x": 80,
- "y": 50,
- "service": "lambda",
- "label": "AWS Lambda Function URLs"
- },
- "line1": {
- "from": "icon1",
- "to": "icon2"
- },
- "line2": {
- "from": "icon2",
- "to": "icon3",
- "label": "IAM Authorization"
- }
- }
-}
diff --git a/cloudfront-lambda-url-iam-cdk-ts/example-pattern.json b/cloudfront-lambda-url-iam-cdk-ts/example-pattern.json
index e833d6ae7..a299e7c0c 100644
--- a/cloudfront-lambda-url-iam-cdk-ts/example-pattern.json
+++ b/cloudfront-lambda-url-iam-cdk-ts/example-pattern.json
@@ -1,6 +1,6 @@
{
"title": "Amazon Cloudfront to AWS Lambda URLs with IAM Auth",
- "description": "Configure Cloudfront to point to a Lambda function via a Lambda URL with IAM authentication",
+ "description": "Configure Cloudfront to point to an AWS Lambda function via a Lambda URL with IAM authentication",
"language": "TypeScript",
"level": "200",
"framework": "CDK",
diff --git a/iot-lambda-pub-receiver-cdk/example-pattern.json b/iot-lambda-pub-receiver-cdk/example-pattern.json
index a89432d6b..ae0a89990 100644
--- a/iot-lambda-pub-receiver-cdk/example-pattern.json
+++ b/iot-lambda-pub-receiver-cdk/example-pattern.json
@@ -1,6 +1,6 @@
{
- "title": "Lambda to IoT Core to Lambda",
- "description": "Create a Lambda publishing into IoT topic, triggering an action calling another Lambda.",
+ "title": "AWS Lambda to Amazon IoT Core to AWS Lambda",
+ "description": "Create a Lambda function publishing into an IoT topic, triggering an action calling another Lambda function.",
"language": "Python",
"level": "200",
"framework": "CDK",
@@ -41,19 +41,13 @@
]
},
"deploy": {
- "text": [
- "cdk deploy"
- ]
+ "text": ["cdk deploy"]
},
"testing": {
- "text": [
- "See the GitHub repo for detailed testing instructions."
- ]
+ "text": ["See the GitHub repo for detailed testing instructions."]
},
"cleanup": {
- "text": [
- "Delete the stack: cdk destroy
."
- ]
+ "text": ["Delete the stack: cdk destroy
."]
},
"authors": [
{
diff --git a/private-apigw-custom-domain/pattern.json b/private-apigw-custom-domain/pattern.json
deleted file mode 100644
index 3d82ecb86..000000000
--- a/private-apigw-custom-domain/pattern.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "title": "Private Amazon API Gateway with private custom domain name",
- "description": "Create a Private API Gateway with a custom domain. Configure access via VPC endpoint and set up DNS routing with Amazon Route 53 private hosted zone.",
- "language": "",
- "level": "200",
- "framework": "SAM",
- "introBox": {
- "headline": "How it works",
- "text": [
- "This AWS SAM template demonstrates how to create a private Amazon API Gateway with a private custom domain mame, configure secure access based on a specific VPC endpoint, and route traffic through Route 53 in a private hosted zone.",
- "Private custom domain name is only accessible from a VPC endpoint, which is mapped to a stage in private Amazon API Gateway. A custom domain name is configured with an SSL/TLS certificate to provide secure access, and an associated Route 53 A-Alias record ensures that traffic is routed to the API.",
- "As prerequisites for this pattern, you must have:",
- "* A DNS name of execute-api VPC endpoint",
- "* A custom domain name that you would like to create (e.g. private.mydomain.com)",
- "* A valid certificate in ACM (Amazon Certificate Manager) in the same Region as Private Amazon API Gateway, that covers the namespace of the domain you would like to use (i.e. *.mydomain.com).",
- "* A Route 53 Private Hosted Zone ID that has the domain name you would like to use (e.g. mydomain.com)."
- ]
- },
- "gitHub": {
- "template": {
- "repoURL": "https://github.com/aws-samples/serverless-patterns/tree/main/private-apigw-custom-domain",
- "templateURL": "serverless-patterns/private-apigw-custom-domain",
- "projectFolder": "private-apigw-custom-domain",
- "templateFile": "template.yaml"
- }
- },
- "resources": {
- "bullets": [
- {
- "text": "Custom domain names for private APIs in API Gateway",
- "link": "https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html"
- }
- ]
- },
- "deploy": {
- "text": ["Deploy the stack: sam deploy --guided
"]
- },
- "testing": {
- "text": ["See the GitHub repo for detailed testing instructions."]
- },
- "cleanup": {
- "text": ["Delete the stack: sam delete
."]
- },
- "authors": [
- {
- "name": "Usama Ali Khan",
- "image": "https://media.licdn.com/dms/image/v2/D4E03AQHcLMpZ1LV9UQ/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1685892371158?e=1737590400&v=beta&t=RaPZkIgm7m3thW4PyKSQNn_w9fMbYBeu5PPrQ6K4vBU",
- "bio": "Usama is a Technical Account Manager at Amazon Web Services.",
- "linkedin": "usama-ali-khan"
- }
- ],
- "patternArch": {
- "icon1": {
- "x": 20,
- "y": 50,
- "service": "route53",
- "label": "Amazon Route 53"
- },
- "icon2": {
- "x": 50,
- "y": 50,
- "service": "apigw",
- "label": "Amazon API Gateway"
- },
- "icon3": {
- "x": 80,
- "y": 50,
- "service": "vpc-endpoint",
- "label": "VPC Endpoint"
- },
- "icon4": {
- "x": 20,
- "y": 58,
- "service": "",
- "label": "private hosted zone"
- },
- "icon5": {
- "x": 50,
- "y": 58,
- "service": "",
- "label": "(private)"
- },
-
- "line1": {
- "from": "icon1",
- "to": "icon2",
- "label": ""
- },
- "line2": {
- "from": "icon2",
- "to": "icon3",
- "label": ""
- }
- }
-}