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
- AWS::Connect::Instance
- AWS::Connect::ContactFlow
- AWS::Connect::PhoneNumber
- [AWS::Connect::LexChatBot] (docs/AWS_Connect_LexChatBot.md)
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.