AWS Service Catalog Validation Pipeline
AWS Service Catalog Validation Pipeline

Demo Environment

The solution includes a supplementary AWS CloudFormation template that configures a fully functioning, independent demo pipeline. This demo enables customers to explore pipeline functionality and experiment with custom tests in a contained environment.

The demo template automatically deploys the two main solution stacks, including all preconfigured AWS Lambda test functions, and creates an AWS CodeCommit repository. The demo then clones an existing GitHub repository to AWS CodeCommit. This repository contains a product template that is a modified version of the AWS Quick Start template for an Amazon Virtual Private Cloud (Amazon VPC) architecture, and includes sample configuration and parameter files. We chose to use this Quick Start as the basis for the demo product template because it is a good example of a modular and customizable architecture, and also demonstrates how to incorporate networking-related tests in the pipeline.

Once the demo environment is configured, the pipeline will automatically begin to validate the template and provision product portfolios and stacks for each test. See the Quick Start Reference Deployment Guide for an architecture diagram of the default virtual networking environment that each test stack creates.

Launch the Demo Environment


You are responsible for the cost of the AWS services used while running this solution. See the Cost section for more details. For full details, see the pricing webpage for each AWS service you will be using in this solution.

  1. Sign in to the AWS Management Console and click the button below to launch the aws-service-catalog-validation-pipeline AWS CloudFormation template.

                                Launch button for demo stack

    You can also download the template as a starting point for your own implementation.

  2. The template is launched in the US East (N. Virginia) Region by default. To launch the demo stacks in a different AWS Region, use the region selector in the console navigation bar.


    You must launch this template in the same AWS Region as your AWS CodeCommit repository. This must be a region that supports AWS Service Catalog, AWS CodePipeline, AWS CodeBuild, and AWS CodeCommit. See the AWS website for the most current service availability by region.

  3. On the Select Template page, verify that you selected the correct template and choose Next.

  4. On the Specify Details page, assign a name to your demo stack.

  5. Under Parameters, review the parameters for the template and modify them as necessary. This solution uses the following default values.

    Parameter Default Description
    Primary Email <Requires input> The primary email to notify for pending manual approvals and pipeline execution notifications
    Provision Product Role ARN <Optional input> The AWS Service Catalog service role used to launch test stacks. You can enter an existing role. If you leave this field blank, the solution will create a demo-specific Administrator role with minimum permissions necessary to deploy the Amazon VPC Quick Start.
  6. Choose Next.

  7. On the Options page, choose Next.

  8. On the Review page, review and confirm the settings. Be sure to check the box acknowledging that the template will create AWS Identity and Access Management (IAM) resources.

  9. Choose Create to deploy the demo environment.

    You can view the status of the demo stacks in the AWS CloudFormation console in the Status column. You should see a status of CREATE_COMPLETE in approximately five minutes.

    These stacks include the overall demo stack, a Central Microservices Stack, a Main Pipeline stack, and a stack that clones a public Git repository into a new AWS CodeCommit repository. The pipeline will begin running post-create tests automatically, so you will see temporary AWS Service Catalog portfolios and VPC test stacks in different AWS Regions.

    You can review the demo pipeline stages and statuses in the AWS CodePipeline console, and experiment with the demo repository contents and custom test functions.