diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c032fc4..70423e63 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [1.0.1] - 2023-11-15
+
+### Fixed
+
+- Updated various README URLs to the correct values
+- Resolved an issue where the Aurora PostgresSQL cluster's version defaulted to 11 instead of 13 in some regions
+- Pinned Node and Python versions in Proton manifest.yml for every module
+
## [1.0.0] - 2023-09-05
### Added
diff --git a/README.md b/README.md
index dd0dd495..c023c11e 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,10 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://solution-page.com).
+**Note**: If you want to use the solution without building from source,
+navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
- **If you want to jump straight into building and deploying, [click here](##Deployment-Setup/Pre-requisites)**
+**If you want to jump straight into building and deploying, [click here](#deployment-prerequisites)**
## Table of Contents
- [Connected Mobility Solution on AWS](#connected-mobility-solution-on-aws)
@@ -31,7 +32,8 @@
- [Pipenv](#pipenv)
- [AWS CLI](#aws-cli)
- [AWS CDK Toolkit](#aws-cdk-toolkit)
- - [Solution Dependency Installation](#solution-dependency-installation)
+ - [Verify Required Tool Installations](#verify-required-tool-installations)
+ - [Install Solution Dependencies](#install-solution-dependencies)
- [Create a Route53 Hosted Zone](#create-a-route53-hosted-zone)
- [Setup environment variables](#setup-environment-variables)
- [Create a *.env* file (preferred method)](#create-a-env-file-preferred-method)
@@ -40,9 +42,9 @@
- [Deploy](#deploy)
- [Deployment Pre-Requisites](#deployment-pre-requisites)
- [Run CDK Bootstrap](#run-cdk-bootstrap)
- - [Upload S3 Deployment Assets (Backstage `template.yaml`s and AWS Proton service template `.tar`s)](#upload-s3-deployment-assets-backstage-templateyamls-and-aws-proton-service-template-tars)
+ - [Upload S3 Deployment Assets](#upload-s3-deployment-assets)
- [Deploy the Automotive Cloud Developer Portal (ACDP)](#deploy-the-automotive-cloud-developer-portal-acdp)
- - [Monitoring the Automotive Cloud Developer Portal Deployment](#monitoring-the-automotive-cloud-developer-portal-deployment)
+ - [Monitoring the ACDP Deployment](#monitoring-the-acdp-deployment)
- [Bootstrap Proton](#bootstrap-proton)
- [Deploy CMS Modules via Backstage](#deploy-cms-modules-via-backstage)
- [CMS Module Deployment Order](#cms-module-deployment-order)
@@ -129,14 +131,14 @@ To deploy CMS on AWS, a variety of tools are required. These deploy instructions
- [Pyenv](https://github.com/pyenv/pyenv)
- [Python](https://www.python.org/)
- [Pip](https://pypi.org/project/pip/)
-- [Pipenv](https://pipenv.pypa.io/en/latest/installation/)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
- [AWS CLI](https://docs.aws.amazon.com/cli/)
- [AWS CDK Toolkit](https://docs.aws.amazon.com/cdk/v2/guide/cli.html)
### Required Tool Versions
-Certain tools also require specific versions. See the table below for the appropriate versions. Following the provided install instructions
-will install the correct verions.
+Certain tools also require specific versions. See the table below for the appropriate versions. Following the
+provided install instructions will install the correct versions.
For tools not listed here, stable versions should work appropriately.
@@ -148,6 +150,9 @@ For tools not listed here, stable versions should work appropriately.
### Clone the Repository
+If you have not done so, first clone the repository, and then `cd` into the created directory. If you have
+already cloned the repository, ensure you still `cd` into the solution's directory.
+
```bash
git clone https://github.com/aws-solutions/connected-mobility-solution-on-aws.git
cd connected-mobility-solution-on-aws
@@ -164,7 +169,8 @@ Otherwise, please visit the installation guide provided by the tool's publisher
#### NVM
-Follow the [nvm installation guide](https://github.com/nvm-sh/nvm#installing-and-updating) to install NVM. Ensure your installation properly set your path by running the script below.
+Follow the [nvm installation guide](https://github.com/nvm-sh/nvm#installing-and-updating) to install NVM.
+Ensure your installation properly set your path by running the script below.
```bash
nvm --version
@@ -178,12 +184,13 @@ nvm install
nvm use
```
-For more information see the [nvm usage guide](https://github.com/nvm-sh/nvm#usage) for installing the correct version of Node.
-Manually installing Node without the use of nvm is not recommended.
+For more information see the [nvm usage guide](https://github.com/nvm-sh/nvm#usage) for installing the correct
+version of Node. Manually installing Node without the use of nvm is not recommended.
#### Yarn
-Follow the [yarn installation guide](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable). Ensure your installation properly set your path by running the script below.
+Follow the [yarn installation guide](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable). Ensure your
+installation properly set your path by running the script below.
```bash
yarn --version
@@ -192,8 +199,9 @@ yarn --version
#### Pyenv
-Follow the [pyenv installation guide](https://github.com/pyenv/pyenv#automatic-installer) to install Pyenv. You will likely need to manually add Pyenv to your PATH by following the
-provided instructions. Ensure your installation properly set your path by running the script below.
+Follow the [pyenv installation guide](https://github.com/pyenv/pyenv#automatic-installer) to install Pyenv.
+You will likely need to manually add Pyenv to your PATH by following the provided instructions. Ensure your
+installation properly set your path by running the script below.
```bash
pyenv --version
@@ -206,13 +214,14 @@ pyenv --version
pyenv install -s
```
-For more information see the [pyenv usage guide](https://github.com/pyenv/pyenv#usage) for installing the correct version of Python.
-Manually installing Python without the use of pyenv is not recommended.
+For more information see the [pyenv usage guide](https://github.com/pyenv/pyenv#usage) for installing the
+correct version of Python. Manually installing Python without the use of pyenv is not recommended.
#### Pipenv
-Follow the [pipenv installation guide](https://pipenv.pypa.io/en/latest/installation/) to install Pipenv. You will likely need to manually add Pipenv to your PATH by following the
-provided instructions. Ensure your installation properly set your PATH by running the script below.
+Follow the [pipenv installation guide](https://pipenv.pypa.io/en/latest/installation.html) to install Pipenv.
+You will likely need to manually add Pipenv to your PATH by following the provided instructions. Ensure your
+installation properly set your PATH by running the script below.
```bash
pipenv --version
@@ -221,9 +230,11 @@ pipenv --version
#### AWS CLI
-Follow the installation instructions laid out in the [AWS CLI install page](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
-This install is OS specific, and includes multiple options for both a system wide, and user specific install. Follow the install instructions most appropriate to you.
-Ensure your installation properly set your PATH by running the script below.
+Follow the installation instructions laid out in the
+[AWS CLI install page](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+This install is OS specific, and includes multiple options for both a system wide, and user specific
+install. Follow the install instructions most appropriate to you. Ensure your installation properly
+set your PATH by running the script below.
```bash
aws --version
@@ -232,15 +243,24 @@ aws --version
#### AWS CDK Toolkit
-Follow the [installation guide](https://docs.aws.amazon.com/cdk/v2/guide/cli.html) to install the AWS CDK toolkit. Ensure your installation properly set your PATH
-by running the script below.
+Follow the [installation guide](https://docs.aws.amazon.com/cdk/v2/guide/cli.html) to install the
+AWS CDK toolkit. Ensure your installation properly set your PATH by running the script below.
```bash
cdk --version
# Expected Output: x.xxx.x (build ...)
```
-### Solution Dependency Installation
+#### Verify Required Tool Installations
+
+Run the following command to verify the proper installation of all of the tools listed above. If
+any errors are displayed, attempt to reinstall that tool.
+
+```bash
+make verify-required-tools
+```
+
+### Install Solution Dependencies
Now that you have the correct tools, you can install the dependencies used by the solution using `make install`.
After installing, we will activate the environment which contains the dependencies.
@@ -254,14 +274,16 @@ source ./.venv/bin/activate
To deploy the solution, a Route53 Hosted Zone is required to be setup in your account.
You will provide the domain for this hosted zone in the following step when you setup your environment variables.
-This is a manual step. For more details, see [Working with hosted zones](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-working-with.html).
+This is a manual step. For more details, see
+[Working with hosted zones](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-working-with.html).
### Setup environment variables
To deploy the solution, a variety of environment variables are required. These environment variables will be used to
provide the context to your CDK deployment.
-- `ROUTE53_BASE_DOMAIN` is optional, if unset the base domain will be assumed to be the same as the `ROUTE53_ZONE_NAME` variable. This must be set to a superset of the `ROUTE53_ZONE_NAME` (e.g. *Optional-Sub-Domain.`ROUTE53_ZONE_NAME`*).
+- `ROUTE53_BASE_DOMAIN` is optional, if unset the base domain will be assumed to be the same as the `ROUTE53_ZONE_NAME`
+variable. This must be set to a superset of the `ROUTE53_ZONE_NAME` (e.g. *Optional-Sub-Domain.`ROUTE53_ZONE_NAME`*).
- The Route53 Zone Name can be found from the Route53 Hosted Zone you setup in the previous step. Use the AWS console to find this domain.
- `BACKSTAGE_TEMPLATE_S3_UPDATE_REFRESH_MINS` should be set to something small such as `1 minute` for development.
It is recommended to have longer refresh intervals for cost savings in production environments.
@@ -307,8 +329,9 @@ make check-cdk-env
make cdk-context
```
-This will display your current CDK context which will be used for your deployment. Ensure the environment variables look correct
-and that all the expected values are displayed. If not, please retry setting your environment variables.
+This will first verify you have the required tools and environment variables setup. It will then display your
+current CDK context which will be used for your deployment. Ensure the values look as expected, and if not,
+alter your .env file or environment variables appropriately.
## Deploy
@@ -316,11 +339,12 @@ Refer to the [deployment diagram](#architecture-diagrams) for a detailed walk-th
### Deployment Pre-Requisites
-Ensure you've followed the steps in the [deployment-setup/pre-requisites](##Deployment-Setup/Pre-requisites) section.
-- Pre-requisite tools installed. Refer to the [Prerequisites](###Install-Pre-requisite-Tools-(OSX/Linux)) section for details.
-- Solution dependencies installed. Refer to the [Solution Dependency Installation](###Solution-Dependency-Installation) sections for details.
-- A Route53 Hosted Zone in the deployment account. Refer to the [Create a Route53 Hosted Zone](###Create-a-Route53-Hosted-Zone) section for details.
-- Environment variables set. Refer to the [Setup environment variables](###Setup-environment-variables) section for details.
+Ensure you've followed the steps in the previous [deployment prerequisites](##deployment-prerequisites) section.
+- Prerequisite tools installed. Refer to the [install required tools](#install-required-tools-osxlinux)) section for details.
+- Solution dependencies installed. Refer to the [install solution dependencies](#install-solution-dependencies) sections for details.
+- A Route53 Hosted Zone in the deployment account. Refer to the
+[create an Amazon Route 53 Hosted Zone](#create-an-amazon-route-53-hosted-zone) section for details.
+- Environment variables set. Refer to the [setup environment variables](#setup-environment-variables) section for details.
### Run CDK Bootstrap
@@ -331,7 +355,9 @@ Run the following make command to perform this bootstrap.
make bootstrap
```
-### Upload S3 Deployment Assets (Backstage `template.yaml`s and AWS Proton service template `.tar`s)
+### Upload S3 Deployment Assets
+- Backstage `template.yaml` files
+- AWS Proton Service Template `.tar` files
The following command will upload the necessary assets to S3 which allow for the deployment of CMS modules via Backstage.
This includes the `template.yaml` files used to instruct Backstage, as well as the `.tar` files for each module which provide
@@ -349,7 +375,7 @@ Running this deployment will first deploy the ACDP, followed by the execution of
make deploy
```
-### Monitoring the Automotive Cloud Developer Portal Deployment
+### Monitoring the ACDP Deployment
After the CDK deployment is completed, browse to [CodePipeline](https://console.aws.amazon.com/codesuite/codepipeline/pipelines)
in the AWS console and verify that the "Backstage-Pipeline" execution completes successfully.
@@ -358,16 +384,20 @@ in the AWS console and verify that the "Backstage-Pipeline" execution completes
After the pipeline has completed, the deployment can be considered successfully complete and Backstage is ready for use.
-> **NOTE:** It can take up to **10 minutes** after the Backstage pipeline completes for Amazon Cognito's auth domain to become available for use with Backstage. If your Backstage domain will not load, please wait and try again.
+> **NOTE:** It can take up to **10 minutes** after the Backstage pipeline completes for Amazon Cognito's auth domain to become
+> available for use with Backstage. If your Backstage domain will not load, please wait and try again.
### Bootstrap Proton
-> **NOTE:** The S3 location where deployment assets were uploaded to is in your AWS account, and should have a name of the format `-cms-resources-`
+> **NOTE:** The S3 location where deployment assets were uploaded to is in your AWS account, and should have a
+> name of the format `-cms-resources-`
-1. Sign in the [AWS Management Console](https://aws.amazon.com/console/), select your Region, and navigate to the [AWS Proton Service Templates](https://console.aws.amazon.com/proton/home/templates/services) page.
+1. Sign in the [AWS Management Console](https://aws.amazon.com/console/), select your Region, and navigate to the
+[AWS Proton Service Templates](https://console.aws.amazon.com/proton/home/#/templates/services) page.
2. Select `Create service template` for each module template you wish to register.
![Proton Create Service Template](documentation/images/readme/proton-create-service-template.png)
-3. Fill in the required fields (The following instructions detail how to register the CMS Vehicle Simulator Module template. The same steps can be applied to other modules as well by selecting the proper s3 path)
+3. Fill in the required fields (The following instructions detail how to register the CMS Vehicle Simulator Module
+template. The same steps can be applied to other modules as well by selecting the proper s3 path)
1. Select the `Use your own template bundle in S3 Option`
![Proton S3 bundle option](documentation/images/readme/proton-s3-bundle.png)
@@ -376,7 +406,8 @@ After the pipeline has completed, the deployment can be considered successfully
![Proton Browse S3](documentation/images/readme/proton-browse-s3.png)
![Proton Choose Bucket](documentation/images/readme/proton-choose-bucket.png)
- 3. Locate the latest tar for the vehicle_simulator module template (the Amazon S3 path should be of the format `..//modules//proton/`) Press the `Choose` button
+ 3. Locate the latest tar for the vehicle_simulator module template (the Amazon S3 path should be of the
+ format `..//modules//proton/`) Press the `Choose` button
![Proton Choose Template Object](documentation/images/readme/proton-choose-template-tar.png)
4. In the repository, locate the [Vehicle Simulator Proton Template YAML](templates/modules/cms_vehicle_simulator_on_aws/template.yaml) and find the template name under the `metadataName` property. This will be under the `aws:proton:create-service` action. Use it to populate the `Service template name`
![Proton Find Template Name](documentation/images/readme/proton-module-template-name.png)
@@ -384,7 +415,8 @@ After the pipeline has completed, the deployment can be considered successfully
5. Set the `Compatible environment templates` to `cms_environment`
![Proton Template Compatible Env Setting](documentation/images/readme/proton-template-compatible-env-setting.png)
6. Leave the remaining settings as default and click `Create Service Template`.
- 7. After you receive a message stating `Successfully created service template cms_vehicle_simulator_on_aws.`, then select template version `1.0` and click `Publish` to make it available for use by Backstage
+ 7. After you receive a message stating `Successfully created service template cms_vehicle_simulator_on_aws.`, then select
+ template version `1.0` and click `Publish` to make it available for use by Backstage
![Proton Publish Template Version](documentation/images/readme/proton-publish-template-version.png)
### Deploy CMS Modules via Backstage
@@ -550,7 +582,7 @@ The following commands assume the stage is `dev`, for other stages, replace `dev
Navigate to CloudFormation and delete the `cms-environment` and `cms-dev` stacks.
> **WARNING:** This is your last opportunity to capture the deployment UUID. Please make sure you have captured
- it using the make command specified in step 1 of the [Teardown](##Teardown) section.
+ it using the make command specified in step 1 of the [Teardown](#teardown) section.
![Delete CMS Dev Stack](documentation/images/readme/cfn-delete-cms-dev-stack.png)
@@ -574,7 +606,8 @@ The following commands assume the stage is `dev`, for other stages, replace `dev
--query "ResourceTagMappingList[*].ResourceARN"
```
- This query results in a list of ARNs to assist you with locating the resources in the AWS Console. Resources can then be manually deleted, or deleted via a script, utilizing the resource ARNs where appropriate.
+ This query results in a list of ARNs to assist you with locating the resources in the AWS Console. Resources can then be
+ manually deleted, or deleted via a script, utilizing the resource ARNs where appropriate.
> **WARNING:** Some resources may take some time to cleanup after CloudFormation finishes tearing down, and could show in the
output even if they no longer exist. For example, Amazon VPC, Fargate, and Amazon ECS resources can remain queryable for up to
@@ -626,7 +659,7 @@ POWERTOOLS_LOGGER_LOG_EVENT="true"
```
For other logging options and methods for enabling event logging,
-see the [AWS Lambda Powertools documentation](https://pypi.org/project/aws-lambda-powertools/0.9.3/).
+see the [AWS Lambda Powertools documentation](https://docs.powertools.aws.dev/lambda/python/latest/core/logger/).
#### Backstage logs
By default, the solution's deployment instructions deploy the ACDP and Backstage with a log level of "INFO".
@@ -661,9 +694,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/setup.py b/setup.py
index 1d59811d..ed94ce39 100644
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@
setuptools.setup(
name="connected-mobility-solution-on-aws",
- version="1.0.0",
+ version="1.0.1",
description="The administrative module to deploy all CMS modules and assets",
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",
diff --git a/source/backstage/README.md b/source/backstage/README.md
index 5c10094e..c215cff3 100644
--- a/source/backstage/README.md
+++ b/source/backstage/README.md
@@ -2,18 +2,19 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the
+[AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Backstage Module](#connected-mobility-solution-on-aws---backstage-module)
- [Table of Contents](#table-of-contents)
- [Solution Overview](#solution-overview)
+ - [Architecture Diagram](#architecture-diagram)
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- - [MacOS Installation Instructions](#macos-installation-instructions)
+ - [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
- [Build](#build)
@@ -33,7 +34,11 @@ and functional interface to manage and deploy software. CMS modules are configur
deeper features into the Backstage design.
For more information and a detailed deployment guide, visit the
-[CMS Backstage Module](https://aws.amazon.com/solutions/implementations/cms-backstage/) solution page.
+[CMS Backstage Module](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/backstage-module.html) solution page.
+
+## Architecture Diagram
+
+![CMS Backstage Architecture Diagram](./documentation/architecture/cms-backstage-architecture-diagram.svg)
## AWS CDK and Solutions Constructs
@@ -52,11 +57,12 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
- [NVM](https://github.com/nvm-sh/nvm)
- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
-- [Pipenv](https://pipenv.pypa.io/en/latest/installation/)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
-#### Optional but Helpful
+Required For Local Development Only:
-- Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+- [Docker](https://www.docker.com/products/docker-desktop/)
+- [Docker Compose v1](https://docs.docker.com/compose/install/) (v2 is included with Docker)
#### MacOS Installation Instructions
@@ -148,9 +154,10 @@ Basic usage should stay within the free tier.
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-backstage/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -158,9 +165,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/source/backstage/cdk/source/infrastructure/stacks/env.py b/source/backstage/cdk/source/infrastructure/stacks/env.py
index dffcbb2d..9d1be499 100644
--- a/source/backstage/cdk/source/infrastructure/stacks/env.py
+++ b/source/backstage/cdk/source/infrastructure/stacks/env.py
@@ -67,7 +67,9 @@ def __init__(self, scope: Any, stack_id: str) -> None:
self.database = aws_rds.ServerlessCluster(
self,
"backstage-aurora-postgres",
- engine=aws_rds.DatabaseClusterEngine.AURORA_POSTGRESQL,
+ engine=aws_rds.DatabaseClusterEngine.aurora_postgres(
+ version=aws_rds.AuroraPostgresEngineVersion.VER_13_9
+ ),
parameter_group=self.parameter_group,
credentials=pg_admin,
vpc=vpc,
diff --git a/source/infrastructure/stacks/__init__.py b/source/infrastructure/stacks/__init__.py
index 2b092453..dc45c6db 100644
--- a/source/infrastructure/stacks/__init__.py
+++ b/source/infrastructure/stacks/__init__.py
@@ -20,7 +20,7 @@ class CmsConstantsClass:
MODULE_NAME: str = f"Connected-mobility-solution-on-aws-{STAGE}"
SOLUTION_NAME: str = "Connected Mobility Solution on AWS"
SOLUTION_ID: str = "SO0241"
- SOLUTION_VERSION: str = "v1.0.0"
+ SOLUTION_VERSION: str = "v1.0.1"
APPLICATION_TYPE: str = "AWS-Solutions"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION}"
diff --git a/templates/environments/cms_environment/v1/infrastructure/README.md b/templates/environments/cms_environment/v1/infrastructure/README.md
index 9186a81a..89be00db 100644
--- a/templates/environments/cms_environment/v1/infrastructure/README.md
+++ b/templates/environments/cms_environment/v1/infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Environment](#connected-mobility-solution-on-aws---environment)
@@ -24,9 +24,10 @@ List of functionality
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-environmentr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -34,9 +35,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/environments/cms_environment/v1/infrastructure/source/config/constants.py b/templates/environments/cms_environment/v1/infrastructure/source/config/constants.py
index e35d9f95..92b1d728 100644
--- a/templates/environments/cms_environment/v1/infrastructure/source/config/constants.py
+++ b/templates/environments/cms_environment/v1/infrastructure/source/config/constants.py
@@ -15,7 +15,7 @@ class EnvironmentConstantsClass:
MODULE_NAME: str = "cms-environment-on-aws"
SOLUTION_NAME: str = "Connected Mobility Solution on AWS"
SOLUTION_ID: str = "SO0241"
- SOLUTION_VERSION: str = "v1.0.0"
+ SOLUTION_VERSION: str = "v1.0.1"
APPLICATION_TYPE: str = "AWS-Solutions"
CAPABILITY_ID = "CMS.6"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/README.md b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/README.md
index d0b54070..eba9d211 100644
--- a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/README.md
+++ b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Alerts Module](#connected-mobility-solution-on-aws---alerts-module)
@@ -12,7 +12,6 @@
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -42,15 +41,13 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
## Prerequisites
-- Python 3.8+
-- NVM
-- NPM 8+
-- Node 18+
-- Pipenv
+- [Python 3.8+](https://www.python.org/downloads/)
+- [NVM](https://github.com/nvm-sh/nvm)
+- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
-#### Optional but Helpful
-
-- Pyenv
+#### MacOS Installation Instructions
Pyenv [Github Repository](https://github.com/pyenv/pyenv)
@@ -59,13 +56,6 @@ brew install pyenv
pyenv install 3.10.9
```
-#### MacOS Installation Instructions
-
-```bash
-brew install pyenv
-pyenv install 3.10.9
-```
-
Pipenv [Github Repository](https://github.com/pypa/pipenv)
```bash
@@ -154,9 +144,10 @@ Basic usage should stay within the free tier.
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-provisioningr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -164,9 +155,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/manifest.yaml b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/manifest.yaml
index 37012f71..8742d7e3 100644
--- a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/manifest.yaml
+++ b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/manifest.yaml
@@ -5,13 +5,15 @@ infrastructure:
- rendering_engine: codebuild
settings:
image: aws/codebuild/amazonlinux2-x86_64-standard:5.0
- runtimes:
- nodejs: 18
provision:
# Run when create/update is triggered for environment or service
# Install dependencies
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk deploy --require-approval never
# Script to convert CFN outputs into outputs for Proton
@@ -24,6 +26,10 @@ infrastructure:
# add the following to the above command if there are outputs: --outputs file://./outputs.json
deprovision:
# Install dependencies and destroy resources
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk destroy --force
diff --git a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/config/constants.py b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/config/constants.py
index 0f83f220..ff9763ae 100644
--- a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/config/constants.py
+++ b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/config/constants.py
@@ -15,7 +15,7 @@ class AlertsConstantsClass:
MODULE_NAME: str = "cms-alerts-on-aws"
SOLUTION_NAME: str = "Connected Mobility Solution on AWS"
SOLUTION_ID: str = "SO0241"
- SOLUTION_VERSION: str = "v1.0.0"
+ SOLUTION_VERSION: str = "v1.0.1"
APPLICATION_TYPE: str = "AWS-Solutions"
CAPABILITY_ID = "CMS.10"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_alerts_on_aws_snapshot.json b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_alerts_on_aws_snapshot.json
index b3cef415..e50a0467 100644
--- a/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_alerts_on_aws_snapshot.json
+++ b/templates/modules/cms_alerts_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_alerts_on_aws_snapshot.json
@@ -147,7 +147,7 @@
"TOKEN_VALIDATION_LAMBDA_ARN": {
"Ref": "cmsalertsmoduleinputsconstructssmtokenvalidationlambdaarnParameter1CA960BF"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.1"
}
},
"FunctionName": "cms-alerts-on-aws-stack-dev-authorization-lambda",
@@ -373,7 +373,7 @@
"ApplicationType": "AWS-Solutions",
"SolutionID": "SO0241",
"SolutionName": "Connected Mobility Solution on AWS",
- "Version": "v1.0.0"
+ "Version": "v1.0.1"
},
"Description": "Attribute group for solution information",
"Name": {
@@ -944,7 +944,7 @@
"Ref": "cmsalertsnotificationconstructnotificationstable6C23B163"
},
"SNS_TOPIC_PREFIX": "CMS",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.1"
}
},
"FunctionName": "cms-alerts-on-aws-stack-dev-create-alerts-lambda",
@@ -1559,7 +1559,7 @@
"DEPLOYMENT_UUID": {
"Ref": "deploymentuuidParameter"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.1"
}
},
"FunctionName": "cms-alerts-on-aws-stack-dev-send-notifications-lambda",
@@ -1818,7 +1818,7 @@
"ALERTS_SNS_TOPIC_ARN": {
"Ref": "cmsalertssnstosqsconstructsnstopic5DB29F7E"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.1"
}
},
"FunctionName": "cms-alerts-on-aws-stack-dev-publish-lambda",
@@ -2411,7 +2411,7 @@
"Ref": "cmsalertsusersubscriptionsconstructusersubscriptiontopicgeneralkeyD95E7C20"
},
"SNS_TOPIC_PREFIX": "CMS",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.0",
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.10/v1.0.1",
"USER_EMAIL_SUBSCRIPTIONS_TABLE": {
"Ref": "cmsalertsusersubscriptionsconstructuseremailsubscriptionstableA74BB966"
}
diff --git a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/README.md b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/README.md
index b498d01e..b3ac438d 100644
--- a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/README.md
+++ b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - API Module](#connected-mobility-solution-on-aws---api-module)
@@ -12,7 +12,6 @@
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -53,15 +52,13 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
## Prerequisites
-- Python 3.8+
-- NVM
-- NPM 8+
-- Node 18+
-- Pipenv
+- [Python 3.8+](https://www.python.org/downloads/)
+- [NVM](https://github.com/nvm-sh/nvm)
+- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
-#### Optional but Helpful
-
-- Pyenv
+#### MacOS Installation Instructions
Pyenv [Github Repository](https://github.com/pyenv/pyenv)
@@ -70,8 +67,6 @@ brew install pyenv
pyenv install 3.10.9
```
-#### MacOS Installation Instructions
-
```bash
brew install pyenv
pyenv install 3.10.9
@@ -155,22 +150,32 @@ cdk deploy
## Usage
### GraphQL
-The CMS API module implements a GraphQL API for serving vehicle data. You can learn more about GraphQL and how to use it [here](https://graphql.org/learn/).
+The CMS API module implements a GraphQL API for serving vehicle data. You can learn more about GraphQL and how to
+use it [here](https://graphql.org/learn/).
### Authorization
-Users of the API will need to provide a valid bearer token in the Authorization header of each request. This should be an access token obtained from the token endpoint of the configured Identity Provider.
+Users of the API will need to provide a valid bearer token in the Authorization header of each request. This should
+be an access token obtained from the token endpoint of the configured Identity Provider.
### Adding GraphQL Operations
-The graphql file containing the available operations is located at `./source/infrastructure/assets/graphql/schemas/vss_operations.graphql`. At synthesis time this file and all others located in this directory are bundled into a single graphql schema file named `vss_schema.graphql`.
+The graphql file containing the available operations is located at `./source/infrastructure/assets/graphql/schemas/vss_operations.graphql`.
+At synthesis time this file and all others located in this directory are bundled into a single graphql schema file named `vss_schema.graphql`.
-To add additional operations the `vss_operations.graphql` file should be updated with the new query or mutation type. Also, changes should be made to the Athena data source lambda to build and execute the correct Athena query for that operation.
+To add additional operations the `vss_operations.graphql` file should be updated with the new query or mutation type.
+Also, changes should be made to the Athena data source lambda to build and execute the correct Athena query for that operation.
### Generate GraphQL Schema
-The data models used by CMS are generated by scripts offered by the [vss-tools](https://github.com/COVESA/vss-tools/blob/e95d3f24b0cb161873dd53b39fe8ecbecfe8706c/docs/VSS2GRAPHQL.md) repository. Assets for the default data models are already configured for the solution, however, a user may want to use a different version of the VSS specification or fork the repository and customize the specification to fit their needs. This can be done using the `generate_models.py` script provided:
+The data models used by CMS are generated by scripts offered by the
+[vss-tools](https://github.com/COVESA/vss-tools/blob/e95d3f24b0cb161873dd53b39fe8ecbecfe8706c/docs/VSS2GRAPHQL.md)
+repository. Assets for the default data models are already configured for the solution, however, a user may want to
+ use a different version of the VSS specification or fork the repository and customize the specification to fit their
+ needs. This can be done using the `generate_models.py` script provided:
```bash
python ./Connected-mobility-solution-on-aws/deployment/generate_models.py
```
-After generating new models, the files must be moved to the appropriate location within the repository and replace the existing models. In CMS API `./source/infrastructure/assets/graphql/schemas/vss_types.graphql` must be updated with the newly generated file.
+After generating new models, the files must be moved to the appropriate location within the repository and replace
+the existing models. In CMS API `./source/infrastructure/assets/graphql/schemas/vss_types.graphql` must be updated
+with the newly generated file.
### Generate Postman Collection
@@ -182,22 +187,25 @@ npm install
node index.js --stack-name --region
```
-A file named `cms_graphql_api_postman_collection.json` will be generated that can be [imported into Postman](https://learning.postman.com/docs/getting-started/importing-and-exporting/importing-data/).
+A file named `cms_graphql_api_postman_collection.json` will be generated that can be
+[imported into Postman](https://learning.postman.com/docs/getting-started/importing-and-exporting/importing-data/).
## Cost Scaling
-Cost will scale on the size of the data the Athena query scans and longer scan times incurring greater lambda costs. At rest, the API's cost should be minimal.
+Cost will scale on the size of the data the Athena query scans and longer scan times incurring greater lambda costs.
+At rest, the API's cost should be minimal.
-[Athena Cost](https://aws.amazon.com/athena/pricing/)
-[AppSync Cost](https://aws.amazon.com/appsync/pricing/)
+- [Athena Cost](https://aws.amazon.com/athena/pricing/)
+- [AppSync Cost](https://aws.amazon.com/appsync/pricing/)
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-provisioningr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -205,9 +213,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/manifest.yaml b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/manifest.yaml
index 37012f71..8742d7e3 100644
--- a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/manifest.yaml
+++ b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/manifest.yaml
@@ -5,13 +5,15 @@ infrastructure:
- rendering_engine: codebuild
settings:
image: aws/codebuild/amazonlinux2-x86_64-standard:5.0
- runtimes:
- nodejs: 18
provision:
# Run when create/update is triggered for environment or service
# Install dependencies
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk deploy --require-approval never
# Script to convert CFN outputs into outputs for Proton
@@ -24,6 +26,10 @@ infrastructure:
# add the following to the above command if there are outputs: --outputs file://./outputs.json
deprovision:
# Install dependencies and destroy resources
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk destroy --force
diff --git a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/config/constants.py b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/config/constants.py
index 088285e5..b34a152b 100644
--- a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/config/constants.py
+++ b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/config/constants.py
@@ -15,7 +15,7 @@ class APIConstantsClass:
MODULE_NAME: str = "cms-api-on-aws"
SOLUTION_NAME: str = "Connected Mobility Solution on AWS"
SOLUTION_ID: str = "SO0241"
- SOLUTION_VERSION: str = "v1.0.0"
+ SOLUTION_VERSION: str = "v1.0.1"
APPLICATION_TYPE: str = "AWS-Solutions"
CAPABILITY_ID = "CMS.12"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/infrastructure/assets/graphql/schemas/vss_schema.graphql b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/infrastructure/assets/graphql/schemas/vss_schema.graphql
index 57abf826..25b6f5c1 100644
--- a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/infrastructure/assets/graphql/schemas/vss_schema.graphql
+++ b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/infrastructure/assets/graphql/schemas/vss_schema.graphql
@@ -1,14 +1,3 @@
-type Query @aws_lambda {
- getVehicle(
- # VIN of the vehicle that you want to request data for.
- vin: String!
- ): Vehicle
-
- listVehicles(
- # page number of paginated results
- page: Int
- ): [Vehicle]
-}
# High-level vehicle data.
type Vehicle {
# Supported Version of VSS.
@@ -10247,3 +10236,14 @@ type Vehicle_Connectivity_IsConnectivityAvailable {
# Value: Indicates if connectivity between vehicle and cloud is available. True = Connectivity is available. False = Connectivity is not available.
value: Boolean
}
+type Query @aws_lambda {
+ getVehicle(
+ # VIN of the vehicle that you want to request data for.
+ vin: String!
+ ): Vehicle
+
+ listVehicles(
+ # page number of paginated results
+ page: Int
+ ): [Vehicle]
+}
diff --git a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_api_on_aws_snapshot.json b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_api_on_aws_snapshot.json
index 1274fc34..1f361752 100644
--- a/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_api_on_aws_snapshot.json
+++ b/templates/modules/cms_api_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_api_on_aws_snapshot.json
@@ -204,7 +204,7 @@
"ApplicationType": "AWS-Solutions",
"SolutionID": "SO0241",
"SolutionName": "Connected Mobility Solution on AWS",
- "Version": "v1.0.0"
+ "Version": "v1.0.1"
},
"Description": "Attribute group for solution information",
"Name": {
@@ -803,8 +803,8 @@
"Ref": "cmsapimoduleinputsssmoperationalreportmetricsenabledParameterEBD14CF8"
},
"SOLUTION_ID": "SO0241",
- "SOLUTION_VERSION": "v1.0.0",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.12/v1.0.0"
+ "SOLUTION_VERSION": "v1.0.1",
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.12/v1.0.1"
}
},
"FunctionName": "cms-api-on-aws-stack-dev-athena-data-source-lambda",
@@ -1208,7 +1208,7 @@
"TOKEN_VALIDATION_LAMBDA_ARN": {
"Ref": "cmsapimoduleinputsssmtokenvalidationlambdaarnParameter5DC16C8D"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.12/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.12/v1.0.1"
}
},
"FunctionName": "cms-api-on-aws-stack-dev-authorization-lambda",
diff --git a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/README.md b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/README.md
index 9b08529b..f3b45620 100644
--- a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/README.md
+++ b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Connect and Store Module](#connected-mobility-solution-on-aws---connect-and-store-module)
@@ -13,7 +13,6 @@
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -37,7 +36,7 @@ For more information and a detailed deployment guide, visit the
![Architecture Diagram](./documentation/architecture/diagrams/cms-connect-store-architecture-diagram.svg)
## Sequence Diagram
-![Sequence Diagram](./documentation/architecture/diagrams/cms-connect-store-sequence-diagram.svg)
+![Sequence Diagram](./documentation/sequence/cms-connect-store-sequence-diagram.svg)
## AWS CDK and Solutions Constructs
@@ -56,14 +55,12 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
- [NVM](https://github.com/nvm-sh/nvm)
- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
-- [Pipenv](https://pipenv.pypa.io/en/latest/installation/)
-
-#### Optional but Helpful
-
-- Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
#### MacOS Installation Instructions
+Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+
```bash
brew install pyenv
pyenv install 3.10.9
@@ -148,9 +145,10 @@ Basic usage (small simulations for short durations) should stay within the free
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-connect-storer/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -158,9 +156,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/manifest.yaml b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/manifest.yaml
index 37012f71..8742d7e3 100644
--- a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/manifest.yaml
+++ b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/manifest.yaml
@@ -5,13 +5,15 @@ infrastructure:
- rendering_engine: codebuild
settings:
image: aws/codebuild/amazonlinux2-x86_64-standard:5.0
- runtimes:
- nodejs: 18
provision:
# Run when create/update is triggered for environment or service
# Install dependencies
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk deploy --require-approval never
# Script to convert CFN outputs into outputs for Proton
@@ -24,6 +26,10 @@ infrastructure:
# add the following to the above command if there are outputs: --outputs file://./outputs.json
deprovision:
# Install dependencies and destroy resources
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk destroy --force
diff --git a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/config/constants.py b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/config/constants.py
index c8f18e06..b8b91a70 100644
--- a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/config/constants.py
+++ b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/config/constants.py
@@ -15,7 +15,7 @@ class ConnectStoreConstantsClass:
MODULE_NAME: str = "cms-connect-store-on-aws"
SOLUTION_NAME: str = "Connected Mobility Solution on AWS"
SOLUTION_ID: str = "SO0241"
- SOLUTION_VERSION: str = "v1.0.0"
+ SOLUTION_VERSION: str = "v1.0.1"
APPLICATION_TYPE: str = "AWS-Solutions"
CAPABILITY_ID = "CMS.3"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_connect_and_store_snapshot.json b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_connect_and_store_snapshot.json
index 1a8dfc93..917b9197 100644
--- a/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_connect_and_store_snapshot.json
+++ b/templates/modules/cms_connect_store_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_connect_and_store_snapshot.json
@@ -181,7 +181,7 @@
"ApplicationType": "AWS-Solutions",
"SolutionID": "SO0241",
"SolutionName": "Connected Mobility Solution on AWS",
- "Version": "v1.0.0"
+ "Version": "v1.0.1"
},
"Description": "Attribute group for solution information",
"Name": {
@@ -242,7 +242,7 @@
"AUTHENTICATION_USER_POOL_REGION": {
"Ref": "connectstoreconnectstoremoduleinputsconstructssmauthenticationuserpoolregionParameter062424AC"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.3/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.3/v1.0.1"
}
},
"FunctionName": "cms-connect-store-on-aws-stack-dev-vehicle-alarm",
diff --git a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/README.md b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/README.md
index 969cd7a0..bd0b46eb 100644
--- a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/README.md
+++ b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - EV Battery Health Module](#connected-mobility-solution-on-aws---ev-battery-health-module)
@@ -13,9 +13,7 @@
- [Deployment](#deployment)
- [Runtime](#runtime)
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- - [Instructions](#instructions)
- - [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
+ - [Prerequisites](#prerequisites)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -37,7 +35,13 @@
## Solution Overview
-Connected Mobility Solution on AWS (CMS) provides a connected vehicle platform with various capabilities for automotive industry customers to leverage. With widespread electrification of vehicles across the automotive industry, battery health monitoring and alerting becomes increasingly crucial for automotive manufacturers, fleet managers and individual vehicle owners alike. With the increasing pace of development of novel battery technologies, developing new methods and standards for continuously monitoring the battery health is important. CMS EV Battery Health module provides battery health monitoring and alerting capability by means of configurable dashboards and alerts based on vehicle telemetry data.
+Connected Mobility Solution on AWS (CMS) provides a connected vehicle platform with various capabilities
+for automotive industry customers to leverage. With widespread electrification of vehicles across the
+automotive industry, battery health monitoring and alerting becomes increasingly crucial for automotive
+manufacturers, fleet managers and individual vehicle owners alike. With the increasing pace of development
+of novel battery technologies, developing new methods and standards for continuously monitoring the battery
+health is important. CMS EV Battery Health module provides battery health monitoring and alerting capability
+by means of configurable dashboards and alerts based on vehicle telemetry data.
## Architecture Diagram
@@ -66,18 +70,15 @@ practices established by the AWS Well-Architected Framework.
In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly to create infrastructure resources.
-## Instructions
-### Prerequisites
+## Prerequisites
-- Python 3.8+
-- NVM
-- NPM 8+
-- Node 18+
-- Pipenv
+- [Python 3.8+](https://www.python.org/downloads/)
+- [NVM](https://github.com/nvm-sh/nvm)
+- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
-#### Optional but Helpful
-
-- Pyenv
+#### MacOS Installation Instructions
Pyenv [Github Repository](https://github.com/pyenv/pyenv)
@@ -86,13 +87,6 @@ brew install pyenv
pyenv install 3.10.9
```
-#### MacOS Installation Instructions
-
-```bash
-brew install pyenv
-pyenv install 3.10.9
-```
-
Pipenv [Github Repository](https://github.com/pypa/pipenv)
```bash
@@ -164,7 +158,8 @@ cdk synth
### Pre-deploy Instructions
-Enable AWS IAM Identity Center in your account by following these [instructions](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-enable-identity-center.html)
+Enable AWS IAM Identity Center in your account by following these
+[instructions](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-enable-identity-center.html)
### Deploy
@@ -174,24 +169,29 @@ cdk deploy
### Post-deploy Instructions
-Once the solution is deployed, follow the steps detailed below to access the Grafana workspace which contains the EV battery health dashboard and alert rules.
+Once the solution is deployed, follow the steps detailed below to access the Grafana workspace which contains
+the EV battery health dashboard and alert rules.
#### AWS IAM Identity Center (successor to AWS SSO)
-Follow the instructions for Step 1 and Step 2 in the AWS IAM Identity Center [documentation](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) to create users.
+Follow the instructions for Step 1 and Step 2 in the AWS IAM Identity Center
+[documentation](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) to create users.
#### Amazon Managed Grafana
1. Navigate to Amazon Managed Grafana from the AWS console
![Navigate to Amazon Managed Grafana Console](documentation/images/readme/amazon-managed-grafana-console.png)
2. Click on the newly created workspace named `ev-battery-health-grafana-workspace-`
-3. In the authentication tab within the Grafana workspace console, click the `Assign new user or group` button under the `AWS IAM Identity Center (successor to AWS SSO)` section
+3. In the authentication tab within the Grafana workspace console, click the `Assign new user or group`
+button under the `AWS IAM Identity Center (successor to AWS SSO)` section
![Amazon Identity Center Authentication](documentation/images/readme/grafana-iam-identity-center-authentication.png)
4. Assign the users created in `AWS IAM Identity Center` to the Grafana workspace
![Assign SSO Users to Grafana](documentation/images/readme/grafana-assign-users-to-workspace.png)
-5. Set the appropriate role for the assigned user. Click the checkbox next to the user and on the top right corner click the `Actions` dropdown and choose the role to assign to the user
+5. Set the appropriate role for the assigned user. Click the checkbox next to the user and on the top right
+corner click the `Actions` dropdown and choose the role to assign to the user
![Assign Grafana workspace role to user](documentation/images/readme/grafana-assign-user-role.png)
-6. In the Grafana workspace page in the console, click on the workspace URL and sign in using the `AWS IAM Identity Center` credentials to access the Grafana workspace
+6. In the Grafana workspace page in the console, click on the workspace URL and sign in using the `AWS IAM Identity Center`
+credentials to access the Grafana workspace
![Grafana Workspace URL](documentation/images/readme/grafana-navigate-to-workspace.png)
#### Grafana workspace
@@ -201,13 +201,16 @@ Follow the instructions for Step 1 and Step 2 in the AWS IAM Identity Center [do
## Customizing the Solution
-1. Customizing the dashboard: add/remove panels in the `create_ev_battery_health_dashboard` function [here](./source/handlers/custom_resource/lib/dashboards.py)
-2. Customizing the alerts: add/remove alert rules in the `create_ev_battery_health_alert_rule_group` function [here](./source/handlers/custom_resource/lib/alerts.py)
+1. Customizing the dashboard: add/remove panels in the `create_ev_battery_health_dashboard`
+function [here](./source/handlers/custom_resource/lib/dashboards.py)
+2. Customizing the alerts: add/remove alert rules in the `create_ev_battery_health_alert_rule_group`
+function [here](./source/handlers/custom_resource/lib/alerts.py)
## Securing the Solution
### Network Access Control
-To configure network access control for the Grafana workspace, follow the documentation provided [here](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-configure-nac.html).
+To configure network access control for the Grafana workspace, follow the documentation provided
+[here](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-configure-nac.html).
## Cost Scaling
@@ -215,9 +218,10 @@ Check out Amazon Managed Grafana pricing [here](https://aws.amazon.com/grafana/p
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-provisioningr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -225,9 +229,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/manifest.yaml b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/manifest.yaml
index 37012f71..8742d7e3 100644
--- a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/manifest.yaml
+++ b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/manifest.yaml
@@ -5,13 +5,15 @@ infrastructure:
- rendering_engine: codebuild
settings:
image: aws/codebuild/amazonlinux2-x86_64-standard:5.0
- runtimes:
- nodejs: 18
provision:
# Run when create/update is triggered for environment or service
# Install dependencies
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk deploy --require-approval never
# Script to convert CFN outputs into outputs for Proton
@@ -24,6 +26,10 @@ infrastructure:
# add the following to the above command if there are outputs: --outputs file://./outputs.json
deprovision:
# Install dependencies and destroy resources
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk destroy --force
diff --git a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/config/constants.py b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/config/constants.py
index dd9ec1d4..da1ea7c7 100644
--- a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/config/constants.py
+++ b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/config/constants.py
@@ -15,7 +15,7 @@ class EVBatteryHealthConstantsClass:
MODULE_NAME: str = "cms-ev-battery-health-on-aws"
SOLUTION_NAME: str = "Connected Mobility Solution on AWS"
SOLUTION_ID: str = "SO0241"
- SOLUTION_VERSION: str = "v1.0.0"
+ SOLUTION_VERSION: str = "v1.0.1"
APPLICATION_TYPE: str = "AWS-Solutions"
CAPABILITY_ID = "CMS.11"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_ev_battery_health_on_aws_snapshots/test_cms_ev_battery_health_on_aws_snapshot.json b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_ev_battery_health_on_aws_snapshots/test_cms_ev_battery_health_on_aws_snapshot.json
index 65f18e3f..56abb0d9 100644
--- a/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_ev_battery_health_on_aws_snapshots/test_cms_ev_battery_health_on_aws_snapshot.json
+++ b/templates/modules/cms_ev_battery_health_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_ev_battery_health_on_aws_snapshots/test_cms_ev_battery_health_on_aws_snapshot.json
@@ -865,7 +865,7 @@
"ApplicationType": "AWS-Solutions",
"SolutionID": "SO0241",
"SolutionName": "Connected Mobility Solution on AWS",
- "Version": "v1.0.0"
+ "Version": "v1.0.1"
},
"Description": "Attribute group for solution information",
"Name": {
@@ -905,7 +905,7 @@
"Description": "CMS EV battery health custom resource lambda function",
"Environment": {
"Variables": {
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.1"
}
},
"FunctionName": "cms-ev-battery-health-on-aws-stack-dev-custom-resource-lambda",
@@ -1295,7 +1295,7 @@
"Endpoint"
]
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.1"
}
},
"FunctionName": "cms-ev-battery-health-on-aws-stack-dev-rotate-secret-lambda",
@@ -2129,7 +2129,7 @@
"AUTHENTICATION_USER_POOL_REGION": {
"Ref": "cmsevbatteryhealthcmsevmoduleinputsconstructssmauthenticationuserpoolregionParameterB4D73345"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.1"
}
},
"FunctionName": "cms-ev-battery-health-on-aws-stack-dev-process-alerts-lambda",
@@ -2431,7 +2431,7 @@
"Id"
]
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.1"
}
},
"FunctionName": "cms-ev-battery-health-on-aws-stack-dev-workspace-active-lambda",
@@ -3818,7 +3818,7 @@
"Endpoint"
]
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.11/v1.0.1"
}
},
"FunctionName": "cms-ev-battery-health-on-aws-stack-dev-s3-to-grafana-lambda",
diff --git a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/README.md b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/README.md
index 67f742bc..0332d4a9 100644
--- a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/README.md
+++ b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Provisioning Module](#connected-mobility-solution-on-aws---provisioning-module)
@@ -13,7 +13,6 @@
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -51,7 +50,7 @@ certificate must be securely downloaded and copied to a vehicle.
- Third-party CA
For more information and a detailed deployment guide, visit the
-[CMS Provisioning](https://aws.amazon.com/solutions/implementations/cms-provisioning/) solution page.
+[CMS Provisioning](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/vehicle-provisioning-module.html) solution page.
## Architecture Diagram
![Architecture Diagram](./documentation/architecture/diagrams/cms-vehicle-provisioning-architecture-diagram.svg)
@@ -78,14 +77,12 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
- [NVM](https://github.com/nvm-sh/nvm)
- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
-- [Pipenv](https://pipenv.pypa.io/en/latest/installation/)
-
-#### Optional but Helpful
-
-- Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
#### MacOS Installation Instructions
+Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+
```bash
brew install pyenv
pyenv install 3.10.9
@@ -192,9 +189,10 @@ Basic usage should stay within the free tier.
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-provisioningr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -202,9 +200,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/manifest.yaml b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/manifest.yaml
index 37012f71..8742d7e3 100644
--- a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/manifest.yaml
+++ b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/manifest.yaml
@@ -5,13 +5,15 @@ infrastructure:
- rendering_engine: codebuild
settings:
image: aws/codebuild/amazonlinux2-x86_64-standard:5.0
- runtimes:
- nodejs: 18
provision:
# Run when create/update is triggered for environment or service
# Install dependencies
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk deploy --require-approval never
# Script to convert CFN outputs into outputs for Proton
@@ -24,6 +26,10 @@ infrastructure:
# add the following to the above command if there are outputs: --outputs file://./outputs.json
deprovision:
# Install dependencies and destroy resources
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk destroy --force
diff --git a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/config/constants.py b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/config/constants.py
index a3a2368e..98194386 100644
--- a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/config/constants.py
+++ b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/config/constants.py
@@ -17,7 +17,7 @@ class VPConstantsClass:
PROVISIONING_TEMPLATE_NAME = "cms-vehicle-provisioning-template"
CLAIM_CERT_PROVISIONING_POLICY_NAME = "claim-certificate-provisioning-policy"
SOLUTION_ID = "SO0241"
- SOLUTION_VERSION = "v1.0.0"
+ SOLUTION_VERSION = "v1.0.1"
APPLICATION_TYPE = "AWS-Solutions"
CAPABILITY_ID = "CMS.5"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_provisioning_on_aws_snapshot.json b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_provisioning_on_aws_snapshot.json
index 05e72270..ded8cc99 100644
--- a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_provisioning_on_aws_snapshot.json
+++ b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_provisioning_on_aws_snapshot.json
@@ -101,7 +101,7 @@
"ApplicationType": "AWS-Solutions",
"SolutionID": "SO0241",
"SolutionName": "Connected Mobility Solution on AWS",
- "Version": "v1.0.0"
+ "Version": "v1.0.1"
},
"Description": "Attribute group for solution information",
"Name": {
diff --git a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_auxiliary_lambdas_snapshot.json b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_auxiliary_lambdas_snapshot.json
index f0559f86..72fb9573 100644
--- a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_auxiliary_lambdas_snapshot.json
+++ b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_auxiliary_lambdas_snapshot.json
@@ -103,7 +103,7 @@
"Description": "CMS provisioning custom resource lambda function",
"Environment": {
"Variables": {
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.1"
}
},
"FunctionName": "cms-provisioning-on-aws-stack-dev-custom-resource-lambda",
@@ -441,7 +441,7 @@
"Environment": {
"Variables": {
"CLAIM_CERT_PROVISIONING_POLICY_NAME": "claim-certificate-provisioning-policy",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.1"
}
},
"FunctionName": "cms-provisioning-on-aws-stack-dev-rotate-secret-lambda",
diff --git a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_provisioning_lambdas_snapshot.json b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_provisioning_lambdas_snapshot.json
index 2d242822..0282f306 100644
--- a/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_provisioning_lambdas_snapshot.json
+++ b/templates/modules/cms_provisioning_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vp_provisioning_lambdas_snapshot.json
@@ -218,7 +218,7 @@
"PROVISIONED_VEHICLES_TABLE_NAME": {
"Ref": "provisionedvehiclestable1D94D49A"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.1"
}
},
"FunctionName": "cms-provisioning-on-aws-stack-dev-initial-connection-lambda",
@@ -675,7 +675,7 @@
"Ref": "provisionedvehiclestable1D94D49A"
},
"PROVISIONING_TEMPLATE_NAME": "cms-vehicle-provisioning-template",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.1"
}
},
"FunctionName": "cms-provisioning-on-aws-stack-dev-post-provisioning-lambda",
@@ -1000,7 +1000,7 @@
"PROVISIONED_VEHICLES_TABLE_NAME": {
"Ref": "provisionedvehiclestable1D94D49A"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.5/v1.0.1"
}
},
"FunctionName": "cms-provisioning-on-aws-stack-dev-pre-provisioning-lambda",
diff --git a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/README.md b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/README.md
index 7aaace0d..a7fad842 100644
--- a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/README.md
+++ b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Authentication Module](#connected-mobility-solution-on-aws---authentication-module)
@@ -12,7 +12,6 @@
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -30,8 +29,11 @@
- [License](#license)
## Solution Overview
-CMS Authentication on AWS is a deployable module within [Connected Mobility Solution on AWS](/README.md) (CMS) that provides means for CMS users and internal services to authenticate and authorize themselves for use with CMS on AWS APIs.
-Users can sign-up and communicate with the provided identity provider to retrieve authorization tokens via the authorization code grant flow, while services can communicate with a separate app client via the client-credentials grant flow.
+CMS Authentication on AWS is a deployable module within [Connected Mobility Solution on AWS](/README.md)
+(CMS) that provides means for CMS users and internal services to authenticate and authorize themselves for
+use with CMS on AWS APIs. Users can sign-up and communicate with the provided identity provider to retrieve
+authorization tokens via the authorization code grant flow, while services can communicate with a separate app
+client via the client-credentials grant flow.
For more information and a detailed deployment guide, visit the
[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)
@@ -53,15 +55,13 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
## Prerequisites
-- Python 3.8+
-- NVM
-- NPM 8+
-- Node 18+
-- Pipenv
+- [Python 3.8+](https://www.python.org/downloads/)
+- [NVM](https://github.com/nvm-sh/nvm)
+- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
-#### Optional but Helpful
-
-- Pyenv
+#### MacOS Installation Instructions
Pyenv [Github Repository](https://github.com/pyenv/pyenv)
@@ -70,13 +70,6 @@ brew install pyenv
pyenv install 3.10.9
```
-#### MacOS Installation Instructions
-
-```bash
-brew install pyenv
-pyenv install 3.10.9
-```
-
Pipenv [Github Repository](https://github.com/pypa/pipenv)
```bash
@@ -155,33 +148,52 @@ cdk deploy
## Usage
### Identity Provider (Cognito)
-Deploying this module creates an Amazon Cognito user pool with no users. This user pool is configured with both a service and user app client. To allow users to authenticate within your solution, they must be added to the user pool. This can be done via the aws console, and requires email verification for new users to create their credentials.
+Deploying this module creates an Amazon Cognito user pool with no users. This user pool is
+configured with both a service and user app client. To allow users to authenticate within your
+solution, they must be added to the user pool. This can be done via the aws console, and requires
+email verification for new users to create their credentials.
### User Authentication
-The token exchange Lambda function provided by this module can be used to exchange an authorization code, retrieved from the authorization code grant flow and OAuth /authorize and /token endpoints, for an id and access token. The access token can then be included in requests to CMS on AWS APIs as a Bearer token in the Authorization header, and further validated by the API via the token validation lambda. The token exchange lambda communicates with the Amazon Cognito OAuth API to verify the integrity of the authorization code against the associated user app client. Furthermore, a Proof Key for Code Exchange (PKCE) code verifier is used to protect against injection attacks which could intercept the user tokens. The code verifier must be the same used to generate the code challenge used to retrieve the authorization code.
+The token exchange Lambda function provided by this module can be used to exchange an authorization
+code, retrieved from the authorization code grant flow and OAuth /authorize and /token endpoints,
+for an id and access token. The access token can then be included in requests to CMS on AWS APIs
+as a Bearer token in the Authorization header, and further validated by the API via the token
+validation lambda. The token exchange lambda communicates with the Amazon Cognito OAuth API to verify
+the integrity of the authorization code against the associated user app client. Furthermore, a
+Proof Key for Code Exchange (PKCE) code verifier is used to protect against injection attacks which
+could intercept the user tokens. The code verifier must be the same used to generate the code challenge
+used to retrieve the authorization code.
#### Authorization Code
To retrieve an authorization code for user authentication, following these steps:
-1. Create a `GET` request to the [/authorize](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) endpoint provided by Amazon Cognito.
-1. Make sure you include the correct client_id and a code_challenge in the request body. In the request URL ensure you use the correct aws-region and domain prefix associated with the user pool.
+1. Create a `GET` request to the
+[/authorize endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html) provided by Amazon Cognito.
+1. Make sure you include the correct client_id and a code_challenge in the request body.
+In the request URL ensure you use the correct aws-region and domain prefix associated with the user pool.
1. Navigating to the `GET` request URL in your browser will redirect you to a login page.
-1. Logging into this page will trigger a `POST` request to the [/token](https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html) endpoint provided by Cognito, which will return an authorization code in its response.
+2. Logging into this page will trigger a `POST` request to the
+[/token endpoint](https://docs.aws.amazon.com/cognito/latest/developerguide/token-endpoint.html) provided
+by Cognito, which will return an authorization code in its response.
### Service Authentication
-Internal CMS on AWS services can authenticate themselves against the provided user pool service app client by retrieving the client credentials and scope, and exchanging them for an access token via the client credentials grant flow and OAuth /token endpoint. The access token can then be included in requests to CMS on AWS APIs as a Bearer token in the Authorization header, and further validated by the API via the token validation lambda.
+Internal CMS on AWS services can authenticate themselves against the provided user pool service app client
+by retrieving the client credentials and scope, and exchanging them for an access token via the client
+credentials grant flow and OAuth /token endpoint. The access token can then be included in requests to CMS
+on AWS APIs as a Bearer token in the Authorization header, and further validated by the API via the token validation lambda.
## Cost Scaling
-Cost will scale depending on the amount of lambda invocations, but in general lambda invocation costs are low. At rest, the Authentication module's cost is minimal. For details, see the [implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-provisioningr/operational-metrics.html).
-
-[Lambda Cost](https://aws.amazon.com/lambda/pricing/)
+Cost will scale depending on the amount of lambda invocations, but in general lambda invocation costs
+are low. At rest, the Authentication module's cost is minimal. For details, see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-provisioningr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -189,9 +201,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/manifest.yaml b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/manifest.yaml
index 37012f71..8742d7e3 100644
--- a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/manifest.yaml
+++ b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/manifest.yaml
@@ -5,13 +5,15 @@ infrastructure:
- rendering_engine: codebuild
settings:
image: aws/codebuild/amazonlinux2-x86_64-standard:5.0
- runtimes:
- nodejs: 18
provision:
# Run when create/update is triggered for environment or service
# Install dependencies
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk deploy --require-approval never
# Script to convert CFN outputs into outputs for Proton
@@ -24,6 +26,10 @@ infrastructure:
# add the following to the above command if there are outputs: --outputs file://./outputs.json
deprovision:
# Install dependencies and destroy resources
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- pipenv run cdk destroy --force
diff --git a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/config/constants.py b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/config/constants.py
index b8153d8c..6e37ace5 100644
--- a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/config/constants.py
+++ b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/config/constants.py
@@ -16,7 +16,7 @@ class UserAuthenticationConstantsClass:
MODULE_NAME: str = "cms-user-authentication-on-aws"
SOLUTION_NAME: str = "Connected Mobility Solution on AWS"
SOLUTION_ID: str = "SO0241"
- SOLUTION_VERSION: str = "v1.0.0"
+ SOLUTION_VERSION: str = "v1.0.1"
APPLICATION_TYPE: str = "AWS-Solutions"
CAPABILITY_ID = "CMS.22"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_user_authentication_on_aws_snapshots/test_cms_user_authentication_on_aws_snapshot.json b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_user_authentication_on_aws_snapshots/test_cms_user_authentication_on_aws_snapshot.json
index fb3cee69..9a601412 100644
--- a/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_user_authentication_on_aws_snapshots/test_cms_user_authentication_on_aws_snapshot.json
+++ b/templates/modules/cms_user_authentication_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_cms_user_authentication_on_aws_snapshots/test_cms_user_authentication_on_aws_snapshot.json
@@ -207,7 +207,7 @@
"ApplicationType": "AWS-Solutions",
"SolutionID": "SO0241",
"SolutionName": "Connected Mobility Solution on AWS",
- "Version": "v1.0.0"
+ "Version": "v1.0.1"
},
"Description": "Attribute group for solution information",
"Name": {
@@ -699,7 +699,7 @@
"COGNITO_USER_POOL_ID": {
"Ref": "cmsuserauthenticationcognitouserpool42033C47"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.1"
}
},
"FunctionName": "cms-user-authentication-on-aws-stack-dev-create-app-client",
@@ -869,7 +869,7 @@
"Description": "CMS User Authentication custom resource lambda function",
"Environment": {
"Variables": {
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.1"
}
},
"FunctionName": "cms-user-authentication-on-aws-stack-dev-custom-resource-lambda",
@@ -1023,7 +1023,7 @@
"COGNITO_USER_POOL_ID": {
"Ref": "cmsuserauthenticationcognitouserpool42033C47"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.1"
}
},
"FunctionName": "cms-user-authentication-on-aws-stack-dev-delete-app-client",
@@ -1418,7 +1418,7 @@
"Arn"
]
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.0",
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.1",
"USER_CLIENT_ID": {
"Ref": "cmsuserauthenticationcognitouserpoolcmsuserappclientCFC65C67"
},
@@ -1626,7 +1626,7 @@
"SERVICE_CLIENT_ID": {
"Ref": "cmsuserauthenticationcognitouserpoolcmsserviceappclient1FA07BA9"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.0",
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.1",
"USER_CLIENT_ID": {
"Ref": "cmsuserauthenticationcognitouserpoolcmsuserappclientCFC65C67"
},
@@ -1790,7 +1790,7 @@
"COGNITO_USER_POOL_ID": {
"Ref": "cmsuserauthenticationcognitouserpool42033C47"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.22/v1.0.1"
}
},
"FunctionName": "cms-user-authentication-on-aws-stack-dev-update-app-client",
diff --git a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/README.md b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/README.md
index d2837408..617c3554 100644
--- a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/README.md
+++ b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Vehicle Simulator Module](#connected-mobility-solution-on-aws---vehicle-simulator-module)
@@ -13,7 +13,6 @@
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -35,7 +34,7 @@ without an existing pool of devices. This solution leverages managed, highly ava
services to create and simulate thousands of connected devices that are pre-defined or created by the customer.
For more information and a detailed deployment guide, visit the
-[CMS Vehicle Simulator](https://aws.amazon.com/solutions/implementations/cms-vehicle-simulator/) solution page.
+[CMS Vehicle Simulator](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/vehicle-simulator-module.html) solution page.
## Architecture Diagram
@@ -64,14 +63,12 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
- [NVM](https://github.com/nvm-sh/nvm)
- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
-- [Pipenv](https://pipenv.pypa.io/en/latest/installation/)
-
-#### Optional but Helpful
-
-- Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
#### MacOS Installation Instructions
+Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+
```bash
brew install pyenv
pyenv install 3.10.9
@@ -170,9 +167,10 @@ Basic usage (small simulations for short durations) should stay within the free
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-vehicle-simulatorr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -180,9 +178,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/manifest.yaml b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/manifest.yaml
index b4b5174e..50ae53a5 100644
--- a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/manifest.yaml
+++ b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/manifest.yaml
@@ -5,13 +5,15 @@ infrastructure:
- rendering_engine: codebuild
settings:
image: aws/codebuild/amazonlinux2-x86_64-standard:5.0
- runtimes:
- nodejs: 18
provision:
# Run when create/update is triggered for environment or service
# Install dependencies
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- cd source/console
- npm install
- npm run build
@@ -27,8 +29,12 @@ infrastructure:
- aws proton notify-resource-deployment-status-change --resource-arn $RESOURCE_ARN --outputs file://./proton-outputs.json
deprovision:
# Install dependencies and destroy resources
+ - n 18.17.1
- npm install -g aws-cdk@latest --force
- - pipenv install --dev
+ - pyenv install 3.10.9
+ - pyenv global 3.10.9
+ - pyenv exec pip install pipenv
+ - pipenv install --dev --python 3.10.9
- cd source/console
- npm install
- npm run build
diff --git a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/config/constants.py b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/config/constants.py
index 0aa7e236..c1f2f76c 100644
--- a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/config/constants.py
+++ b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/config/constants.py
@@ -16,7 +16,7 @@ class VSConstantsClass:
TOPIC_PREFIX = "cms/data/simulated"
SOLUTION_NAME = "Connected Mobility Solution on AWS"
SOLUTION_ID = "SO0241"
- SOLUTION_VERSION = "v1.0.0"
+ SOLUTION_VERSION = "v1.0.1"
APPLICATION_TYPE = "AWS-Solutions"
CAPABILITY_ID = "CMS.1"
USER_AGENT_STRING: str = f"AWSSOLUTION/{SOLUTION_ID}/{SOLUTION_VERSION} AWSSOLUTION-CAPABILITY/{CAPABILITY_ID}/{SOLUTION_VERSION}"
diff --git a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/console/README.md b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/console/README.md
index 2e4e33ad..7b7ca06c 100644
--- a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/console/README.md
+++ b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/console/README.md
@@ -2,7 +2,7 @@
**[Connected Mobility Solution on AWS](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/)** | **[🚧 Feature request](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)** | **[🐛 Bug Report](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=bug&template=bug_report.md&title=)** | **[❓ General Question](https://github.com/aws-solutions/connected-mobility-solution-on-aws/issues/new?assignees=&labels=question&template=general_question.md&title=)**
-**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://dummy.com).
+**Note**: If you want to use the solution without building from source, navigate to the [AWS Solution Page](https://aws.amazon.com/solutions/implementations/connected-mobility-solution-on-aws/).
## Table of Contents
- [Connected Mobility Solution on AWS - Vehicle Simulator Console](#connected-mobility-solution-on-aws---vehicle-simulator-console)
@@ -12,7 +12,6 @@
- [AWS CDK and Solutions Constructs](#aws-cdk-and-solutions-constructs)
- [Customizing the Module](#customizing-the-module)
- [Prerequisites](#prerequisites)
- - [Optional but Helpful](#optional-but-helpful)
- [MacOS Installation Instructions](#macos-installation-instructions)
- [Clone the Repository](#clone-the-repository)
- [Unit Test](#unit-test)
@@ -34,7 +33,7 @@ without an existing pool of devices. This solution leverages managed, highly ava
services to create and simulate thousands of connected devices that are pre-defined or created by the customer.
For more information and a detailed deployment guide, visit the
-[CMS Vehicle Simulator](https://aws.amazon.com/solutions/implementations/cms-vehicle-simulator/) solution page.
+[CMS Vehicle Simulator](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/vehicle-simulator-module.html) solution page.
## Architecture Diagram
@@ -57,14 +56,12 @@ In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly
- [NVM](https://github.com/nvm-sh/nvm)
- [NPM 8+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [Node 18+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
-- [Pipenv](https://pipenv.pypa.io/en/latest/installation/)
-
-#### Optional but Helpful
-
-- Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+- [Pipenv](https://pipenv.pypa.io/en/latest/installation.html)
#### MacOS Installation Instructions
+Pyenv [Github Repository](https://github.com/pyenv/pyenv)
+
```bash
brew install pyenv
pyenv install 3.10.9
@@ -163,9 +160,10 @@ Basic usage (small simulations for short durations) should stay within the free
## Collection of Operational Metrics
-This solution collects anonymous operational metrics to help AWS improve the quality and features of the solution. For
-more information, including how to disable this capability, please see the
-[implementation guide](https://docs.aws.amazon.com/solutions/latest/cms-vehicle-simulatorr/operational-metrics.html).
+This solution collects anonymous operational metrics to help AWS improve
+the quality and features of the solution. For more information, including
+how to disable this capability, please see the
+[implementation guide](https://docs.aws.amazon.com/solutions/latest/connected-mobility-solution-on-aws/operational-metrics.html).
## License
@@ -173,9 +171,7 @@ 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.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
+You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
diff --git a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_vehicle_simulator_on_aws_snapshot.json b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_vehicle_simulator_on_aws_snapshot.json
index f32cdf78..2fb667c5 100644
--- a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_vehicle_simulator_on_aws_snapshot.json
+++ b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_cms_vehicle_simulator_on_aws_snapshot.json
@@ -202,7 +202,7 @@
"ApplicationType": "AWS-Solutions",
"SolutionID": "SO0241",
"SolutionName": "Connected Mobility Solution on AWS",
- "Version": "v1.0.0"
+ "Version": "v1.0.1"
},
"Description": "Attribute group for solution information",
"Name": {
diff --git a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_resource_snapshot.json b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_resource_snapshot.json
index 09f81fb8..b6817c21 100644
--- a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_resource_snapshot.json
+++ b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_resource_snapshot.json
@@ -226,7 +226,7 @@
"Variables": {
"SOLUTION_ID": "test",
"SOLUTION_VERSION": "test",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.0"
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.1"
}
},
"FunctionName": "cms-vehicle-simulator-on-aws-stack-dev-custom-resources-lambda",
diff --git a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_simulator_snapshot.json b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_simulator_snapshot.json
index ad21ed39..d00bc11a 100644
--- a/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_simulator_snapshot.json
+++ b/templates/modules/cms_vehicle_simulator_on_aws/v1/instance_infrastructure/source/tests/infrastructure/__snapshots__/test_snapshot/test_vs_simulator_snapshot.json
@@ -310,7 +310,7 @@
"SOLUTION_ID": {
"Ref": "simulatorconstructssmsolutionidParameter309B25A9"
},
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.0",
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.1",
"VERSION": {
"Fn::ImportValue": "cms-vehicle-simulator-on-aws-stack-dev-solution-version"
}
@@ -642,7 +642,7 @@
"Ref": "simulatorconstructssmsolutionidParameter309B25A9"
},
"TOPIC_PREFIX": "cms/data/simulated",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.0",
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.1",
"VERSION": {
"Fn::ImportValue": "cms-vehicle-simulator-on-aws-stack-dev-solution-version"
}
@@ -992,7 +992,7 @@
"Ref": "simulatorconstructssmsolutionidParameter309B25A9"
},
"TOPIC_PREFIX": "cms/data/simulated",
- "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.0 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.0",
+ "USER_AGENT_STRING": "AWSSOLUTION/SO0241/v1.0.1 AWSSOLUTION-CAPABILITY/CMS.1/v1.0.1",
"VERSION": {
"Fn::ImportValue": "cms-vehicle-simulator-on-aws-stack-dev-solution-version"
}