Skip to content

Commit

Permalink
Merge pull request #721 from awslabs/bump/2.9.0
Browse files Browse the repository at this point in the history
chore(release): 2.9.0
  • Loading branch information
biffgaut authored Jun 13, 2022
2 parents b19b410 + 15934f8 commit 7a2599d
Show file tree
Hide file tree
Showing 171 changed files with 4,976 additions and 11,305 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

# TypeScript incremental build states
*.tsbuildinfo
*.ts.map

# Local state files & OS specifics
.DS_Store
Expand Down
6 changes: 3 additions & 3 deletions .viperlightignore
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ source/patterns/@aws-solutions-constructs/aws-alb-lambda/test/integ.privateApiEx
source/patterns/@aws-solutions-constructs/aws-alb-lambda/test/integ.publicApiExistingResources.expected.json:1113
source/patterns/@aws-solutions-constructs/aws-alb-fargate/test/integ.all-new-two-targets.expected.json:1081
source/patterns/@aws-solutions-constructs/aws-alb-fargate/test/integ.all-new-public-http.expected.json:1054
source/patterns/@aws-solutions-constructs/aws-alb-fargate/README.md:78
source/patterns/@aws-solutions-constructs/aws-alb-lambda/README.md:84
source/patterns/@aws-solutions-constructs/aws-route53-alb/README.md:59
source/patterns/@aws-solutions-constructs/aws-alb-fargate/README.md:79
source/patterns/@aws-solutions-constructs/aws-alb-lambda/README.md:85
source/patterns/@aws-solutions-constructs/aws-route53-alb/README.md:60
source/patterns/@aws-solutions-constructs/aws-wafwebacl-alb/README.md:68
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [1.157.0](https://github.com/awslabs/aws-solutions-constructs/compare/v2.8.0...v1.157.0) (2022-06-13)

* Upgraded all patterns to CDK v1.157.0

### Features

* **aws-fargate-eventbridge:** new construct ([#696](https://github.com/awslabs/aws-solutions-constructs/issues/696)) ([6461b35](https://github.com/awslabs/aws-solutions-constructs/commit/6461b352fe920054d2d98f0223e88fd6168365ec))
* **aws-sns-sqs:** added sqsSubscriptionProps ([#700](https://github.com/awslabs/aws-solutions-constructs/issues/700)) ([bcc1216](https://github.com/awslabs/aws-solutions-constructs/commit/bcc1216be187d1c137b71fe391edc8129c65bf75))

### Bug Fixes

* **Use existing queue in ApiGatewayToSqs** Any existing Queue supplied was getting ignored ([#715](https://github.com/awslabs/aws-solutions-constructs/issues/715))

## [1.156.1](https://github.com/awslabs/aws-solutions-constructs/compare/v1.156.0...v1.156.1) (2022-05-20)

* Upgraded all patterns to CDK v1.156.1
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [2.9.0](https://github.com/awslabs/aws-solutions-constructs/compare/v2.8.0...v2.9.0) (2022-06-13)


* Includes all functionality of V1.157.0
* Built upon underlying CDK version V2.23.0

## [2.8.0](https://github.com/awslabs/aws-solutions-constructs/compare/v2.7.0...v2.8.0) (2022-05-20)

* Includes all functionality of V1.156.1
Expand Down
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

The AWS Solutions Constructs library is an open-source extension of the AWS Cloud Development Kit (AWS CDK) that provides multi-service, well-architected patterns for quickly defining solutions in code to create predictable and repeatable infrastructure. The goal of AWS Solutions Constructs is to accelerate the experience for developers to build solutions of any size using pattern-based definitions for their architecture.

The patterns defined in AWS Solutions Constructs are high level, multi-service abstractions of AWS CDK constructs that have default configurations based on well-architected best practices. The library is organized into logical modules using object-oriented techniques to create each architectural pattern model.
The patterns defined in AWS Solutions Constructs are high level, multi-service abstractions of AWS CDK constructs that have default configurations based on well-architected best practices. The library is organized into logical modules using object-oriented techniques to create each architectural pattern model.

The CDK is available in the following languages:

Expand Down Expand Up @@ -38,15 +38,13 @@ The pattern's documentation page also lists the available methods to call and th

This library includes a collection of functional use case implementations to demonstrate the usage of AWS Solutions Constructs architectural patterns. These can be used in the same way as architectural patterns, and can be conceptualized as an additional "higher-level" abstraction of those patterns. The following use cases are provided as functional examples:

* __aws-custom-glue-etl__ - implements an example using the Kinesis Data Streams Glue Job construct. The application architecture uses a custom ETL job defined in AWS Glue that takes in data from Amazon Kinesis Data Streams to process and store it in the target datastore as defined by the ETL script (for this example an S3 bucket location).
* Use case pattern: https://github.com/awslabs/aws-solutions-constructs/tree/main/source/use_cases/aws-custom-glue-etl
* __aws-s3-static-website__ - implements an Amazon CloudFront distribution, Amazon S3 bucket and AWS Lambda-based custom resource to copy the static website content for the Wild Rydes demo website (part of the aws-serverless-web-app implementation).
* Use case pattern: https://github.com/awslabs/aws-solutions-constructs/tree/master/source/use_cases/aws-s3-static-website
* __aws-serverless-image-handler__ - implements an Amazon CloudFront distribution, an Amazon API Gateway REST API, an AWS Lambda function, and necessary permissions/logic to provision a functional image handler API for serving image content from one or more Amazon S3 buckets within the deployment account.
* Use case pattern: https://github.com/awslabs/aws-solutions-constructs/tree/master/source/use_cases/aws-serverless-image-handler
* __aws-serverless-web-app__ - implements a simple serverless web application that enables users to request unicorn rides from the Wild Rydes fleet. The application will present users with an HTML based user interface for indicating the location where they would like to be picked up and will interface on the backend with a RESTful web service to submit the request and dispatch a nearby unicorn. The application will also provide facilities for users to register with the service and log in before requesting rides.
* Use case pattern: https://github.com/awslabs/aws-solutions-constructs/tree/master/source/use_cases/aws-serverless-web-app
* Use case pattern: https://github.com/awslabs/aws-solutions-constructs/tree/main/source/use_cases/aws-s3-static-website
* __aws-restaurant-management-demo__ - implements a complex, multi-stack architecture that models a restaurant management system. This use case will provision a stack for service/wait staff to open/close orders, a stack for kitchen staff to view/complete orders, and a stack for managers to perform various business functions. It will also provision a stack
containing a central DynamoDB table for managing orders, as well as a Lambda layer for sharing common database access patterns.
* Use case pattern: https://github.com/awslabs/aws-solutions-constructs/tree/master/source/use_cases/aws-restaurant-management-demo
* Use case pattern: https://github.com/awslabs/aws-solutions-constructs/tree/main/source/use_cases/aws-restaurant-management-demo

***
© Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 changes: 1 addition & 1 deletion source/lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"./patterns/@aws-solutions-constructs/*"
],
"rejectCycles": "true",
"version": "1.156.1"
"version": "1.157.0"
}
2 changes: 1 addition & 1 deletion source/lerna.v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
"./patterns/@aws-solutions-constructs/*"
],
"rejectCycles": "true",
"version": "2.8.0"
"version": "2.9.0"
}
1 change: 1 addition & 0 deletions source/patterns/@aws-solutions-constructs/aws-alb-fargate/README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-alb-fargate`|
|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.albfargate`|

## Overview
This AWS Solutions Construct implements an an Application Load Balancer to an AWS Fargate service

Here is a minimal deployable pattern definition:
Expand Down
1 change: 1 addition & 0 deletions source/patterns/@aws-solutions-constructs/aws-alb-lambda/README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
|![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript|`@aws-solutions-constructs/aws-alb-lambda`|
|![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java|`software.amazon.awsconstructs.services.alblambda`|

## Overview
This AWS Solutions Construct implements an an Application Load Balancer to an AWS Lambda function

Here is a minimal deployable pattern definition:
Expand Down
4 changes: 2 additions & 2 deletions source/patterns/@aws-solutions-constructs/aws-apigateway-dynamodb/README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@
## Overview
This AWS Solutions Construct implements an Amazon API Gateway REST API connected to Amazon DynamoDB table.

Here is a minimal deployable pattern definition in
Here is a minimal deployable pattern definition in:

Typescript:
Typescript
``` typescript
import { Construct } from 'constructs';
import { Stack, StackProps } from 'aws-cdk-lib';
Expand Down
Empty file.
Empty file.
Empty file.
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ export class ApiGatewayToSqs extends Construct {

// Setup the queue
[this.sqsQueue] = defaults.buildQueue(this, 'queue', {
existingQueueObj: props.existingQueueObj,
queueProps: props.queueProps,
deadLetterQueue: this.deadLetterQueue
});
Expand Down Expand Up @@ -223,4 +224,4 @@ export class ApiGatewayToSqs extends Construct {
actions: [ `${action}` ]
}));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,11 @@ import { Stack } from "@aws-cdk/core";
import { ApiGatewayToSqs } from '../lib';
import '@aws-cdk/assert/jest';
import * as api from "@aws-cdk/aws-apigateway";
import * as sqs from "@aws-cdk/aws-sqs";

// --------------------------------------------------------------
// Test deployment w/o DLQ
// --------------------------------------------------------------
test('Test deployment w/o DLQ', () => {
// Stack
const stack = new Stack();
// Helper declaration

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
deployDeadLetterQueue: false
});
Expand All @@ -34,13 +31,9 @@ test('Test deployment w/o DLQ', () => {
});
});

// --------------------------------------------------------------
// Test deployment w/o allowReadOperation
// --------------------------------------------------------------
test('Test deployment w/o allowReadOperation', () => {
// Stack
const stack = new Stack();
// Helper declaration

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
allowCreateOperation: true,
allowReadOperation: false,
Expand All @@ -52,13 +45,9 @@ test('Test deployment w/o allowReadOperation', () => {
});
});

// --------------------------------------------------------------
// Test deployment w/ allowReadOperation
// --------------------------------------------------------------
test('Test deployment w/ allowReadOperation', () => {
// Stack
const stack = new Stack();
// Helper declaration

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
allowReadOperation: true,
});
Expand All @@ -69,13 +58,9 @@ test('Test deployment w/ allowReadOperation', () => {
});
});

// --------------------------------------------------------------
// Test the getter methods
// --------------------------------------------------------------
test('Test properties', () => {
// Stack
const stack = new Stack();
// Helper declaration

const pattern = new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
deployDeadLetterQueue: true,
maxReceiveCount: 3
Expand All @@ -91,13 +76,9 @@ test('Test properties', () => {
expect(pattern.deadLetterQueue !== null);
});

// -----------------------------------------------------------------
// Test deployment for override ApiGateway AuthorizationType to NONE
// -----------------------------------------------------------------
test('Test deployment ApiGateway AuthorizationType override', () => {
// Stack
const stack = new Stack();
// Helper declaration

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
apiGatewayProps: {
defaultMethodOptions: {
Expand All @@ -123,13 +104,9 @@ test('Test deployment ApiGateway AuthorizationType override', () => {
});
});

// -----------------------------------------------------------------
// Test deployment for override ApiGateway createRequestTemplate
// -----------------------------------------------------------------
test('Test deployment for override ApiGateway createRequestTemplate', () => {
// Stack
const stack = new Stack();
// Helper declaration

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
createRequestTemplate: "Action=SendMessage&MessageBody=$util.urlEncode(\"HelloWorld\")",
allowCreateOperation: true
Expand All @@ -144,13 +121,9 @@ test('Test deployment for override ApiGateway createRequestTemplate', () => {
});
});

// -----------------------------------------------------------------
// Test deployment for override ApiGateway getRequestTemplate
// -----------------------------------------------------------------
test('Test deployment for override ApiGateway getRequestTemplate', () => {
// Stack
const stack = new Stack();
// Helper declaration

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
readRequestTemplate: "Action=HelloWorld",
allowReadOperation: true
Expand All @@ -165,13 +138,9 @@ test('Test deployment for override ApiGateway getRequestTemplate', () => {
});
});

// -----------------------------------------------------------------
// Test deployment for override ApiGateway deleteRequestTemplate
// -----------------------------------------------------------------
test('Test deployment for override ApiGateway deleteRequestTemplate', () => {
// Stack
const stack = new Stack();
// Helper declaration

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
deleteRequestTemplate: "Action=HelloWorld",
allowDeleteOperation: true
Expand All @@ -184,4 +153,22 @@ test('Test deployment for override ApiGateway deleteRequestTemplate', () => {
}
}
});
});

test('Test deployment with existing queue object', () => {
const stack = new Stack();

const existingQueueObj = new sqs.Queue(stack, 'existing-queue', {
fifo: true
});

new ApiGatewayToSqs(stack, 'api-gateway-sqs', {
existingQueueObj
});

expect(stack).toHaveResourceLike("AWS::SQS::Queue", {
FifoQueue: true
});

expect(stack).toCountResources("AWS::SQS::Queue", 1);
});
Loading

0 comments on commit 7a2599d

Please sign in to comment.