multicloud-diagrams 0.3.116
Library to generate DRAW.IO compatible diagrams to represent Cloud infrastructure. AWS Cloud supported.
License: MIT
Requires Python: <4.0,>=3.7

# Explore and Document Your Cloud Infrastructure with ``multicloud-diagrams``

---
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)
[![PyPI version](https://badge.fury.io/py/multicloud-diagrams.svg)](https://badge.fury.io/py/multicloud-diagrams)
![python version](https://img.shields.io/badge/python-%3E%3D%203.7-blue?logo=python)
![tests](https://github.com/tsypuk/multicloud-diagrams/workflows/Run%20tests/badge.svg?branch=main)
![pages](https://github.com/tsypuk/multicloud-diagrams/actions/workflows/pages.yml/badge.svg)
![release](https://github.com/tsypuk/multicloud-diagrams/actions/workflows/release.yml/badge.svg)

> As **Professional** **Architects**, **Developers** and **DevOps**  with experience in operating on **Public Cloud Providers**, we all recognize the **crucial importance** of **well-documented**
**Infrastructure** and **Architecture** in a representable form for driving successful projects.

---

- **Check docs:** [https://tsypuk.github.io/multicloud-diagrams/docs/configuration.html](https://tsypuk.github.io/multicloud-diagrams/docs/configuration.html)
- **Source Code:** [https://github.com/tsypuk/multicloud-diagrams](https://github.com/tsypuk/multicloud-diagrams)
- **PyPI:** [https://pypi.org/project/multicloud-diagrams/](https://pypi.org/project/multicloud-diagrams/)
- **Bug reports:** [https://github.com/tsypuk/multicloud-diagrams/issues](https://github.com/tsypuk/multicloud-diagrams/issues)

---

## Support OS Project:

> Support from sponsors is invaluable for the continued maintenance and development of open-source projects.
You can use any of most popular platforms: ``Patreon`` or ``Buy me a Cofee``, by following these links:

- <a href="https://patreon.com/tsypuk"><img width="32" height="32" class="octicon rounded-2 d-block" alt="patreon" src="https://github.githubassets.com/images/modules/site/icons/funding_platforms/patreon.svg"></a>
- <a href="https://www.buymeacoffee.com/tsypuk" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 32px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>

---

``multicloud-diagrams`` is a framework that combines multiple approaches: ``Diagrams as a Code`` (Dac), resources ingestion from external ``yaml`` sources, interaction through programmatic ``API`` integration.

It allows to store the Infrastructure snippet in ``drawio`` format, which is editable vector-based representation.
Since source file is not a Raster form, it is easy to edit, customize, position elements based on our needs and track the history.

---

## Supported Nodes Landscape (Autogenerated on-release):

## AWS nodes:
[![lambda_function.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/lambda_function.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/lambda_function.html)
[![iam_role.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/iam_role.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/iam_role.html)
[![iam_policy.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/iam_policy.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/iam_policy.html)
[![iam_permission.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/iam_permission.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/iam_permission.html)
[![dynamo.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/dynamo.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/dynamo.html)
[![dynamo_stream.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/dynamo_stream.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/dynamo_stream.html)
[![api_gw.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/api_gw.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/api_gw.html)
[![s3.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/s3.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/s3.html)
[![kms.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/kms.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/kms.html)
[![ssm.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/ssm.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/ssm.html)
[![client_vpn.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/client_vpn.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/client_vpn.html)
[![certificate_manager.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/certificate_manager.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/certificate_manager.html)
[![ecs.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/ecs.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/ecs.html)
[![ecs_service.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/ecs_service.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/ecs_service.html)
[![ecs_task.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/ecs_task.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/ecs_task.html)
[![ec2.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/ec2.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/ec2.html)
[![kafka.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/kafka.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/kafka.html)
[![redis.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/redis.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/redis.html)
[![postgresql.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/postgresql.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/postgresql.html)
[![mysql.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/mysql.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/mysql.html)
[![ecr.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/ecr.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/ecr.html)
[![elasticsearch_service.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/elasticsearch_service.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/elasticsearch_service.html)
[![aurora.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/aurora.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/aurora.html)
[![glacier.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/glacier.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/glacier.html)
[![glacier_standard.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/glacier_standard.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/glacier_standard.html)
[![glacier_deep_archival.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/glacier_deep_archival.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/glacier_deep_archival.html)
[![glacier_instant_retrival.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/glacier_instant_retrival.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/glacier_instant_retrival.html)
[![chime_voice_connector.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/chime_voice_connector.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/chime_voice_connector.html)
[![chime_sdk.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/chime_sdk.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/chime_sdk.html)
[![neptune.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/neptune.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/neptune.html)
[![eks.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/eks.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/eks.html)
[![backup.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/backup.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/backup.html)
[![datasync.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/datasync.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/datasync.html)
[![exchange.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/exchange.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/exchange.html)
[![access_analyzer.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/access_analyzer.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/access_analyzer.html)
[![resource_access_manager.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/resource_access_manager.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/resource_access_manager.html)
[![security_hub.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/security_hub.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/security_hub.html)
[![app_runner.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/app_runner.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws-components/app_runner.html)

## AWS2024 nodes:
### AWS2024 / Application Integration
[![app_sync.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/app_sync.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/app_sync.html)
[![step_functions.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/step_functions.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/step_functions.html)
[![sqs.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/sqs.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/sqs.html)
[![sns.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/sns.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/sns.html)
[![mq.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/mq.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/mq.html)
[![event_bridge.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/event_bridge.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/event_bridge.html)
[![appflow.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/appflow.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/appflow.html)

### AWS2024 / Network & Content Delivery
[![route_53.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/route_53.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/route_53.html)
[![direct_connect.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/direct_connect.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/direct_connect.html)
[![cloudfront.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/cloudfront.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/cloudfront.html)
[![vpc_privatelink.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/vpc_privatelink.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/vpc_privatelink.html)
[![vpc.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/vpc.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/vpc.html)
[![vpc_lattice.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/vpc_lattice.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/vpc_lattice.html)
[![app_mesh.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/app_mesh.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/app_mesh.html)
[![site_to_site_vpn.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/site_to_site_vpn.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/site_to_site_vpn.html)
[![cloud_map.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/cloud_map.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/cloud_map.html)
[![private_5g.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/private_5g.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/private_5g.html)
[![cloud_wan.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/cloud_wan.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/cloud_wan.html)
[![global_accelerator.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/global_accelerator.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/global_accelerator.html)
[![transit_gateway.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/transit_gateway.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/transit_gateway.html)
[![network_load_balancer.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/network_load_balancer.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/network_load_balancer.html)
[![elastic_network_adapter.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/elastic_network_adapter.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/elastic_network_adapter.html)

### AWS2024 / Compute
[![outpost.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/outpost.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/outpost.html)
[![elastic_beanstalk.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/elastic_beanstalk.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/elastic_beanstalk.html)
[![elastic_fabric_adapter.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/elastic_fabric_adapter.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/elastic_fabric_adapter.html)
[![local_zones.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/local_zones.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/local_zones.html)
[![lightsail.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/lightsail.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/lightsail.html)
[![elastic_load_balancing.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/elastic_load_balancing.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/elastic_load_balancing.html)
[![auto_scaling2.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/auto_scaling2.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/auto_scaling2.html)
[![fargate.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/fargate.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/fargate.html)

### AWS2024 / Analytics
[![glue.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/glue.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/glue.html)
[![lake_formation.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/lake_formation.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/lake_formation.html)
[![kinesis_video_stream.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/kinesis_video_stream.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/kinesis_video_stream.html)
[![apache_flink.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/apache_flink.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/apache_flink.html)
[![data_brew.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/data_brew.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/data_brew.html)
[![data_pipeline.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/data_pipeline.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/data_pipeline.html)
[![quicksight.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/quicksight.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/quicksight.html)

### AWS2024 / Machine Learning
[![sagemaker_ground_truth.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/sagemaker_ground_truth.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/sagemaker_ground_truth.html)
[![lex.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/lex.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/lex.html)
[![bedrock.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/bedrock.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/bedrock.html)
[![codeguru.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codeguru.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codeguru.html)
[![codewhisperer.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codewhisperer.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codewhisperer.html)
[![comprehend.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/comprehend.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/comprehend.html)
[![comprehend_medical.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/comprehend_medical.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/comprehend_medical.html)
[![textract.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/textract.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/textract.html)

### AWS2024 / AR & VR
[![sumerian.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/sumerian.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/sumerian.html)
[![ar_vr.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/ar_vr.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/ar_vr.html)

### AWS2024 / Database
[![timestream.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/timestream.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/timestream.html)
[![managed_casandra.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/managed_casandra.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/managed_casandra.html)
[![db_migration.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/db_migration.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/db_migration.html)
[![quantum_ledger.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/quantum_ledger.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/quantum_ledger.html)
[![redshift.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/redshift.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/redshift.html)

### AWS2024 / Developer Tools
[![codepipeline.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codepipeline.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codepipeline.html)
[![codeartifact.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codeartifact.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codeartifact.html)
[![codebuild.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codebuild.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codebuild.html)
[![codecommit.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codecommit.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codecommit.html)
[![codedeploy.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codedeploy.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codedeploy.html)
[![codestar.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codestar.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codestar.html)
[![coretto.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/coretto.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/coretto.html)
[![cloud9.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/cloud9.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/cloud9.html)
[![xray.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/xray.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/xray.html)
[![application_composer.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/application_composer.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/application_composer.html)
[![tools_and_sdks.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/tools_and_sdks.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/tools_and_sdks.html)
[![command_line_interface.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/command_line_interface.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/command_line_interface.html)
[![codecatalyst.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/codecatalyst.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/aws2024-components/codecatalyst.html)

## ONPREM nodes:
[![http.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/http.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/onprem-components/http.html)
[![mq_broker.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/mq_broker.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/onprem-components/mq_broker.html)
[![docker.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/docker.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/onprem-components/docker.html)
[![github_code.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/github_code.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/onprem-components/github_code.html)
[![git_repository.jpg](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/icons/jpg/git_repository.jpg?raw=True)]( https://tsypuk.github.io/multicloud-diagrams/docs/onprem-components/git_repository.html)


---

### API Gateway with integrations:

![draw-apigw.gif](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/docs/images/draw-apigw.gif?raw=True)

---

### DynamoDB Insights:

![drawio-dynamodb.gif](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/docs/images/drawio-dynamodb.gif?raw=True)

---

### Augment Diagram from UML:

![drawio-uml.gif](https://github.com/tsypuk/multicloud-diagrams/raw/main/docs/docs/images/uml_animated.gif?raw=True)

---

## Supported Cloud Provides:

| provider                                                                                       | supported in ``multicloud-diagrams`` |
|:-----------------------------------------------------------------------------------------------|:-------------------------------------|
| ![aws provider](https://img.shields.io/badge/AWS-orange?logo=amazon-aws&color=ff9900)          | **[x]** since project start          |
| ![on premise provider](https://img.shields.io/badge/OnPremise-orange?color=5f87bf)             | **[x]** since **v0.2.1**             |
| ![azure provider](https://img.shields.io/badge/Azure-orange?logo=microsoft-azure&color=0089d6) | **[  ]**                             |
| ![gcp provider](https://img.shields.io/badge/GCP-orange?logo=google-cloud&color=4285f4)        | **[  ]**                             |

---

## Why ``multicloud-diagrams`` is written on Python?

The choice of Python as the programming language for our initial project was driven by several key factors that align seamlessly with our goals and requirements. Here's why Python was selected as the foundation for our project's development:

- **Seamless Integration and Data Ingestion using AWS Boto3** (official SDK for Amazon Web Services, developed in Python).
- **Simplicity**: Python's clean and readable syntax simplifies the development process.
  Its ease of use and elegant structure enable to focus on the core components without being bogged down by unnecessary complexities.
- **Broad Appeal among DevOps and Developers**: Python's popularity within the DevOps and Development communities is undeniable.
  Its extensive adoption is a testament to its effectiveness for building robust applications.
  By choosing Python, we cater to a broader audience, fostering collaboration and easing the learning curve for newcomers.
- **Cross-Platform Availability**: Python's cross-platform compatibility ensures that our project can be run on a wide array of environments without compatibility issues.
  Whether you're working on Windows, macOS, or Linux, Python's ubiquity guarantees consistent functionality across platforms.

## Why ``multicloud-diagrams`` chooses ``drawio`` as the Output Format?
During my exploration of various tools on this journey, I've encountered several options, each with its own set of advantages and compromises. However, after careful consideration,
the decision to adopt the drawio format emerged as the optimal choice for several compelling reasons:

- **Editable form** of drawio format provides a great level of customization, enabling users to easily fine-tune diagrams to meet specific needs and scenarios.
- **Widespread Adoption**:  with a broad user base, drawio stands as one of the most widely used diagramming tools, ensuring familiarity and compatibility across diverse teams.
- **Enhanced Plugin and Tool Support**: the format seamlessly integrates with a set of plugins and tools, enriching the ecosystem with expanded capabilities and possibilities.
- **Compact File Sizes**: leveraging the drawio format results in compact file sizes, facilitating swift sharing and distribution without compromising visual quality.
- **Git-trackable Infrastructure Evolution**: allowing for efficient tracking and visualization of infrastructure mutations over time.
- **Smooth Compilation to Raster and other formats**: drawio supports out of the box converting to PNG, JPG, PDF, SVG, VSDX, XML

---