/amazon-connect-cfn

Create Amazon Connect instances, contact flows etc. with CloudFormation

Primary LanguageJavaScriptMIT LicenseMIT

CloudFormation Provider for Amazon Connect

"You did WHAT?"

CAUTION: This project is currently in beta stages. Some components may not work as expected.

Installation

Click the above link to deploy the stack which is required to deploy the Transform and Custom Resource handler. This is required to be in place for any future stack deployments.

If you prefer, you can also manually upsert the custom_resource.yaml stack from source and compile your own copy of the Lambda source. Please note that if you do this, the NodeJS module requirements must be installed locally.

Usage

Once the handler stack is created, you may use the below resources by adding the AmazonConnectProvider transform to your stack. This will transform your input template to convert the AWS::Connect::* resources into Custom Resources that will handle the lifecycle for that resource.

Check out the example_stack.yaml file for a comprehensive example.

Provided Resource Types

How It Works

As Amazon Connect provides no native CloudFormation types and no exposed APIs for the management of its resources, this project uses puppeteer within Lambda to perform the relevant actions using a browser.

The custom resource stack creates an IAM user that is given permissions to Amazon Connect and is additionally given a console login with a randomly generated password. An headless instance of Chrome is used to log in to the console and perform the required actions, both when creating and deleting resources.