Skip to content

Latest commit

 

History

History

cfn-resources

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

cfn-resources

MongoDB Atlas AWS CloudFormation Custom Resource Type

This folder contains the source code for each of the AWS CloudFormation MongoDB Atlas Resources.

Note these are also hosted on AWS CloudFormation Public Registry under Third Party Extensions.

Resource Status Table

# Resource Status Examples Local Testing Scripts
1 alert-configuration Build example ./alert-configuration/test
2 auditing Build example ./auditing/test
3 cloud-backup-restore-jobs Build example ./cloud-backup-restore-jobs/test
4 cloud-backup-schedule Build example ./cloud-backup-schedule/test
5 cloud-backup-snapshot Build example ./cloud-backup-snapshot/test
6 cloud-backup-snapshot-export-bucket Build example ./cloud-backup-snapshot-export-bucket/test
7 cluster Build example ./cluster/test
8 custom-dns-configuration-cluster-aws Build example ./custom-db-role/test
9 custom-db-role Build example ./custom-dns-configuration-cluster-aws/test
10 database-user Build example ./database-user/test
11 datalakes Build example ./datalakes/test
12 encryption-at-rest Build example ./encryption-at-rest/test
13 federated-settings-org-role-mapping Build example ./federated-settings-org-role-mapping/test
14 global-cluster-config Build example ./global-cluster-config/test
15 ldap-configuration Build example ./ldap-configuration/test
16 ldap-verify Build example ./ldap-verify/test
17 maintenance-window Build example ./maintenance-window/test
18 network-container Build example ./network-container/test
19 network-peering Build example ./network-peering/test
20 online-archive Build example ./online-archive/test
21 org-invitation Build example ./org-invitation/test
22 private-endpoint Build example ./private-endpoint/test
23 private-endpoint-adl Build example ./private-endpoint-adl/test
24 private-endpoint-regional-mode Build example ./private-endpoint-regional-mode/test
25 project Build example ./project/test
26 project-invitation Build example ./project-invitation/test
27 project-ip-access-list Build example ./project-ip-access-list/test
28 search-index Build example ./search-indexes/test
29 serverless-instance Build example ./serverless-instance/test
30 teams Build example ./teams/test
31 third-party-integration Build example files ./third-party-integration/test
32 trigger Build example ./trigger/test
33 X509AuthenticationDatabaseUser Build example ./x509-authentication-database-user/test
34 federated-database-instance Build example ./federated-database-instance/test
35 privatelink-endpoint-service-data-federation-online-archive Build example ./privatelink-endpoint-service-data-federation-online-archive/test
36 federated-query-limit Build example ./federated-query-limit/test
37 serverless-private-endpoint Build example ./serverless-private-endpoint/test
38 api-key Build example ./api-key/test
39 access-list-api-key Build example ./access-list-api-key/test
40 data-lake-pipeline Build example ./data-lake-pipeline/test
41 organization Build example ./organization/test
42 cloud-outage-simulation Build example ./cloud-outage-simulation/test
43 private-endpoint-service Build example ./private-endpoint-service/test
44 private-endpoint-aws Build example ./private-endpoint-aws/test
45 search-deployment Build example ./search-deployment/test
46 stream-instance Build example ./stream-instance/test
47 stream-connection Build example ./stream-connection/test
                                                                        |

Legend

Badge Meaning
Build GA, production ready
Build Beta status, stable dev/testing
Build Not fully tested
Build Beta status, stable for dev/testing but not only for advanced use
Build Deprecated

Test framework

Requirements for local dev testing

  • aws cli
  • cfn cli
  • python
  • go
  • bash
  • atlascli (you don't need this but will make testing easier)

How we handle ApiKeys

All apikey are injected through environment variables. We have a helper script which can export your mongocli profile, so this makes it very easy to switch Atlas environments.

To use this, first download and install mongocli. Next, run mongocli config and then;

$source <(./quickstart-mongodb-atlas/scripts/export-mongocli-config.py)
$env | grep ATLAS
MONGODB_ATLAS_PUBLIC_KEY=XXXXXX
MONGODB_ATLAS_PRIVATE_KEY=XXXXXX
MONGODB_ATLAS_ORG_ID=XXXXXX

Deployment.template.yaml

Note: section for project example line #145 contains an s3 bucket configuration string please edit value to S3 bucket that you require --> (SchemaHandlerPackage="s3://replace-placeholder-bucket-name-here/resources/mongodb-atlas-project.zip",)

How tests are structured

Each resource has a folder called test with 3 items:

  1. <resource_name>.sample-cfn-request.json Sample JSON template request to use for local testing with cfn invoke

  2. <resource_name>.create-sample-cfn-request.sh The create-sample-cfn-request script injects parameters into the sample json template. You run this script, passing resource specific parameters, and the tooling will inject ApiKeys based upon the exported configuration from above. See each resource README for specific testing documentation.

  3. <resource_name>.sample-template.yaml Sample real cloudformation template you can run with aws cloudformation create-stack or using ../../quickstart-mongodb-atlas/scripts/launch-x-quickstart.sh See each resource README for specific testing documentation.