Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iann0036/amazon-connect-cfn
Create Amazon Connect instances, contact flows etc. with CloudFormation
https://github.com/iann0036/amazon-connect-cfn
amazon-connect aws cloudformation
Last synced: 4 days ago
JSON representation
Create Amazon Connect instances, contact flows etc. with CloudFormation
- Host: GitHub
- URL: https://github.com/iann0036/amazon-connect-cfn
- Owner: iann0036
- License: mit
- Created: 2019-05-07T12:21:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-01T01:49:27.000Z (over 1 year ago)
- Last Synced: 2024-10-29T19:59:25.580Z (14 days ago)
- Topics: amazon-connect, aws, cloudformation
- Language: JavaScript
- Homepage:
- Size: 1.09 MB
- Stars: 35
- Watchers: 10
- Forks: 16
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DEPRECATED - NOW AN OFFICIAL RESOURCE: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Connect.html
# CloudFormation Provider for Amazon Connect
> _"You did WHAT?"_
:exclamation: **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](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](example_stack.yaml) file for a comprehensive example.
## Provided Resource Types
* [AWS::Connect::Instance](docs/AWS_Connect_Instance.md)
* [AWS::Connect::ContactFlow](docs/AWS_Connect_ContactFlow.md)
* [AWS::Connect::PhoneNumber](docs/AWS_Connect_PhoneNumber.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](https://developers.google.com/web/tools/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.