{"id":26218424,"url":"https://github.com/awsdataarchitect/waf-custom-lens-automation","last_synced_at":"2025-09-10T22:32:46.672Z","repository":{"id":240614612,"uuid":"803108821","full_name":"awsdataarchitect/waf-custom-lens-automation","owner":"awsdataarchitect","description":"Open-source code for automating the AWS Well-Architected Tool using a Custom Lens","archived":false,"fork":false,"pushed_at":"2024-05-31T03:18:20.000Z","size":19575,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-30T16:32:08.140Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awsdataarchitect.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-20T04:52:51.000Z","updated_at":"2024-05-31T03:17:42.000Z","dependencies_parsed_at":"2024-05-20T05:41:50.312Z","dependency_job_id":"63228d90-77b6-4c68-ad89-0cae69835b30","html_url":"https://github.com/awsdataarchitect/waf-custom-lens-automation","commit_stats":null,"previous_names":["awsdataarchitect/waf-custom-lens-automation"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/awsdataarchitect/waf-custom-lens-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fwaf-custom-lens-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fwaf-custom-lens-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fwaf-custom-lens-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fwaf-custom-lens-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awsdataarchitect","download_url":"https://codeload.github.com/awsdataarchitect/waf-custom-lens-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fwaf-custom-lens-automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274536170,"owners_count":25303780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-12T13:16:56.071Z","updated_at":"2025-09-10T22:32:46.652Z","avatar_url":"https://github.com/awsdataarchitect.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automating the AWS Well-Architected Tool using a Custom Lens\n\n# Architecture Diagram\n* `mmdc -i diagram.mmd -t dark -b transparent --cssFile flowchart1.css -o diagram.png`\n\n```mermaid\ngraph TD;\n    A[S3 Bucket] --\u003e|S3 Event Notification| B[Lambda Function];\n    B --\u003e|Process JSON| C[AWS Well-Architected Tool];\n    B --\u003e|Download JSON| A;\n    B -.-\u003e|Assume Role| D[IAM Role];\n    D --\u003e B;\n    X[User] --\u003e |File Upload| A[S3 Bucket];\n    C --\u003e|Create Workload| E[Workload];\n    C --\u003e|Apply Lens| F[Lens Review];\n    C --\u003e|Answer Questions| G[Question Answers];\n    C --\u003e|Generate Report| H[Report PDF in S3];\n    H --\u003e|Uploaded Report| A;\n    H --\u003e|Send Notification| I[SNS Topic];\n```\n\n# Usage\n\n1. To upload the custom lens:\n\n* `aws s3 cp custom_lens.json s3://well-architect-custom-lens-demo/`\n\n2. To upload the answers, create workload, reivew answers and generate Well-Architected PDF Report:\n\n* `aws s3 cp answers.json s3://well-architect-custom-lens-demo/`\n\n\nThe `cdk.json` file tells the CDK Toolkit how to execute your app.\n\n## Useful commands\n\n* `npm run build`   compile typescript to js\n* `npm run watch`   watch for changes and compile\n* `npm run test`    perform the jest unit tests\n* `npx cdk deploy`  deploy this stack to your default AWS account/region\n* `npx cdk diff`    compare deployed stack with current state\n* `npx cdk synth`   emits the synthesized CloudFormation template\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawsdataarchitect%2Fwaf-custom-lens-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawsdataarchitect%2Fwaf-custom-lens-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawsdataarchitect%2Fwaf-custom-lens-automation/lists"}