Skip to content

Commit a121f05

Browse files
author
Mike O'Brien
committed
Update to version v2.1.2
1 parent bf82291 commit a121f05

File tree

18 files changed

+186
-138
lines changed

18 files changed

+186
-138
lines changed

CHANGELOG.md

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
1-
# Change Log
2-
All notable changes to this project will be documented in this file.
3-
4-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1+
# Change Log
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [2.1.2] - 2021-05-31
9+
10+
### Added
11+
12+
- Added Point In Time recovery and Encryption support for DynamoDB Table
13+
- Added API Gateway usage plan
14+
- Added cfn_nag suppress rules for Lambda VPC deployment and Reserved Concurrency
15+
16+
### Fixed
17+
18+
- Removed unused dev dependency grunt
619

720
## [2.1.1] - 2019-12-20
8-
### Added
9-
- upgraded lambda runtime to nodejs 12.x
21+
22+
### Added
23+
24+
- upgraded lambda runtime to nodejs 12.x

NOTICE.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,5 @@ Underscore.js under the Massachusetts Institute of Technology (MIT) license
1717
Moment.js under the Massachusetts Institute of Technology (MIT) license
1818
shortid under the Massachusetts Institute of Technology (MIT) license
1919
randomstring under the Massachusetts Institute of Technology (MIT) license
20+
21+
The licenses for these third party components are included in LICENSE.txt

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ Each microservice follows the structure of:
5555

5656
***
5757

58-
Copyright 2017-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
58+
Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
5959

60-
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
60+
Licensed under the Amazon Software License (the "License"). You may not use this file except in compliance with the License. A copy of the License is located at
6161

62-
http://www.apache.org/licenses/LICENSE-2.0
62+
http://aws.amazon.com/asl/
6363

64-
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.
64+
or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and limitations under the License.

deployment/aws-connected-vehicle-solution.template

Lines changed: 128 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ Resources:
2626
MKT_TBL: !Ref AdTrackingTable
2727
NOTIFICATION_SERVICE: !Ref NotificationServiceFunction
2828
POI_TBL: !Ref MarketingPoiTable
29+
Metadata:
30+
cfn_nag:
31+
rules_to_suppress:
32+
- id: "W89"
33+
reason: "not a valid use case for VPC deployment"
34+
- id: "W92"
35+
reason: "not a valid reserved concurrency"
2936

3037
LocationBasedMarketingRule:
3138
Type: "AWS::IoT::TopicRule"
@@ -107,6 +114,10 @@ Resources:
107114
Type: "AWS::DynamoDB::Table"
108115
DeletionPolicy: "Delete"
109116
Properties:
117+
PointInTimeRecoverySpecification:
118+
PointInTimeRecoveryEnabled: true
119+
SSESpecification:
120+
SSEEnabled: true
110121
AttributeDefinitions:
111122
-
112123
AttributeName: "poi_id"
@@ -121,6 +132,10 @@ Resources:
121132
Type: "AWS::DynamoDB::Table"
122133
DeletionPolicy: "Delete"
123134
Properties:
135+
PointInTimeRecoverySpecification:
136+
PointInTimeRecoveryEnabled: true
137+
SSESpecification:
138+
SSEEnabled: true
124139
AttributeDefinitions:
125140
-
126141
AttributeName: "trip_id"
@@ -205,7 +220,11 @@ Resources:
205220
- ClientId: !Ref ConnectedVehicleClient
206221
ProviderName: !GetAtt ConnectedVehicleUserPool.ProviderName
207222
AllowUnauthenticatedIdentities: true
208-
223+
Metadata:
224+
cfn_nag:
225+
rules_to_suppress:
226+
- id: W57
227+
reason: "AllowUnauthenticatedIdentities set to true and proper restrictive IAM roles and permissions are established for unauthenticated users"
209228

210229
ConnectedVehicleIdentityPoolRoleAttachment:
211230
Type: "AWS::Cognito::IdentityPoolRoleAttachment"
@@ -1316,6 +1335,13 @@ Resources:
13161335
description: Unique user id for the vehicle owner
13171336
ApiLogs:
13181337
Type: "AWS::Logs::LogGroup"
1338+
Properties:
1339+
RetentionInDays: 7
1340+
Metadata:
1341+
cfn_nag:
1342+
rules_to_suppress:
1343+
- id: "W84"
1344+
reason: "using service dafault encryption https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/data-protection.html"
13191345

13201346
ApiGatewayAccountLogsRole:
13211347
Type: AWS::IAM::Role
@@ -1349,6 +1375,22 @@ Resources:
13491375
DestinationArn: !GetAtt ApiLogs.Arn
13501376
Format: $context.identity.sourceIp $context.identity.caller $context.identity.user [$context.requestTime] "$context.httpMethod $context.resourcePath $context.protocol" $context.status $context.responseLength $context.requestId
13511377

1378+
TelemetricsApiUsagePlan:
1379+
Type: 'AWS::ApiGateway::UsagePlan'
1380+
DependsOn: TelemetricsApiDeployment
1381+
Properties:
1382+
ApiStages:
1383+
- ApiId: !Ref TelemetricsApi
1384+
Stage: "prod"
1385+
Description: Connected Vehicle Telemetrics Api Usage Plan
1386+
Quota:
1387+
Limit: 5000
1388+
Period: MONTH
1389+
Throttle:
1390+
BurstLimit: 200
1391+
RateLimit: 100
1392+
UsagePlanName: TelemetricsApi-UsagePlan
1393+
13521394
TelemetricsRawStorageRule:
13531395
Type: "AWS::IoT::TopicRule"
13541396
Properties:
@@ -1557,7 +1599,15 @@ Resources:
15571599
Role: !GetAtt JitrServiceRole.Arn
15581600
Timeout: 300
15591601
MemorySize: 256
1560-
1602+
Metadata:
1603+
cfn_nag:
1604+
rules_to_suppress:
1605+
- id: "W89"
1606+
reason: "not a valid use case for VPC deployment"
1607+
- id: "W92"
1608+
reason: "not a valid reserved concurrency"
1609+
- id: "W58"
1610+
reason: "CloudWatch logs permission added with custom policy"
15611611
AnomalyServiceFunction:
15621612
Type: AWS::Lambda::Function
15631613
Properties:
@@ -1574,6 +1624,13 @@ Resources:
15741624
Variables:
15751625
VEHICLE_ANOMALY_TBL: !Ref VehicleAnomalyTable
15761626
NOTIFICATION_SERVICE: !Ref NotificationServiceFunction
1627+
Metadata:
1628+
cfn_nag:
1629+
rules_to_suppress:
1630+
- id: "W89"
1631+
reason: "not a valid use case for VPC deployment"
1632+
- id: "W92"
1633+
reason: "not a valid reserved concurrency"
15771634

15781635
AnomalyServiceEventSource:
15791636
DependsOn: AnomalyServiceFunction
@@ -1602,6 +1659,15 @@ Resources:
16021659
VEHICLE_DTC_TBL: !Ref VehicleDtcTable
16031660
DTC_TBL: !Ref DtcTable
16041661
NOTIFICATION_SERVICE: !Ref NotificationServiceFunction
1662+
Metadata:
1663+
cfn_nag:
1664+
rules_to_suppress:
1665+
- id: "W89"
1666+
reason: "not a valid use case for VPC deployment"
1667+
- id: "W92"
1668+
reason: "not a valid reserved concurrency"
1669+
- id: "W58"
1670+
reason: "CloudWatch logs permission added with custom policy"
16051671

16061672
NotificationServiceFunction:
16071673
Type: AWS::Lambda::Function
@@ -1619,6 +1685,15 @@ Resources:
16191685
Variables:
16201686
VEHICLE_OWNER_TBL: !Ref VehicleOwnerTable
16211687
USER_POOL_ID: !Ref ConnectedVehicleUserPool
1688+
Metadata:
1689+
cfn_nag:
1690+
rules_to_suppress:
1691+
- id: "W89"
1692+
reason: "not a valid use case for VPC deployment"
1693+
- id: "W92"
1694+
reason: "not a valid reserved concurrency"
1695+
- id: "W58"
1696+
reason: "CloudWatch logs permission added with custom policy"
16221697

16231698
DriverSafetyServiceFunction:
16241699
Type: AWS::Lambda::Function
@@ -1636,6 +1711,15 @@ Resources:
16361711
Variables:
16371712
VEHICLE_TRIP_TBL: !Ref VehicleTripTable
16381713
NOTIFICATION_SERVICE: !Ref NotificationServiceFunction
1714+
Metadata:
1715+
cfn_nag:
1716+
rules_to_suppress:
1717+
- id: "W89"
1718+
reason: "not a valid use case for VPC deployment"
1719+
- id: "W92"
1720+
reason: "not a valid reserved concurrency"
1721+
- id: "W58"
1722+
reason: "CloudWatch logs permission added with custom policy"
16391723

16401724
VehicleServiceFunction:
16411725
Type: AWS::Lambda::Function
@@ -1656,6 +1740,15 @@ Resources:
16561740
VEHICLE_DTC_TBL: !Ref VehicleDtcTable
16571741
HEALTH_REPORT_TBL: !Ref HealthReportTable
16581742
VEHICLE_ANOMALY_TBL: !Ref VehicleAnomalyTable
1743+
Metadata:
1744+
cfn_nag:
1745+
rules_to_suppress:
1746+
- id: "W89"
1747+
reason: "not a valid use case for VPC deployment"
1748+
- id: "W92"
1749+
reason: "not a valid reserved concurrency"
1750+
- id: "W58"
1751+
reason: "CloudWatch logs permission added with custom policy"
16591752

16601753
AnomalyStream:
16611754
Type: AWS::Kinesis::Stream
@@ -1675,6 +1768,8 @@ Resources:
16751768
Type: AWS::KinesisFirehose::DeliveryStream
16761769
Properties:
16771770
DeliveryStreamName: "connected-vehicle-telemetry"
1771+
DeliveryStreamEncryptionConfigurationInput:
1772+
KeyType: 'AWS_OWNED_CMK'
16781773
S3DestinationConfiguration:
16791774
BucketARN: !GetAtt TelemetricDataBucket.Arn
16801775
BufferingHints:
@@ -2225,6 +2320,10 @@ Resources:
22252320
Type: "AWS::DynamoDB::Table"
22262321
DeletionPolicy: "Delete"
22272322
Properties:
2323+
PointInTimeRecoverySpecification:
2324+
PointInTimeRecoveryEnabled: true
2325+
SSESpecification:
2326+
SSEEnabled: true
22282327
AttributeDefinitions:
22292328
-
22302329
AttributeName: "vin"
@@ -2245,6 +2344,10 @@ Resources:
22452344
Type: "AWS::DynamoDB::Table"
22462345
DeletionPolicy: "Delete"
22472346
Properties:
2347+
PointInTimeRecoverySpecification:
2348+
PointInTimeRecoveryEnabled: true
2349+
SSESpecification:
2350+
SSEEnabled: true
22482351
AttributeDefinitions:
22492352
-
22502353
AttributeName: "vin"
@@ -2265,6 +2368,10 @@ Resources:
22652368
Type: "AWS::DynamoDB::Table"
22662369
DeletionPolicy: "Delete"
22672370
Properties:
2371+
PointInTimeRecoverySpecification:
2372+
PointInTimeRecoveryEnabled: true
2373+
SSESpecification:
2374+
SSEEnabled: true
22682375
AttributeDefinitions:
22692376
-
22702377
AttributeName: "vin"
@@ -2285,6 +2392,10 @@ Resources:
22852392
Type: "AWS::DynamoDB::Table"
22862393
DeletionPolicy: "Delete"
22872394
Properties:
2395+
PointInTimeRecoverySpecification:
2396+
PointInTimeRecoveryEnabled: true
2397+
SSESpecification:
2398+
SSEEnabled: true
22882399
AttributeDefinitions:
22892400
-
22902401
AttributeName: "vin"
@@ -2318,6 +2429,10 @@ Resources:
23182429
Type: "AWS::DynamoDB::Table"
23192430
DeletionPolicy: "Delete"
23202431
Properties:
2432+
PointInTimeRecoverySpecification:
2433+
PointInTimeRecoveryEnabled: true
2434+
SSESpecification:
2435+
SSEEnabled: true
23212436
AttributeDefinitions:
23222437
-
23232438
AttributeName: "owner_id"
@@ -2346,6 +2461,10 @@ Resources:
23462461
Type: "AWS::DynamoDB::Table"
23472462
DeletionPolicy: "Delete"
23482463
Properties:
2464+
PointInTimeRecoverySpecification:
2465+
PointInTimeRecoveryEnabled: true
2466+
SSESpecification:
2467+
SSEEnabled: true
23492468
AttributeDefinitions:
23502469
-
23512470
AttributeName: "dtc"
@@ -2470,7 +2589,13 @@ Resources:
24702589
- "Arn"
24712590
Runtime: "nodejs12.x"
24722591
Timeout: "300"
2473-
2592+
Metadata:
2593+
cfn_nag:
2594+
rules_to_suppress:
2595+
- id: "W89"
2596+
reason: "not a valid use case for VPC deployment"
2597+
- id: "W92"
2598+
reason: "not a valid reserved concurrency"
24742599

24752600
Outputs:
24762601
DtcTable:

source/data-loaders/dtc-generator/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "connected-car-sim-engine",
33
"description": "The simulation engine for the connected car solutions",
44
"main": "index.js",
5-
"license": "Apache 2.0",
5+
"license": "ASL",
66
"version": "0.0.1",
77
"private": "true",
88
"dependencies": {

source/resources/helper/package.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515
"fast-csv": "*"
1616
},
1717
"devDependencies": {
18-
"grunt": "^0.4.5",
19-
"grunt-aws-lambda": "^0.13.0",
20-
"grunt-pack": "0.1.*",
21-
"grunt-contrib-clean": "*",
2218
"chai": "*",
2319
"sinon": "*",
2420
"sinon-chai": "*",

source/services/anomaly/lib/test-setup.spec.js

Lines changed: 0 additions & 15 deletions
This file was deleted.

source/services/anomaly/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@
1010
"dependencies": {
1111
"aws-sdk": "*",
1212
"moment": "*",
13+
"randomstring": "*",
1314
"shortid": "*",
14-
"underscore": "*",
15-
"randomstring": "*"
15+
"underscore": "*"
1616
},
1717
"devDependencies": {
18+
"aws-sdk-mock": "*",
1819
"chai": "*",
19-
"sinon": "*",
20-
"sinon-chai": "*",
2120
"mocha": "*",
22-
"aws-sdk-mock": "*",
2321
"npm-run-all": "*",
24-
"proxyquire": "*"
22+
"proxyquire": "*",
23+
"sinon": "*",
24+
"sinon-chai": "*"
2525
},
2626
"scripts": {
2727
"pretest": "npm install",

0 commit comments

Comments
 (0)