Merge branch 'master' into master

pull/428/head
Mohammed Yahya - Almusaddar 4 years ago committed by GitHub
commit 391e81e22a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -30,9 +30,9 @@ ffmpeg -i my_big_image.jpg -vf scale=w=256:h=256:force_original_aspect_ratio=dec
Then just run the `./autogen.sh` to generate the added or updated node classes. (cf. [DEVELOPMENT][DEVELOPMENT.md]) Then just run the `./autogen.sh` to generate the added or updated node classes. (cf. [DEVELOPMENT][DEVELOPMENT.md])
> IMPORTANT NOTE: To run `autogen.sh`, you need [round][round] and > IMPORTANT NOTE: To run `autogen.sh`, you need [round][round], [black][black] and
> [inkscape][inkscape] command lines that are used for cleaning the image > [inkscape][inkscape] command lines that are used for cleaning the image
> resource filenames. > resource filenames and formatting the generated python code.
> >
> macOS users can download the inkscape via Homebrew. > macOS users can download the inkscape via Homebrew.
> >
@ -40,6 +40,7 @@ Then just run the `./autogen.sh` to generate the added or updated node classes.
[DEVELOPMENT.md]: ./DEVELOPMENT.md [DEVELOPMENT.md]: ./DEVELOPMENT.md
[round]: https://github.com/mingrammer/round [round]: https://github.com/mingrammer/round
[black]: https://pypi.org/project/black
[inkscape]: https://inkscape.org/ko/release [inkscape]: https://inkscape.org/ko/release
### Update Aliases ### Update Aliases

@ -7,21 +7,7 @@
![python version](https://img.shields.io/badge/python-3.6%2C3.7%2C3.8-blue?logo=python) ![python version](https://img.shields.io/badge/python-3.6%2C3.7%2C3.8-blue?logo=python)
![Run tests](https://github.com/mingrammer/diagrams/workflows/Run%20tests/badge.svg?branch=master) ![Run tests](https://github.com/mingrammer/diagrams/workflows/Run%20tests/badge.svg?branch=master)
[![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams) [![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams)
![contributors](https://img.shields.io/github/contributors/mingrammer/diagrams)
![on premise provider](https://img.shields.io/badge/provider-OnPremise-orange?color=5f87bf)
![aws provider](https://img.shields.io/badge/provider-AWS-orange?logo=amazon-aws&color=ff9900)
![azure provider](https://img.shields.io/badge/provider-Azure-orange?logo=microsoft-azure&color=0089d6)
![gcp provider](https://img.shields.io/badge/provider-GCP-orange?logo=google-cloud&color=4285f4)
![kubernetes provider](https://img.shields.io/badge/provider-Kubernetes-orange?logo=kubernetes&color=326ce5)
![alibaba cloud provider](https://img.shields.io/badge/provider-AlibabaCloud-orange)
![oracle cloud provider](https://img.shields.io/badge/provider-OracleCloud-orange?logo=oracle&color=f80000)
![openstack provider](https://img.shields.io/badge/provider-OpenStack-orange?logo=openstack&color=da1a32)
![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28)
![outscale provider](https://img.shields.io/badge/provider-OutScale-orange?color=5f87bf)
![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571)
![generic provider](https://img.shields.io/badge/provider-Generic-orange?color=5f87bf)
![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf)
![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf)
<a href="https://www.buymeacoffee.com/mingrammer" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a> <a href="https://www.buymeacoffee.com/mingrammer" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>
@ -33,6 +19,24 @@ Diagrams lets you draw the cloud system architecture **in Python code**. It was
> NOTE: It does not control any actual cloud resources nor does it generate cloud formation or terraform code. It is just for drawing the cloud system architecture diagrams. > NOTE: It does not control any actual cloud resources nor does it generate cloud formation or terraform code. It is just for drawing the cloud system architecture diagrams.
## Providers
![aws provider](https://img.shields.io/badge/AWS-orange?logo=amazon-aws&color=ff9900)
![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)
![ibm provider](https://img.shields.io/badge/IBM-orange?logo=ibm&color=052FAD)
![kubernetes provider](https://img.shields.io/badge/Kubernetes-orange?logo=kubernetes&color=326ce5)
![alibaba cloud provider](https://img.shields.io/badge/AlibabaCloud-orange)
![oracle cloud provider](https://img.shields.io/badge/OracleCloud-orange?logo=oracle&color=f80000)
![openstack provider](https://img.shields.io/badge/OpenStack-orange?logo=openstack&color=da1a32)
![firebase provider](https://img.shields.io/badge/Firebase-orange?logo=firebase&color=FFCA28)
![elastic provider](https://img.shields.io/badge/Elastic-orange?logo=elastic&color=005571)
![outscale provider](https://img.shields.io/badge/OutScale-orange?color=5f87bf)
![on premise provider](https://img.shields.io/badge/OnPremise-orange?color=5f87bf)
![generic provider](https://img.shields.io/badge/Generic-orange?color=5f87bf)
![programming provider](https://img.shields.io/badge/Programming-orange?color=5f87bf)
![saas provider](https://img.shields.io/badge/SaaS-orange?color=5f87bf)
## Getting Started ## Getting Started
It requires **Python 3.6** or higher, check your Python version first. It requires **Python 3.6** or higher, check your Python version first.
@ -70,11 +74,9 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md).
## Who uses it? ## Who uses it?
[![GitPitch](https://gitpitch.com/gpimg/logo.png)](https://gitpitch.com/) [GitPitch](https://gitpitch.github.io/gitpitch) is the perfect slide deck solution for Tech Conferences, Training, Developer Advocates, and Educators. Diagrams is now available as a dedicated [Cloud Diagram Markdown Widget](https://gitpitch.github.io/gitpitch/#/diagrams/cloud-architecture) so you can use Diagrams directly on any slide for conferences, meetups, and training.
[GitPitch](https://gitpitch.com/) is the perfect slide deck solution for Tech Conferences, Training, Developer Advocates, and Educators. Diagrams is now available as a dedicated [Cloud Diagram Markdown Widget](https://docs.gitpitch.com/#/diagrams/cloud-architecture) so you can use Diagrams directly on any slide for conferences, meetups, and training.
[Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw the your existing cloud infrastructure with Cloudicovery. [Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw your existing cloud infrastructure with Cloudiscovery.
[Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams. [Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams.

@ -4,7 +4,7 @@ set -e
app_root_dir="diagrams" app_root_dir="diagrams"
# NOTE: azure icon set is not latest version # NOTE: azure icon set is not latest version
providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale") providers=("onprem" "aws" "azure" "gcp" "ibm" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" )
if ! [ -x "$(command -v round)" ]; then if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed' echo 'round is not installed'
@ -33,7 +33,7 @@ for pvd in "${providers[@]}"; do
echo "converting the svg to png using inkscape for provider '$pvd'" echo "converting the svg to png using inkscape for provider '$pvd'"
python -m scripts.resource svg2png "$pvd" python -m scripts.resource svg2png "$pvd"
fi fi
if [ "$pvd" == "oci" ]; then if [ "$pvd" == "oci" ] || [ "$pvd" = "ibm" ]; then
echo "converting the svg to png using image magick for provider '$pvd'" echo "converting the svg to png using image magick for provider '$pvd'"
python -m scripts.resource svg2png2 "$pvd" python -m scripts.resource svg2png2 "$pvd"
fi fi
@ -52,6 +52,10 @@ for pvd in "${providers[@]}"; do
python -m scripts.generate "$pvd" python -m scripts.generate "$pvd"
done done
# Generate doc for custom module
echo "generating the docs for custom"
python -m scripts.generate "custom"
# run black # run black
echo "linting the all the diagram modules" echo "linting the all the diagram modules"
black "$app_root_dir"/**/*.py black "$app_root_dir"/**/*.py

@ -12,7 +12,7 @@ DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates" DIR_TEMPLATE = "templates"
PROVIDERS = ( PROVIDERS = (
"base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic", "base", "onprem", "aws", "azure", "gcp", "ibm", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic",
"generic", "openstack", "outscale") "generic", "openstack", "outscale")
######################### #########################
@ -32,6 +32,7 @@ FILE_PREFIXES = {
"azure": ("Azure-",), "azure": ("Azure-",),
"gcp": ("Cloud-",), "gcp": ("Cloud-",),
"firebase": ("Cloud-",), "firebase": ("Cloud-",),
"ibm": (),
"k8s": (), "k8s": (),
"alibabacloud": (), "alibabacloud": (),
"oci": ("OCI-icon-",), "oci": ("OCI-icon-",),
@ -70,6 +71,7 @@ UPPER_WORDS = {
"outscale": ("osc",), "outscale": ("osc",),
"openstack": ("rpm", "loci", "nfv", "ec2api"), "openstack": ("rpm", "loci", "nfv", "ec2api"),
"pve": ("pve"), "pve": ("pve"),
"ibm": ("ibm"),
} }
TITLE_WORDS = { TITLE_WORDS = {
@ -85,11 +87,17 @@ TITLE_WORDS = {
"openstack": { "openstack": {
"openstack": "OpenStack" "openstack": "OpenStack"
}, },
"ibm": {
"ibm": "IBMCloud"
},
} }
# TODO: check if the classname exists # TODO: check if the classname exists
ALIASES = { ALIASES = {
"onprem": { "onprem": {
"analytics": {
"Powerbi": "PowerBI"
},
"ci": { "ci": {
"Circleci": "CircleCI", "Circleci": "CircleCI",
"Concourseci": "ConcourseCI", "Concourseci": "ConcourseCI",
@ -160,6 +168,7 @@ ALIASES = {
}, },
"compute": { "compute": {
"ApplicationAutoScaling": "AutoScaling", "ApplicationAutoScaling": "AutoScaling",
"EC2Ami": "AMI",
"EC2ContainerRegistry": "ECR", "EC2ContainerRegistry": "ECR",
"ElasticBeanstalk": "EB", "ElasticBeanstalk": "EB",
"ElasticContainerService": "ECS", "ElasticContainerService": "ECS",
@ -212,6 +221,9 @@ ALIASES = {
"network": { "network": {
"CloudFront": "CF", "CloudFront": "CF",
"ElasticLoadBalancing": "ELB", "ElasticLoadBalancing": "ELB",
"ElbApplicationLoadBalancer": "ALB",
"ElbClassicLoadBalancer": "CLB",
"ElbNetworkLoadBalancer": "NLB",
"GlobalAccelerator": "GAX", "GlobalAccelerator": "GAX",
}, },
"security": { "security": {
@ -239,6 +251,7 @@ ALIASES = {
"compute": { "compute": {
"ContainerRegistries": "ACR", "ContainerRegistries": "ACR",
"KubernetesServices": "AKS", "KubernetesServices": "AKS",
"VMScaleSet": "VMSS"
}, },
}, },
"gcp": { "gcp": {
@ -385,13 +398,16 @@ ALIASES = {
"OKEWhite": "ContainerEngineWhite", "OKEWhite": "ContainerEngineWhite",
}, },
"database": { "database": {
"AutonomousDatabase": "ADB", "Autonomous": "ADB",
"AutonomousDatabaseWhite": "ADBWhite", "AutonomousWhite": "ADBWhite",
"Databaseservice": "DBService", "DatabaseService": "DBService",
"DatabaseserviceWhite": "DBServiceWhite", "DatabaseServiceWhite": "DBServiceWhite",
} }
}, },
"programming": { "programming": {
"framework": {
"Fastapi": "FastAPI"
},
"language": { "language": {
"Javascript": "JavaScript", "Javascript": "JavaScript",
"Nodejs": "NodeJS", "Nodejs": "NodeJS",
@ -413,6 +429,7 @@ ALIASES = {
"outscale": { "outscale": {
"Osc": "OSC", "Osc": "OSC",
}, },
"ibm": {},
"generic": {}, "generic": {},
"openstack": { "openstack": {
"user": { "user": {

@ -104,7 +104,7 @@ class Diagram:
""" """
self.name = name self.name = name
if not name and not filename: if not name and not filename:
filename = "diagrams_image" filename = "diagrams_image"
elif not filename: elif not filename:
filename = "_".join(self.name.split()).lower() filename = "_".join(self.name.split()).lower()
self.filename = filename self.filename = filename
@ -211,7 +211,10 @@ class Cluster:
# Cluster direction does not work now. Graphviz couldn't render # Cluster direction does not work now. Graphviz couldn't render
# correctly for a subgraph that has a different rank direction. # correctly for a subgraph that has a different rank direction.
def __init__( def __init__(
self, label: str = "cluster", direction: str = "LR", graph_attr: dict = {}, self,
label: str = "cluster",
direction: str = "LR",
graph_attr: dict = {},
): ):
"""Cluster represents a cluster context. """Cluster represents a cluster context.
@ -403,8 +406,8 @@ class Node:
""" """
if not isinstance(node, Node): if not isinstance(node, Node):
ValueError(f"{node} is not a valid Node") ValueError(f"{node} is not a valid Node")
if not isinstance(node, Edge): if not isinstance(edge, Edge):
ValueError(f"{node} is not a valid Edge") ValueError(f"{edge} is not a valid Edge")
# An edge must be added on the global diagrams, not a cluster. # An edge must be added on the global diagrams, not a cluster.
self._diagram.connect(self, node, edge) self._diagram.connect(self, node, edge)
return node return node

@ -24,6 +24,10 @@ class Cloudsearch(_Analytics):
_icon = "cloudsearch.png" _icon = "cloudsearch.png"
class DataLakeResource(_Analytics):
_icon = "data-lake-resource.png"
class DataPipeline(_Analytics): class DataPipeline(_Analytics):
_icon = "data-pipeline.png" _icon = "data-pipeline.png"
@ -36,6 +40,22 @@ class EMRCluster(_Analytics):
_icon = "emr-cluster.png" _icon = "emr-cluster.png"
class EMREngineMaprM3(_Analytics):
_icon = "emr-engine-mapr-m3.png"
class EMREngineMaprM5(_Analytics):
_icon = "emr-engine-mapr-m5.png"
class EMREngineMaprM7(_Analytics):
_icon = "emr-engine-mapr-m7.png"
class EMREngine(_Analytics):
_icon = "emr-engine.png"
class EMRHdfsCluster(_Analytics): class EMRHdfsCluster(_Analytics):
_icon = "emr-hdfs-cluster.png" _icon = "emr-hdfs-cluster.png"

@ -8,6 +8,10 @@ class _Ar(_AWS):
_icon_dir = "resources/aws/ar" _icon_dir = "resources/aws/ar"
class ArVr(_Ar):
_icon = "ar-vr.png"
class Sumerian(_Ar): class Sumerian(_Ar):
_icon = "sumerian.png" _icon = "sumerian.png"

@ -8,6 +8,14 @@ class _Blockchain(_AWS):
_icon_dir = "resources/aws/blockchain" _icon_dir = "resources/aws/blockchain"
class BlockchainResource(_Blockchain):
_icon = "blockchain-resource.png"
class Blockchain(_Blockchain):
_icon = "blockchain.png"
class ManagedBlockchain(_Blockchain): class ManagedBlockchain(_Blockchain):
_icon = "managed-blockchain.png" _icon = "managed-blockchain.png"

@ -12,6 +12,10 @@ class AlexaForBusiness(_Business):
_icon = "alexa-for-business.png" _icon = "alexa-for-business.png"
class BusinessApplications(_Business):
_icon = "business-applications.png"
class Chime(_Business): class Chime(_Business):
_icon = "chime.png" _icon = "chime.png"

@ -16,22 +16,82 @@ class Batch(_Compute):
_icon = "batch.png" _icon = "batch.png"
class ComputeOptimizer(_Compute):
_icon = "compute-optimizer.png"
class Compute(_Compute): class Compute(_Compute):
_icon = "compute.png" _icon = "compute.png"
class EC2Ami(_Compute):
_icon = "ec2-ami.png"
class EC2AutoScaling(_Compute):
_icon = "ec2-auto-scaling.png"
class EC2ContainerRegistryImage(_Compute):
_icon = "ec2-container-registry-image.png"
class EC2ContainerRegistryRegistry(_Compute):
_icon = "ec2-container-registry-registry.png"
class EC2ContainerRegistry(_Compute): class EC2ContainerRegistry(_Compute):
_icon = "ec2-container-registry.png" _icon = "ec2-container-registry.png"
class EC2ElasticIpAddress(_Compute):
_icon = "ec2-elastic-ip-address.png"
class EC2ImageBuilder(_Compute):
_icon = "ec2-image-builder.png"
class EC2Instance(_Compute):
_icon = "ec2-instance.png"
class EC2Instances(_Compute):
_icon = "ec2-instances.png"
class EC2Rescue(_Compute):
_icon = "ec2-rescue.png"
class EC2SpotInstance(_Compute):
_icon = "ec2-spot-instance.png"
class EC2(_Compute): class EC2(_Compute):
_icon = "ec2.png" _icon = "ec2.png"
class ElasticBeanstalkApplication(_Compute):
_icon = "elastic-beanstalk-application.png"
class ElasticBeanstalkDeployment(_Compute):
_icon = "elastic-beanstalk-deployment.png"
class ElasticBeanstalk(_Compute): class ElasticBeanstalk(_Compute):
_icon = "elastic-beanstalk.png" _icon = "elastic-beanstalk.png"
class ElasticContainerServiceContainer(_Compute):
_icon = "elastic-container-service-container.png"
class ElasticContainerServiceService(_Compute):
_icon = "elastic-container-service-service.png"
class ElasticContainerService(_Compute): class ElasticContainerService(_Compute):
_icon = "elastic-container-service.png" _icon = "elastic-container-service.png"
@ -44,6 +104,10 @@ class Fargate(_Compute):
_icon = "fargate.png" _icon = "fargate.png"
class LambdaFunction(_Compute):
_icon = "lambda-function.png"
class Lambda(_Compute): class Lambda(_Compute):
_icon = "lambda.png" _icon = "lambda.png"
@ -52,6 +116,10 @@ class Lightsail(_Compute):
_icon = "lightsail.png" _icon = "lightsail.png"
class LocalZones(_Compute):
_icon = "local-zones.png"
class Outposts(_Compute): class Outposts(_Compute):
_icon = "outposts.png" _icon = "outposts.png"
@ -92,9 +160,14 @@ class VmwareCloudOnAWS(_Compute):
_icon = "vmware-cloud-on-aws.png" _icon = "vmware-cloud-on-aws.png"
class Wavelength(_Compute):
_icon = "wavelength.png"
# Aliases # Aliases
AutoScaling = ApplicationAutoScaling AutoScaling = ApplicationAutoScaling
AMI = EC2Ami
ECR = EC2ContainerRegistry ECR = EC2ContainerRegistry
EB = ElasticBeanstalk EB = ElasticBeanstalk
ECS = ElasticContainerService ECS = ElasticContainerService

@ -20,6 +20,10 @@ class CostExplorer(_Cost):
_icon = "cost-explorer.png" _icon = "cost-explorer.png"
class CostManagement(_Cost):
_icon = "cost-management.png"
class ReservedInstanceReporting(_Cost): class ReservedInstanceReporting(_Cost):
_icon = "reserved-instance-reporting.png" _icon = "reserved-instance-reporting.png"

@ -8,10 +8,18 @@ class _Database(_AWS):
_icon_dir = "resources/aws/database" _icon_dir = "resources/aws/database"
class AuroraInstance(_Database):
_icon = "aurora-instance.png"
class Aurora(_Database): class Aurora(_Database):
_icon = "aurora.png" _icon = "aurora.png"
class DatabaseMigrationServiceDatabaseMigrationWorkflow(_Database):
_icon = "database-migration-service-database-migration-workflow.png"
class DatabaseMigrationService(_Database): class DatabaseMigrationService(_Database):
_icon = "database-migration-service.png" _icon = "database-migration-service.png"
@ -24,6 +32,14 @@ class DocumentdbMongodbCompatibility(_Database):
_icon = "documentdb-mongodb-compatibility.png" _icon = "documentdb-mongodb-compatibility.png"
class DynamodbAttribute(_Database):
_icon = "dynamodb-attribute.png"
class DynamodbAttributes(_Database):
_icon = "dynamodb-attributes.png"
class DynamodbDax(_Database): class DynamodbDax(_Database):
_icon = "dynamodb-dax.png" _icon = "dynamodb-dax.png"
@ -32,6 +48,14 @@ class DynamodbGlobalSecondaryIndex(_Database):
_icon = "dynamodb-global-secondary-index.png" _icon = "dynamodb-global-secondary-index.png"
class DynamodbItem(_Database):
_icon = "dynamodb-item.png"
class DynamodbItems(_Database):
_icon = "dynamodb-items.png"
class DynamodbTable(_Database): class DynamodbTable(_Database):
_icon = "dynamodb-table.png" _icon = "dynamodb-table.png"
@ -40,10 +64,26 @@ class Dynamodb(_Database):
_icon = "dynamodb.png" _icon = "dynamodb.png"
class ElasticacheCacheNode(_Database):
_icon = "elasticache-cache-node.png"
class ElasticacheForMemcached(_Database):
_icon = "elasticache-for-memcached.png"
class ElasticacheForRedis(_Database):
_icon = "elasticache-for-redis.png"
class Elasticache(_Database): class Elasticache(_Database):
_icon = "elasticache.png" _icon = "elasticache.png"
class KeyspacesManagedApacheCassandraService(_Database):
_icon = "keyspaces-managed-apache-cassandra-service.png"
class Neptune(_Database): class Neptune(_Database):
_icon = "neptune.png" _icon = "neptune.png"
@ -52,14 +92,46 @@ class QuantumLedgerDatabaseQldb(_Database):
_icon = "quantum-ledger-database-qldb.png" _icon = "quantum-ledger-database-qldb.png"
class RDSInstance(_Database):
_icon = "rds-instance.png"
class RDSMariadbInstance(_Database):
_icon = "rds-mariadb-instance.png"
class RDSMysqlInstance(_Database):
_icon = "rds-mysql-instance.png"
class RDSOnVmware(_Database): class RDSOnVmware(_Database):
_icon = "rds-on-vmware.png" _icon = "rds-on-vmware.png"
class RDSOracleInstance(_Database):
_icon = "rds-oracle-instance.png"
class RDSPostgresqlInstance(_Database):
_icon = "rds-postgresql-instance.png"
class RDSSqlServerInstance(_Database):
_icon = "rds-sql-server-instance.png"
class RDS(_Database): class RDS(_Database):
_icon = "rds.png" _icon = "rds.png"
class RedshiftDenseComputeNode(_Database):
_icon = "redshift-dense-compute-node.png"
class RedshiftDenseStorageNode(_Database):
_icon = "redshift-dense-storage-node.png"
class Redshift(_Database): class Redshift(_Database):
_icon = "redshift.png" _icon = "redshift.png"

@ -12,6 +12,10 @@ class CloudDevelopmentKit(_Devtools):
_icon = "cloud-development-kit.png" _icon = "cloud-development-kit.png"
class Cloud9Resource(_Devtools):
_icon = "cloud9-resource.png"
class Cloud9(_Devtools): class Cloud9(_Devtools):
_icon = "cloud9.png" _icon = "cloud9.png"

@ -8,6 +8,10 @@ class _Enablement(_AWS):
_icon_dir = "resources/aws/enablement" _icon_dir = "resources/aws/enablement"
class CustomerEnablement(_Enablement):
_icon = "customer-enablement.png"
class Iq(_Enablement): class Iq(_Enablement):
_icon = "iq.png" _icon = "iq.png"

@ -12,6 +12,10 @@ class Appstream20(_Enduser):
_icon = "appstream-2-0.png" _icon = "appstream-2-0.png"
class DesktopAndAppStreaming(_Enduser):
_icon = "desktop-and-app-streaming.png"
class Workdocs(_Enduser): class Workdocs(_Enduser):
_icon = "workdocs.png" _icon = "workdocs.png"

@ -12,10 +12,18 @@ class Connect(_Engagement):
_icon = "connect.png" _icon = "connect.png"
class CustomerEngagement(_Engagement):
_icon = "customer-engagement.png"
class Pinpoint(_Engagement): class Pinpoint(_Engagement):
_icon = "pinpoint.png" _icon = "pinpoint.png"
class SimpleEmailServiceSesEmail(_Engagement):
_icon = "simple-email-service-ses-email.png"
class SimpleEmailServiceSes(_Engagement): class SimpleEmailServiceSes(_Engagement):
_icon = "simple-email-service-ses.png" _icon = "simple-email-service-ses.png"

@ -8,6 +8,10 @@ class _Game(_AWS):
_icon_dir = "resources/aws/game" _icon_dir = "resources/aws/game"
class GameTech(_Game):
_icon = "game-tech.png"
class Gamelift(_Game): class Gamelift(_Game):
_icon = "gamelift.png" _icon = "gamelift.png"

@ -8,10 +8,22 @@ class _General(_AWS):
_icon_dir = "resources/aws/general" _icon_dir = "resources/aws/general"
class InternetGateway(_General):
_icon = "Internet-gateway.png"
class Client(_General):
_icon = "client.png"
class Disk(_General): class Disk(_General):
_icon = "disk.png" _icon = "disk.png"
class Forums(_General):
_icon = "forums.png"
class General(_General): class General(_General):
_icon = "general.png" _icon = "general.png"
@ -36,10 +48,50 @@ class GenericSDK(_General):
_icon = "generic-sdk.png" _icon = "generic-sdk.png"
class InternetAlt1(_General):
_icon = "internet-alt1.png"
class InternetAlt2(_General):
_icon = "internet-alt2.png"
class Marketplace(_General): class Marketplace(_General):
_icon = "marketplace.png" _icon = "marketplace.png"
class MobileClient(_General):
_icon = "mobile-client.png"
class Multimedia(_General):
_icon = "multimedia.png"
class OfficeBuilding(_General):
_icon = "office-building.png"
class SamlToken(_General):
_icon = "saml-token.png"
class SDK(_General):
_icon = "sdk.png"
class SslPadlock(_General):
_icon = "ssl-padlock.png"
class TapeStorage(_General):
_icon = "tape-storage.png"
class Toolkit(_General):
_icon = "toolkit.png"
class TraditionalServer(_General): class TraditionalServer(_General):
_icon = "traditional-server.png" _icon = "traditional-server.png"

@ -20,18 +20,58 @@ class ConsoleMobileApplication(_Integration):
_icon = "console-mobile-application.png" _icon = "console-mobile-application.png"
class EventResource(_Integration):
_icon = "event-resource.png"
class EventbridgeCustomEventBusResource(_Integration):
_icon = "eventbridge-custom-event-bus-resource.png"
class EventbridgeDefaultEventBusResource(_Integration):
_icon = "eventbridge-default-event-bus-resource.png"
class EventbridgeSaasPartnerEventBusResource(_Integration):
_icon = "eventbridge-saas-partner-event-bus-resource.png"
class Eventbridge(_Integration): class Eventbridge(_Integration):
_icon = "eventbridge.png" _icon = "eventbridge.png"
class ExpressWorkflows(_Integration):
_icon = "express-workflows.png"
class MQ(_Integration): class MQ(_Integration):
_icon = "mq.png" _icon = "mq.png"
class SimpleNotificationServiceSnsEmailNotification(_Integration):
_icon = "simple-notification-service-sns-email-notification.png"
class SimpleNotificationServiceSnsHttpNotification(_Integration):
_icon = "simple-notification-service-sns-http-notification.png"
class SimpleNotificationServiceSnsTopic(_Integration):
_icon = "simple-notification-service-sns-topic.png"
class SimpleNotificationServiceSns(_Integration): class SimpleNotificationServiceSns(_Integration):
_icon = "simple-notification-service-sns.png" _icon = "simple-notification-service-sns.png"
class SimpleQueueServiceSqsMessage(_Integration):
_icon = "simple-queue-service-sqs-message.png"
class SimpleQueueServiceSqsQueue(_Integration):
_icon = "simple-queue-service-sqs-queue.png"
class SimpleQueueServiceSqs(_Integration): class SimpleQueueServiceSqs(_Integration):
_icon = "simple-queue-service-sqs.png" _icon = "simple-queue-service-sqs.png"

@ -24,18 +24,58 @@ class IotAction(_Iot):
_icon = "iot-action.png" _icon = "iot-action.png"
class IotActuator(_Iot):
_icon = "iot-actuator.png"
class IotAlexaEcho(_Iot): class IotAlexaEcho(_Iot):
_icon = "iot-alexa-echo.png" _icon = "iot-alexa-echo.png"
class IotAlexaEnabledDevice(_Iot):
_icon = "iot-alexa-enabled-device.png"
class IotAlexaSkill(_Iot): class IotAlexaSkill(_Iot):
_icon = "iot-alexa-skill.png" _icon = "iot-alexa-skill.png"
class IotAlexaVoiceService(_Iot):
_icon = "iot-alexa-voice-service.png"
class IotAnalyticsChannel(_Iot):
_icon = "iot-analytics-channel.png"
class IotAnalyticsDataSet(_Iot):
_icon = "iot-analytics-data-set.png"
class IotAnalyticsDataStore(_Iot):
_icon = "iot-analytics-data-store.png"
class IotAnalyticsNotebook(_Iot):
_icon = "iot-analytics-notebook.png"
class IotAnalyticsPipeline(_Iot):
_icon = "iot-analytics-pipeline.png"
class IotAnalytics(_Iot): class IotAnalytics(_Iot):
_icon = "iot-analytics.png" _icon = "iot-analytics.png"
class IotBank(_Iot):
_icon = "iot-bank.png"
class IotBicycle(_Iot):
_icon = "iot-bicycle.png"
class IotButton(_Iot): class IotButton(_Iot):
_icon = "iot-button.png" _icon = "iot-button.png"
@ -44,26 +84,66 @@ class IotCamera(_Iot):
_icon = "iot-camera.png" _icon = "iot-camera.png"
class IotCar(_Iot):
_icon = "iot-car.png"
class IotCart(_Iot):
_icon = "iot-cart.png"
class IotCertificate(_Iot): class IotCertificate(_Iot):
_icon = "iot-certificate.png" _icon = "iot-certificate.png"
class IotCoffeePot(_Iot):
_icon = "iot-coffee-pot.png"
class IotCore(_Iot): class IotCore(_Iot):
_icon = "iot-core.png" _icon = "iot-core.png"
class IotDesiredState(_Iot):
_icon = "iot-desired-state.png"
class IotDeviceDefender(_Iot): class IotDeviceDefender(_Iot):
_icon = "iot-device-defender.png" _icon = "iot-device-defender.png"
class IotDeviceGateway(_Iot):
_icon = "iot-device-gateway.png"
class IotDeviceManagement(_Iot): class IotDeviceManagement(_Iot):
_icon = "iot-device-management.png" _icon = "iot-device-management.png"
class IotDoorLock(_Iot):
_icon = "iot-door-lock.png"
class IotEvents(_Iot): class IotEvents(_Iot):
_icon = "iot-events.png" _icon = "iot-events.png"
class IotFactory(_Iot):
_icon = "iot-factory.png"
class IotFireTvStick(_Iot):
_icon = "iot-fire-tv-stick.png"
class IotFireTv(_Iot):
_icon = "iot-fire-tv.png"
class IotGeneric(_Iot):
_icon = "iot-generic.png"
class IotGreengrassConnector(_Iot): class IotGreengrassConnector(_Iot):
_icon = "iot-greengrass-connector.png" _icon = "iot-greengrass-connector.png"
@ -76,6 +156,10 @@ class IotHardwareBoard(_Iot):
_icon = "iot-hardware-board.png" _icon = "iot-hardware-board.png"
class IotHouse(_Iot):
_icon = "iot-house.png"
class IotHttp(_Iot): class IotHttp(_Iot):
_icon = "iot-http.png" _icon = "iot-http.png"
@ -92,10 +176,22 @@ class IotLambda(_Iot):
_icon = "iot-lambda.png" _icon = "iot-lambda.png"
class IotLightbulb(_Iot):
_icon = "iot-lightbulb.png"
class IotMedicalEmergency(_Iot):
_icon = "iot-medical-emergency.png"
class IotMqtt(_Iot): class IotMqtt(_Iot):
_icon = "iot-mqtt.png" _icon = "iot-mqtt.png"
class IotOverTheAirUpdate(_Iot):
_icon = "iot-over-the-air-update.png"
class IotPolicyEmergency(_Iot): class IotPolicyEmergency(_Iot):
_icon = "iot-policy-emergency.png" _icon = "iot-policy-emergency.png"
@ -104,18 +200,38 @@ class IotPolicy(_Iot):
_icon = "iot-policy.png" _icon = "iot-policy.png"
class IotReportedState(_Iot):
_icon = "iot-reported-state.png"
class IotRule(_Iot): class IotRule(_Iot):
_icon = "iot-rule.png" _icon = "iot-rule.png"
class IotSensor(_Iot):
_icon = "iot-sensor.png"
class IotServo(_Iot):
_icon = "iot-servo.png"
class IotShadow(_Iot): class IotShadow(_Iot):
_icon = "iot-shadow.png" _icon = "iot-shadow.png"
class IotSimulator(_Iot):
_icon = "iot-simulator.png"
class IotSitewise(_Iot): class IotSitewise(_Iot):
_icon = "iot-sitewise.png" _icon = "iot-sitewise.png"
class IotThermostat(_Iot):
_icon = "iot-thermostat.png"
class IotThingsGraph(_Iot): class IotThingsGraph(_Iot):
_icon = "iot-things-graph.png" _icon = "iot-things-graph.png"
@ -124,6 +240,18 @@ class IotTopic(_Iot):
_icon = "iot-topic.png" _icon = "iot-topic.png"
class IotTravel(_Iot):
_icon = "iot-travel.png"
class IotUtility(_Iot):
_icon = "iot-utility.png"
class IotWindfarm(_Iot):
_icon = "iot-windfarm.png"
# Aliases # Aliases
FreeRTOS = Freertos FreeRTOS = Freertos

@ -12,6 +12,18 @@ class AutoScaling(_Management):
_icon = "auto-scaling.png" _icon = "auto-scaling.png"
class CloudformationChangeSet(_Management):
_icon = "cloudformation-change-set.png"
class CloudformationStack(_Management):
_icon = "cloudformation-stack.png"
class CloudformationTemplate(_Management):
_icon = "cloudformation-template.png"
class Cloudformation(_Management): class Cloudformation(_Management):
_icon = "cloudformation.png" _icon = "cloudformation.png"
@ -20,6 +32,22 @@ class Cloudtrail(_Management):
_icon = "cloudtrail.png" _icon = "cloudtrail.png"
class CloudwatchAlarm(_Management):
_icon = "cloudwatch-alarm.png"
class CloudwatchEventEventBased(_Management):
_icon = "cloudwatch-event-event-based.png"
class CloudwatchEventTimeBased(_Management):
_icon = "cloudwatch-event-time-based.png"
class CloudwatchRule(_Management):
_icon = "cloudwatch-rule.png"
class Cloudwatch(_Management): class Cloudwatch(_Management):
_icon = "cloudwatch.png" _icon = "cloudwatch.png"
@ -48,30 +76,130 @@ class ManagedServices(_Management):
_icon = "managed-services.png" _icon = "managed-services.png"
class ManagementAndGovernance(_Management):
_icon = "management-and-governance.png"
class ManagementConsole(_Management): class ManagementConsole(_Management):
_icon = "management-console.png" _icon = "management-console.png"
class OpsworksApps(_Management):
_icon = "opsworks-apps.png"
class OpsworksDeployments(_Management):
_icon = "opsworks-deployments.png"
class OpsworksInstances(_Management):
_icon = "opsworks-instances.png"
class OpsworksLayers(_Management):
_icon = "opsworks-layers.png"
class OpsworksMonitoring(_Management):
_icon = "opsworks-monitoring.png"
class OpsworksPermissions(_Management):
_icon = "opsworks-permissions.png"
class OpsworksResources(_Management):
_icon = "opsworks-resources.png"
class OpsworksStack(_Management):
_icon = "opsworks-stack.png"
class Opsworks(_Management): class Opsworks(_Management):
_icon = "opsworks.png" _icon = "opsworks.png"
class OrganizationsAccount(_Management):
_icon = "organizations-account.png"
class OrganizationsOrganizationalUnit(_Management):
_icon = "organizations-organizational-unit.png"
class Organizations(_Management): class Organizations(_Management):
_icon = "organizations.png" _icon = "organizations.png"
class PersonalHealthDashboard(_Management):
_icon = "personal-health-dashboard.png"
class ServiceCatalog(_Management): class ServiceCatalog(_Management):
_icon = "service-catalog.png" _icon = "service-catalog.png"
class SystemsManagerAutomation(_Management):
_icon = "systems-manager-automation.png"
class SystemsManagerDocuments(_Management):
_icon = "systems-manager-documents.png"
class SystemsManagerInventory(_Management):
_icon = "systems-manager-inventory.png"
class SystemsManagerMaintenanceWindows(_Management):
_icon = "systems-manager-maintenance-windows.png"
class SystemsManagerOpscenter(_Management):
_icon = "systems-manager-opscenter.png"
class SystemsManagerParameterStore(_Management): class SystemsManagerParameterStore(_Management):
_icon = "systems-manager-parameter-store.png" _icon = "systems-manager-parameter-store.png"
class SystemsManagerPatchManager(_Management):
_icon = "systems-manager-patch-manager.png"
class SystemsManagerRunCommand(_Management):
_icon = "systems-manager-run-command.png"
class SystemsManagerStateManager(_Management):
_icon = "systems-manager-state-manager.png"
class SystemsManager(_Management): class SystemsManager(_Management):
_icon = "systems-manager.png" _icon = "systems-manager.png"
class TrustedAdvisorChecklistCost(_Management):
_icon = "trusted-advisor-checklist-cost.png"
class TrustedAdvisorChecklistFaultTolerant(_Management):
_icon = "trusted-advisor-checklist-fault-tolerant.png"
class TrustedAdvisorChecklistPerformance(_Management):
_icon = "trusted-advisor-checklist-performance.png"
class TrustedAdvisorChecklistSecurity(_Management):
_icon = "trusted-advisor-checklist-security.png"
class TrustedAdvisorChecklist(_Management):
_icon = "trusted-advisor-checklist.png"
class TrustedAdvisor(_Management): class TrustedAdvisor(_Management):
_icon = "trusted-advisor.png" _icon = "trusted-advisor.png"

@ -52,4 +52,12 @@ class ElementalServer(_Media):
_icon = "elemental-server.png" _icon = "elemental-server.png"
class KinesisVideoStreams(_Media):
_icon = "kinesis-video-streams.png"
class MediaServices(_Media):
_icon = "media-services.png"
# Aliases # Aliases

@ -20,6 +20,10 @@ class DatabaseMigrationService(_Migration):
_icon = "database-migration-service.png" _icon = "database-migration-service.png"
class DatasyncAgent(_Migration):
_icon = "datasync-agent.png"
class Datasync(_Migration): class Datasync(_Migration):
_icon = "datasync.png" _icon = "datasync.png"

@ -12,6 +12,10 @@ class ApacheMxnetOnAWS(_ML):
_icon = "apache-mxnet-on-aws.png" _icon = "apache-mxnet-on-aws.png"
class AugmentedAi(_ML):
_icon = "augmented-ai.png"
class Comprehend(_ML): class Comprehend(_ML):
_icon = "comprehend.png" _icon = "comprehend.png"
@ -24,6 +28,10 @@ class DeepLearningContainers(_ML):
_icon = "deep-learning-containers.png" _icon = "deep-learning-containers.png"
class Deepcomposer(_ML):
_icon = "deepcomposer.png"
class Deeplens(_ML): class Deeplens(_ML):
_icon = "deeplens.png" _icon = "deeplens.png"
@ -40,6 +48,14 @@ class Forecast(_ML):
_icon = "forecast.png" _icon = "forecast.png"
class FraudDetector(_ML):
_icon = "fraud-detector.png"
class Kendra(_ML):
_icon = "kendra.png"
class Lex(_ML): class Lex(_ML):
_icon = "lex.png" _icon = "lex.png"
@ -56,6 +72,14 @@ class Polly(_ML):
_icon = "polly.png" _icon = "polly.png"
class RekognitionImage(_ML):
_icon = "rekognition-image.png"
class RekognitionVideo(_ML):
_icon = "rekognition-video.png"
class Rekognition(_ML): class Rekognition(_ML):
_icon = "rekognition.png" _icon = "rekognition.png"

@ -28,6 +28,10 @@ class DeviceFarm(_Mobile):
_icon = "device-farm.png" _icon = "device-farm.png"
class Mobile(_Mobile):
_icon = "mobile.png"
class Pinpoint(_Mobile): class Pinpoint(_Mobile):
_icon = "pinpoint.png" _icon = "pinpoint.png"

@ -8,6 +8,10 @@ class _Network(_AWS):
_icon_dir = "resources/aws/network" _icon_dir = "resources/aws/network"
class APIGatewayEndpoint(_Network):
_icon = "api-gateway-endpoint.png"
class APIGateway(_Network): class APIGateway(_Network):
_icon = "api-gateway.png" _icon = "api-gateway.png"
@ -24,6 +28,18 @@ class CloudMap(_Network):
_icon = "cloud-map.png" _icon = "cloud-map.png"
class CloudFrontDownloadDistribution(_Network):
_icon = "cloudfront-download-distribution.png"
class CloudFrontEdgeLocation(_Network):
_icon = "cloudfront-edge-location.png"
class CloudFrontStreamingDistribution(_Network):
_icon = "cloudfront-streaming-distribution.png"
class CloudFront(_Network): class CloudFront(_Network):
_icon = "cloudfront.png" _icon = "cloudfront.png"
@ -36,6 +52,18 @@ class ElasticLoadBalancing(_Network):
_icon = "elastic-load-balancing.png" _icon = "elastic-load-balancing.png"
class ElbApplicationLoadBalancer(_Network):
_icon = "elb-application-load-balancer.png"
class ElbClassicLoadBalancer(_Network):
_icon = "elb-classic-load-balancer.png"
class ElbNetworkLoadBalancer(_Network):
_icon = "elb-network-load-balancer.png"
class Endpoint(_Network): class Endpoint(_Network):
_icon = "endpoint.png" _icon = "endpoint.png"
@ -72,6 +100,10 @@ class PublicSubnet(_Network):
_icon = "public-subnet.png" _icon = "public-subnet.png"
class Route53HostedZone(_Network):
_icon = "route-53-hosted-zone.png"
class Route53(_Network): class Route53(_Network):
_icon = "route-53.png" _icon = "route-53.png"
@ -88,6 +120,22 @@ class TransitGateway(_Network):
_icon = "transit-gateway.png" _icon = "transit-gateway.png"
class VPCCustomerGateway(_Network):
_icon = "vpc-customer-gateway.png"
class VPCElasticNetworkAdapter(_Network):
_icon = "vpc-elastic-network-adapter.png"
class VPCElasticNetworkInterface(_Network):
_icon = "vpc-elastic-network-interface.png"
class VPCFlowLogs(_Network):
_icon = "vpc-flow-logs.png"
class VPCPeering(_Network): class VPCPeering(_Network):
_icon = "vpc-peering.png" _icon = "vpc-peering.png"
@ -96,12 +144,27 @@ class VPCRouter(_Network):
_icon = "vpc-router.png" _icon = "vpc-router.png"
class VPCTrafficMirroring(_Network):
_icon = "vpc-traffic-mirroring.png"
class VPC(_Network): class VPC(_Network):
_icon = "vpc.png" _icon = "vpc.png"
class VpnConnection(_Network):
_icon = "vpn-connection.png"
class VpnGateway(_Network):
_icon = "vpn-gateway.png"
# Aliases # Aliases
CF = CloudFront CF = CloudFront
ELB = ElasticLoadBalancing ELB = ElasticLoadBalancing
ALB = ElbApplicationLoadBalancer
CLB = ElbClassicLoadBalancer
NLB = ElbNetworkLoadBalancer
GAX = GlobalAccelerator GAX = GlobalAccelerator

@ -12,4 +12,8 @@ class Braket(_Quantum):
_icon = "braket.png" _icon = "braket.png"
class QuantumTechnologies(_Quantum):
_icon = "quantum-technologies.png"
# Aliases # Aliases

@ -8,6 +8,18 @@ class _Robotics(_AWS):
_icon_dir = "resources/aws/robotics" _icon_dir = "resources/aws/robotics"
class RobomakerCloudExtensionRos(_Robotics):
_icon = "robomaker-cloud-extension-ros.png"
class RobomakerDevelopmentEnvironment(_Robotics):
_icon = "robomaker-development-environment.png"
class RobomakerFleetManagement(_Robotics):
_icon = "robomaker-fleet-management.png"
class RobomakerSimulator(_Robotics): class RobomakerSimulator(_Robotics):
_icon = "robomaker-simulator.png" _icon = "robomaker-simulator.png"

@ -12,4 +12,8 @@ class GroundStation(_Satellite):
_icon = "ground-station.png" _icon = "ground-station.png"
class Satellite(_Satellite):
_icon = "satellite.png"
# Aliases # Aliases

@ -8,10 +8,18 @@ class _Security(_AWS):
_icon_dir = "resources/aws/security" _icon_dir = "resources/aws/security"
class AdConnector(_Security):
_icon = "ad-connector.png"
class Artifact(_Security): class Artifact(_Security):
_icon = "artifact.png" _icon = "artifact.png"
class CertificateAuthority(_Security):
_icon = "certificate-authority.png"
class CertificateManager(_Security): class CertificateManager(_Security):
_icon = "certificate-manager.png" _icon = "certificate-manager.png"
@ -48,10 +56,34 @@ class IdentityAndAccessManagementIamAccessAnalyzer(_Security):
_icon = "identity-and-access-management-iam-access-analyzer.png" _icon = "identity-and-access-management-iam-access-analyzer.png"
class IdentityAndAccessManagementIamAddOn(_Security):
_icon = "identity-and-access-management-iam-add-on.png"
class IdentityAndAccessManagementIamAWSStsAlternate(_Security):
_icon = "identity-and-access-management-iam-aws-sts-alternate.png"
class IdentityAndAccessManagementIamAWSSts(_Security): class IdentityAndAccessManagementIamAWSSts(_Security):
_icon = "identity-and-access-management-iam-aws-sts.png" _icon = "identity-and-access-management-iam-aws-sts.png"
class IdentityAndAccessManagementIamDataEncryptionKey(_Security):
_icon = "identity-and-access-management-iam-data-encryption-key.png"
class IdentityAndAccessManagementIamEncryptedData(_Security):
_icon = "identity-and-access-management-iam-encrypted-data.png"
class IdentityAndAccessManagementIamLongTermSecurityCredential(_Security):
_icon = "identity-and-access-management-iam-long-term-security-credential.png"
class IdentityAndAccessManagementIamMfaToken(_Security):
_icon = "identity-and-access-management-iam-mfa-token.png"
class IdentityAndAccessManagementIamPermissions(_Security): class IdentityAndAccessManagementIamPermissions(_Security):
_icon = "identity-and-access-management-iam-permissions.png" _icon = "identity-and-access-management-iam-permissions.png"
@ -60,10 +92,18 @@ class IdentityAndAccessManagementIamRole(_Security):
_icon = "identity-and-access-management-iam-role.png" _icon = "identity-and-access-management-iam-role.png"
class IdentityAndAccessManagementIamTemporarySecurityCredential(_Security):
_icon = "identity-and-access-management-iam-temporary-security-credential.png"
class IdentityAndAccessManagementIam(_Security): class IdentityAndAccessManagementIam(_Security):
_icon = "identity-and-access-management-iam.png" _icon = "identity-and-access-management-iam.png"
class InspectorAgent(_Security):
_icon = "inspector-agent.png"
class Inspector(_Security): class Inspector(_Security):
_icon = "inspector.png" _icon = "inspector.png"
@ -76,6 +116,10 @@ class Macie(_Security):
_icon = "macie.png" _icon = "macie.png"
class ManagedMicrosoftAd(_Security):
_icon = "managed-microsoft-ad.png"
class ResourceAccessManager(_Security): class ResourceAccessManager(_Security):
_icon = "resource-access-manager.png" _icon = "resource-access-manager.png"
@ -84,6 +128,10 @@ class SecretsManager(_Security):
_icon = "secrets-manager.png" _icon = "secrets-manager.png"
class SecurityHubFinding(_Security):
_icon = "security-hub-finding.png"
class SecurityHub(_Security): class SecurityHub(_Security):
_icon = "security-hub.png" _icon = "security-hub.png"
@ -92,14 +140,26 @@ class SecurityIdentityAndCompliance(_Security):
_icon = "security-identity-and-compliance.png" _icon = "security-identity-and-compliance.png"
class ShieldAdvanced(_Security):
_icon = "shield-advanced.png"
class Shield(_Security): class Shield(_Security):
_icon = "shield.png" _icon = "shield.png"
class SimpleAd(_Security):
_icon = "simple-ad.png"
class SingleSignOn(_Security): class SingleSignOn(_Security):
_icon = "single-sign-on.png" _icon = "single-sign-on.png"
class WAFFilteringRule(_Security):
_icon = "waf-filtering-rule.png"
class WAF(_Security): class WAF(_Security):
_icon = "waf.png" _icon = "waf.png"

@ -24,10 +24,22 @@ class EFSStandardPrimaryBg(_Storage):
_icon = "efs-standard-primary-bg.png" _icon = "efs-standard-primary-bg.png"
class ElasticBlockStoreEBSSnapshot(_Storage):
_icon = "elastic-block-store-ebs-snapshot.png"
class ElasticBlockStoreEBSVolume(_Storage):
_icon = "elastic-block-store-ebs-volume.png"
class ElasticBlockStoreEBS(_Storage): class ElasticBlockStoreEBS(_Storage):
_icon = "elastic-block-store-ebs.png" _icon = "elastic-block-store-ebs.png"
class ElasticFileSystemEFSFileSystem(_Storage):
_icon = "elastic-file-system-efs-file-system.png"
class ElasticFileSystemEFS(_Storage): class ElasticFileSystemEFS(_Storage):
_icon = "elastic-file-system-efs.png" _icon = "elastic-file-system-efs.png"
@ -44,14 +56,42 @@ class Fsx(_Storage):
_icon = "fsx.png" _icon = "fsx.png"
class MultipleVolumesResource(_Storage):
_icon = "multiple-volumes-resource.png"
class S3GlacierArchive(_Storage):
_icon = "s3-glacier-archive.png"
class S3GlacierVault(_Storage):
_icon = "s3-glacier-vault.png"
class S3Glacier(_Storage): class S3Glacier(_Storage):
_icon = "s3-glacier.png" _icon = "s3-glacier.png"
class SimpleStorageServiceS3BucketWithObjects(_Storage):
_icon = "simple-storage-service-s3-bucket-with-objects.png"
class SimpleStorageServiceS3Bucket(_Storage):
_icon = "simple-storage-service-s3-bucket.png"
class SimpleStorageServiceS3Object(_Storage):
_icon = "simple-storage-service-s3-object.png"
class SimpleStorageServiceS3(_Storage): class SimpleStorageServiceS3(_Storage):
_icon = "simple-storage-service-s3.png" _icon = "simple-storage-service-s3.png"
class SnowFamilySnowballImportExport(_Storage):
_icon = "snow-family-snowball-import-export.png"
class SnowballEdge(_Storage): class SnowballEdge(_Storage):
_icon = "snowball-edge.png" _icon = "snowball-edge.png"
@ -64,6 +104,18 @@ class Snowmobile(_Storage):
_icon = "snowmobile.png" _icon = "snowmobile.png"
class StorageGatewayCachedVolume(_Storage):
_icon = "storage-gateway-cached-volume.png"
class StorageGatewayNonCachedVolume(_Storage):
_icon = "storage-gateway-non-cached-volume.png"
class StorageGatewayVirtualTapeLibrary(_Storage):
_icon = "storage-gateway-virtual-tape-library.png"
class StorageGateway(_Storage): class StorageGateway(_Storage):
_icon = "storage-gateway.png" _icon = "storage-gateway.png"

@ -52,4 +52,8 @@ class StreamAnalyticsJobs(_Analytics):
_icon = "stream-analytics-jobs.png" _icon = "stream-analytics-jobs.png"
class SynapseAnalytics(_Analytics):
_icon = "synapse-analytics.png"
# Aliases # Aliases

@ -8,6 +8,14 @@ class _Compute(_Azure):
_icon_dir = "resources/azure/compute" _icon_dir = "resources/azure/compute"
class AppServices(_Compute):
_icon = "app-services.png"
class AutomanagedVM(_Compute):
_icon = "automanaged-vm.png"
class AvailabilitySets(_Compute): class AvailabilitySets(_Compute):
_icon = "availability-sets.png" _icon = "availability-sets.png"
@ -40,6 +48,10 @@ class ContainerRegistries(_Compute):
_icon = "container-registries.png" _icon = "container-registries.png"
class DiskEncryptionSets(_Compute):
_icon = "disk-encryption-sets.png"
class DiskSnapshots(_Compute): class DiskSnapshots(_Compute):
_icon = "disk-snapshots.png" _icon = "disk-snapshots.png"
@ -52,6 +64,14 @@ class FunctionApps(_Compute):
_icon = "function-apps.png" _icon = "function-apps.png"
class ImageDefinitions(_Compute):
_icon = "image-definitions.png"
class ImageVersions(_Compute):
_icon = "image-versions.png"
class KubernetesServices(_Compute): class KubernetesServices(_Compute):
_icon = "kubernetes-services.png" _icon = "kubernetes-services.png"
@ -60,6 +80,10 @@ class MeshApplications(_Compute):
_icon = "mesh-applications.png" _icon = "mesh-applications.png"
class OsImages(_Compute):
_icon = "os-images.png"
class SAPHANAOnAzure(_Compute): class SAPHANAOnAzure(_Compute):
_icon = "sap-hana-on-azure.png" _icon = "sap-hana-on-azure.png"
@ -68,6 +92,14 @@ class ServiceFabricClusters(_Compute):
_icon = "service-fabric-clusters.png" _icon = "service-fabric-clusters.png"
class SharedImageGalleries(_Compute):
_icon = "shared-image-galleries.png"
class SpringCloud(_Compute):
_icon = "spring-cloud.png"
class VMClassic(_Compute): class VMClassic(_Compute):
_icon = "vm-classic.png" _icon = "vm-classic.png"
@ -80,6 +112,10 @@ class VMLinux(_Compute):
_icon = "vm-linux.png" _icon = "vm-linux.png"
class VMScaleSet(_Compute):
_icon = "vm-scale-set.png"
class VMWindows(_Compute): class VMWindows(_Compute):
_icon = "vm-windows.png" _icon = "vm-windows.png"
@ -88,7 +124,12 @@ class VM(_Compute):
_icon = "vm.png" _icon = "vm.png"
class Workspaces(_Compute):
_icon = "workspaces.png"
# Aliases # Aliases
ACR = ContainerRegistries ACR = ContainerRegistries
AKS = KubernetesServices AKS = KubernetesServices
VMSS = VMScaleSet

@ -20,6 +20,14 @@ class CosmosDb(_Database):
_icon = "cosmos-db.png" _icon = "cosmos-db.png"
class DataExplorerClusters(_Database):
_icon = "data-explorer-clusters.png"
class DataFactory(_Database):
_icon = "data-factory.png"
class DataLake(_Database): class DataLake(_Database):
_icon = "data-lake.png" _icon = "data-lake.png"
@ -44,6 +52,10 @@ class ElasticJobAgents(_Database):
_icon = "elastic-job-agents.png" _icon = "elastic-job-agents.png"
class InstancePools(_Database):
_icon = "instance-pools.png"
class ManagedDatabases(_Database): class ManagedDatabases(_Database):
_icon = "managed-databases.png" _icon = "managed-databases.png"
@ -68,6 +80,22 @@ class SQLServers(_Database):
_icon = "sql-servers.png" _icon = "sql-servers.png"
class SQLVM(_Database):
_icon = "sql-vm.png"
class SQL(_Database):
_icon = "sql.png"
class SsisLiftAndShiftIr(_Database):
_icon = "ssis-lift-and-shift-ir.png"
class SynapseAnalytics(_Database):
_icon = "synapse-analytics.png"
class VirtualClusters(_Database): class VirtualClusters(_Database):
_icon = "virtual-clusters.png" _icon = "virtual-clusters.png"

@ -28,6 +28,10 @@ class DevtestLabs(_Devops):
_icon = "devtest-labs.png" _icon = "devtest-labs.png"
class LabServices(_Devops):
_icon = "lab-services.png"
class Pipelines(_Devops): class Pipelines(_Devops):
_icon = "pipelines.png" _icon = "pipelines.png"

@ -48,6 +48,10 @@ class EnterpriseApplications(_Identity):
_icon = "enterprise-applications.png" _icon = "enterprise-applications.png"
class Groups(_Identity):
_icon = "groups.png"
class IdentityGovernance(_Identity): class IdentityGovernance(_Identity):
_icon = "identity-governance.png" _icon = "identity-governance.png"
@ -60,4 +64,8 @@ class ManagedIdentities(_Identity):
_icon = "managed-identities.png" _icon = "managed-identities.png"
class Users(_Identity):
_icon = "users.png"
# Aliases # Aliases

@ -52,6 +52,10 @@ class LogicApps(_Integration):
_icon = "logic-apps.png" _icon = "logic-apps.png"
class PartnerTopic(_Integration):
_icon = "partner-topic.png"
class SendgridAccounts(_Integration): class SendgridAccounts(_Integration):
_icon = "sendgrid-accounts.png" _icon = "sendgrid-accounts.png"
@ -76,4 +80,8 @@ class StorsimpleDeviceManagers(_Integration):
_icon = "storsimple-device-managers.png" _icon = "storsimple-device-managers.png"
class SystemTopic(_Integration):
_icon = "system-topic.png"
# Aliases # Aliases

@ -8,6 +8,14 @@ class _Migration(_Azure):
_icon_dir = "resources/azure/migration" _icon_dir = "resources/azure/migration"
class DataBoxEdge(_Migration):
_icon = "data-box-edge.png"
class DataBox(_Migration):
_icon = "data-box.png"
class DatabaseMigrationServices(_Migration): class DatabaseMigrationServices(_Migration):
_icon = "database-migration-services.png" _icon = "database-migration-services.png"

@ -9,7 +9,7 @@ class _Mobile(_Azure):
class AppServiceMobile(_Mobile): class AppServiceMobile(_Mobile):
_icon = "app-service---mobile.png" _icon = "app-service-mobile.png"
class MobileEngagement(_Mobile): class MobileEngagement(_Mobile):

@ -8,6 +8,22 @@ class _Security(_Azure):
_icon_dir = "resources/azure/security" _icon_dir = "resources/azure/security"
class ApplicationSecurityGroups(_Security):
_icon = "application-security-groups.png"
class ConditionalAccess(_Security):
_icon = "conditional-access.png"
class Defender(_Security):
_icon = "defender.png"
class ExtendedSecurityUpdates(_Security):
_icon = "extended-security-updates.png"
class KeyVaults(_Security): class KeyVaults(_Security):
_icon = "key-vaults.png" _icon = "key-vaults.png"

@ -21,7 +21,7 @@ class BlobStorage(_Storage):
class DataBoxEdgeDataBoxGateway(_Storage): class DataBoxEdgeDataBoxGateway(_Storage):
_icon = "data-box-edge---data-box-gateway.png" _icon = "data-box-edge-data-box-gateway.png"
class DataBox(_Storage): class DataBox(_Storage):

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GCP
class _Operations(_GCP):
_type = "operations"
_icon_dir = "resources/gcp/operations"
class Monitoring(_Operations):
_icon = "monitoring.png"
# Aliases

@ -0,0 +1,12 @@
"""
IBM provides a set of services for IBM Cloud provider.
"""
from diagrams import Node
class _IBM(Node):
_provider = "ibm"
_icon_dir = "resources/ibm"
fontcolor = "#ffffff"

@ -0,0 +1,31 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Analytics(_IBM):
_type = "analytics"
_icon_dir = "resources/ibm/analytics"
class Analytics(_Analytics):
_icon = "analytics.png"
class DataIntegration(_Analytics):
_icon = "data-integration.png"
class DataRepositories(_Analytics):
_icon = "data-repositories.png"
class DeviceAnalytics(_Analytics):
_icon = "device-analytics.png"
class StreamingComputing(_Analytics):
_icon = "streaming-computing.png"
# Aliases

@ -0,0 +1,87 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Applications(_IBM):
_type = "applications"
_icon_dir = "resources/ibm/applications"
class ActionableInsight(_Applications):
_icon = "actionable-insight.png"
class Annotate(_Applications):
_icon = "annotate.png"
class ApiDeveloperPortal(_Applications):
_icon = "api-developer-portal.png"
class ApiPolyglotRuntimes(_Applications):
_icon = "api-polyglot-runtimes.png"
class AppServer(_Applications):
_icon = "app-server.png"
class ApplicationLogic(_Applications):
_icon = "application-logic.png"
class EnterpriseApplications(_Applications):
_icon = "enterprise-applications.png"
class Index(_Applications):
_icon = "index.png"
class IotApplication(_Applications):
_icon = "iot-application.png"
class Microservice(_Applications):
_icon = "microservice.png"
class MobileApp(_Applications):
_icon = "mobile-app.png"
class Ontology(_Applications):
_icon = "ontology.png"
class OpenSourceTools(_Applications):
_icon = "open-source-tools.png"
class RuntimeServices(_Applications):
_icon = "runtime-services.png"
class SaasApplications(_Applications):
_icon = "saas-applications.png"
class ServiceBroker(_Applications):
_icon = "service-broker.png"
class SpeechToText(_Applications):
_icon = "speech-to-text.png"
class VisualRecognition(_Applications):
_icon = "visual-recognition.png"
class Visualization(_Applications):
_icon = "visualization.png"
# Aliases

@ -0,0 +1,91 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Blockchain(_IBM):
_type = "blockchain"
_icon_dir = "resources/ibm/blockchain"
class BlockchainDeveloper(_Blockchain):
_icon = "blockchain-developer.png"
class Blockchain(_Blockchain):
_icon = "blockchain.png"
class CertificateAuthority(_Blockchain):
_icon = "certificate-authority.png"
class ClientApplication(_Blockchain):
_icon = "client-application.png"
class Communication(_Blockchain):
_icon = "communication.png"
class Consensus(_Blockchain):
_icon = "consensus.png"
class EventListener(_Blockchain):
_icon = "event-listener.png"
class Event(_Blockchain):
_icon = "event.png"
class ExistingEnterpriseSystems(_Blockchain):
_icon = "existing-enterprise-systems.png"
class HyperledgerFabric(_Blockchain):
_icon = "hyperledger-fabric.png"
class KeyManagement(_Blockchain):
_icon = "key-management.png"
class Ledger(_Blockchain):
_icon = "ledger.png"
class MembershipServicesProviderApi(_Blockchain):
_icon = "membership-services-provider-api.png"
class Membership(_Blockchain):
_icon = "membership.png"
class MessageBus(_Blockchain):
_icon = "message-bus.png"
class Node(_Blockchain):
_icon = "node.png"
class Services(_Blockchain):
_icon = "services.png"
class SmartContract(_Blockchain):
_icon = "smart-contract.png"
class TransactionManager(_Blockchain):
_icon = "transaction-manager.png"
class Wallet(_Blockchain):
_icon = "wallet.png"
# Aliases

@ -0,0 +1,31 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Compute(_IBM):
_type = "compute"
_icon_dir = "resources/ibm/compute"
class BareMetalServer(_Compute):
_icon = "bare-metal-server.png"
class ImageService(_Compute):
_icon = "image-service.png"
class Instance(_Compute):
_icon = "instance.png"
class Key(_Compute):
_icon = "key.png"
class PowerInstance(_Compute):
_icon = "power-instance.png"
# Aliases

@ -0,0 +1,63 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Data(_IBM):
_type = "data"
_icon_dir = "resources/ibm/data"
class Caches(_Data):
_icon = "caches.png"
class Cloud(_Data):
_icon = "cloud.png"
class ConversationTrainedDeployed(_Data):
_icon = "conversation-trained-deployed.png"
class DataServices(_Data):
_icon = "data-services.png"
class DataSources(_Data):
_icon = "data-sources.png"
class DeviceIdentityService(_Data):
_icon = "device-identity-service.png"
class DeviceRegistry(_Data):
_icon = "device-registry.png"
class EnterpriseData(_Data):
_icon = "enterprise-data.png"
class EnterpriseUserDirectory(_Data):
_icon = "enterprise-user-directory.png"
class FileRepository(_Data):
_icon = "file-repository.png"
class GroundTruth(_Data):
_icon = "ground-truth.png"
class Model(_Data):
_icon = "model.png"
class TmsDataInterface(_Data):
_icon = "tms-data-interface.png"
# Aliases

@ -0,0 +1,51 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Devops(_IBM):
_type = "devops"
_icon_dir = "resources/ibm/devops"
class ArtifactManagement(_Devops):
_icon = "artifact-management.png"
class BuildTest(_Devops):
_icon = "build-test.png"
class CodeEditor(_Devops):
_icon = "code-editor.png"
class CollaborativeDevelopment(_Devops):
_icon = "collaborative-development.png"
class ConfigurationManagement(_Devops):
_icon = "configuration-management.png"
class ContinuousDeploy(_Devops):
_icon = "continuous-deploy.png"
class ContinuousTesting(_Devops):
_icon = "continuous-testing.png"
class Devops(_Devops):
_icon = "devops.png"
class Provision(_Devops):
_icon = "provision.png"
class ReleaseManagement(_Devops):
_icon = "release-management.png"
# Aliases

@ -0,0 +1,119 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _General(_IBM):
_type = "general"
_icon_dir = "resources/ibm/general"
class CloudMessaging(_General):
_icon = "cloud-messaging.png"
class CloudServices(_General):
_icon = "cloud-services.png"
class Cloudant(_General):
_icon = "cloudant.png"
class CognitiveServices(_General):
_icon = "cognitive-services.png"
class DataSecurity(_General):
_icon = "data-security.png"
class Enterprise(_General):
_icon = "enterprise.png"
class GovernanceRiskCompliance(_General):
_icon = "governance-risk-compliance.png"
class IBMContainers(_General):
_icon = "ibm-containers.png"
class IBMPublicCloud(_General):
_icon = "ibm-public-cloud.png"
class IdentityAccessManagement(_General):
_icon = "identity-access-management.png"
class IdentityProvider(_General):
_icon = "identity-provider.png"
class InfrastructureSecurity(_General):
_icon = "infrastructure-security.png"
class Internet(_General):
_icon = "internet.png"
class IotCloud(_General):
_icon = "iot-cloud.png"
class MicroservicesApplication(_General):
_icon = "microservices-application.png"
class MicroservicesMesh(_General):
_icon = "microservices-mesh.png"
class MonitoringLogging(_General):
_icon = "monitoring-logging.png"
class Monitoring(_General):
_icon = "monitoring.png"
class ObjectStorage(_General):
_icon = "object-storage.png"
class OfflineCapabilities(_General):
_icon = "offline-capabilities.png"
class Openwhisk(_General):
_icon = "openwhisk.png"
class PeerCloud(_General):
_icon = "peer-cloud.png"
class RetrieveRank(_General):
_icon = "retrieve-rank.png"
class Scalable(_General):
_icon = "scalable.png"
class ServiceDiscoveryConfiguration(_General):
_icon = "service-discovery-configuration.png"
class TextToSpeech(_General):
_icon = "text-to-speech.png"
class TransformationConnectivity(_General):
_icon = "transformation-connectivity.png"
# Aliases

@ -0,0 +1,83 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Infrastructure(_IBM):
_type = "infrastructure"
_icon_dir = "resources/ibm/infrastructure"
class Channels(_Infrastructure):
_icon = "channels.png"
class CloudMessaging(_Infrastructure):
_icon = "cloud-messaging.png"
class Dashboard(_Infrastructure):
_icon = "dashboard.png"
class Diagnostics(_Infrastructure):
_icon = "diagnostics.png"
class EdgeServices(_Infrastructure):
_icon = "edge-services.png"
class EnterpriseMessaging(_Infrastructure):
_icon = "enterprise-messaging.png"
class EventFeed(_Infrastructure):
_icon = "event-feed.png"
class InfrastructureServices(_Infrastructure):
_icon = "infrastructure-services.png"
class InterserviceCommunication(_Infrastructure):
_icon = "interservice-communication.png"
class LoadBalancingRouting(_Infrastructure):
_icon = "load-balancing-routing.png"
class MicroservicesMesh(_Infrastructure):
_icon = "microservices-mesh.png"
class MobileBackend(_Infrastructure):
_icon = "mobile-backend.png"
class MobileProviderNetwork(_Infrastructure):
_icon = "mobile-provider-network.png"
class MonitoringLogging(_Infrastructure):
_icon = "monitoring-logging.png"
class Monitoring(_Infrastructure):
_icon = "monitoring.png"
class PeerServices(_Infrastructure):
_icon = "peer-services.png"
class ServiceDiscoveryConfiguration(_Infrastructure):
_icon = "service-discovery-configuration.png"
class TransformationConnectivity(_Infrastructure):
_icon = "transformation-connectivity.png"
# Aliases

@ -0,0 +1,71 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Management(_IBM):
_type = "management"
_icon_dir = "resources/ibm/management"
class AlertNotification(_Management):
_icon = "alert-notification.png"
class ApiManagement(_Management):
_icon = "api-management.png"
class CloudManagement(_Management):
_icon = "cloud-management.png"
class ClusterManagement(_Management):
_icon = "cluster-management.png"
class ContentManagement(_Management):
_icon = "content-management.png"
class DataServices(_Management):
_icon = "data-services.png"
class DeviceManagement(_Management):
_icon = "device-management.png"
class InformationGovernance(_Management):
_icon = "information-governance.png"
class ItServiceManagement(_Management):
_icon = "it-service-management.png"
class Management(_Management):
_icon = "management.png"
class MonitoringMetrics(_Management):
_icon = "monitoring-metrics.png"
class ProcessManagement(_Management):
_icon = "process-management.png"
class ProviderCloudPortalService(_Management):
_icon = "provider-cloud-portal-service.png"
class PushNotifications(_Management):
_icon = "push-notifications.png"
class ServiceManagementTools(_Management):
_icon = "service-management-tools.png"
# Aliases

@ -0,0 +1,95 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Network(_IBM):
_type = "network"
_icon_dir = "resources/ibm/network"
class Bridge(_Network):
_icon = "bridge.png"
class DirectLink(_Network):
_icon = "direct-link.png"
class Enterprise(_Network):
_icon = "enterprise.png"
class Firewall(_Network):
_icon = "firewall.png"
class FloatingIp(_Network):
_icon = "floating-ip.png"
class Gateway(_Network):
_icon = "gateway.png"
class InternetServices(_Network):
_icon = "internet-services.png"
class LoadBalancerListener(_Network):
_icon = "load-balancer-listener.png"
class LoadBalancerPool(_Network):
_icon = "load-balancer-pool.png"
class LoadBalancer(_Network):
_icon = "load-balancer.png"
class LoadBalancingRouting(_Network):
_icon = "load-balancing-routing.png"
class PublicGateway(_Network):
_icon = "public-gateway.png"
class Region(_Network):
_icon = "region.png"
class Router(_Network):
_icon = "router.png"
class Rules(_Network):
_icon = "rules.png"
class Subnet(_Network):
_icon = "subnet.png"
class TransitGateway(_Network):
_icon = "transit-gateway.png"
class Vpc(_Network):
_icon = "vpc.png"
class VpnConnection(_Network):
_icon = "vpn-connection.png"
class VpnGateway(_Network):
_icon = "vpn-gateway.png"
class VpnPolicy(_Network):
_icon = "vpn-policy.png"
# Aliases

@ -0,0 +1,67 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Security(_IBM):
_type = "security"
_icon_dir = "resources/ibm/security"
class ApiSecurity(_Security):
_icon = "api-security.png"
class BlockchainSecurityService(_Security):
_icon = "blockchain-security-service.png"
class DataSecurity(_Security):
_icon = "data-security.png"
class Firewall(_Security):
_icon = "firewall.png"
class Gateway(_Security):
_icon = "gateway.png"
class GovernanceRiskCompliance(_Security):
_icon = "governance-risk-compliance.png"
class IdentityAccessManagement(_Security):
_icon = "identity-access-management.png"
class IdentityProvider(_Security):
_icon = "identity-provider.png"
class InfrastructureSecurity(_Security):
_icon = "infrastructure-security.png"
class PhysicalSecurity(_Security):
_icon = "physical-security.png"
class SecurityMonitoringIntelligence(_Security):
_icon = "security-monitoring-intelligence.png"
class SecurityServices(_Security):
_icon = "security-services.png"
class TrustendComputing(_Security):
_icon = "trustend-computing.png"
class Vpn(_Security):
_icon = "vpn.png"
# Aliases

@ -0,0 +1,31 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Social(_IBM):
_type = "social"
_icon_dir = "resources/ibm/social"
class Communities(_Social):
_icon = "communities.png"
class FileSync(_Social):
_icon = "file-sync.png"
class LiveCollaboration(_Social):
_icon = "live-collaboration.png"
class Messaging(_Social):
_icon = "messaging.png"
class Networking(_Social):
_icon = "networking.png"
# Aliases

@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _Storage(_IBM):
_type = "storage"
_icon_dir = "resources/ibm/storage"
class BlockStorage(_Storage):
_icon = "block-storage.png"
class ObjectStorage(_Storage):
_icon = "object-storage.png"
# Aliases

@ -0,0 +1,35 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _IBM
class _User(_IBM):
_type = "user"
_icon_dir = "resources/ibm/user"
class Browser(_User):
_icon = "browser.png"
class Device(_User):
_icon = "device.png"
class IntegratedDigitalExperiences(_User):
_icon = "integrated-digital-experiences.png"
class PhysicalEntity(_User):
_icon = "physical-entity.png"
class Sensor(_User):
_icon = "sensor.png"
class User(_User):
_icon = "user.png"
# Aliases

@ -82,7 +82,7 @@ class Stream(_Database):
# Aliases # Aliases
ADB = AutonomousDatabase ADB = Autonomous
ADBWhite = AutonomousDatabaseWhite ADBWhite = AutonomousWhite
DBService = Databaseservice DBService = DatabaseService
DBServiceWhite = DatabaseserviceWhite DBServiceWhite = DatabaseServiceWhite

@ -40,6 +40,10 @@ class Norikra(_Analytics):
_icon = "norikra.png" _icon = "norikra.png"
class Powerbi(_Analytics):
_icon = "powerbi.png"
class Presto(_Analytics): class Presto(_Analytics):
_icon = "presto.png" _icon = "presto.png"
@ -65,3 +69,5 @@ class Tableau(_Analytics):
# Aliases # Aliases
PowerBI = Powerbi

@ -28,6 +28,10 @@ class Gvisor(_Container):
_icon = "gvisor.png" _icon = "gvisor.png"
class K3S(_Container):
_icon = "k3s.png"
class Lxc(_Container): class Lxc(_Container):
_icon = "lxc.png" _icon = "lxc.png"

@ -24,6 +24,10 @@ class Packer(_Iac):
_icon = "packer.png" _icon = "packer.png"
class Puppet(_Iac):
_icon = "puppet.png"
class Terraform(_Iac): class Terraform(_Iac):
_icon = "terraform.png" _icon = "terraform.png"

@ -16,10 +16,18 @@ class Datadog(_Monitoring):
_icon = "datadog.png" _icon = "datadog.png"
class Dynatrace(_Monitoring):
_icon = "dynatrace.png"
class Grafana(_Monitoring): class Grafana(_Monitoring):
_icon = "grafana.png" _icon = "grafana.png"
class Humio(_Monitoring):
_icon = "humio.png"
class Newrelic(_Monitoring): class Newrelic(_Monitoring):
_icon = "newrelic.png" _icon = "newrelic.png"

@ -108,6 +108,10 @@ class Traefik(_Network):
_icon = "traefik.png" _icon = "traefik.png"
class Tyk(_Network):
_icon = "tyk.png"
class Vyos(_Network): class Vyos(_Network):
_icon = "vyos.png" _icon = "vyos.png"

@ -12,6 +12,10 @@ class Git(_Vcs):
_icon = "git.png" _icon = "git.png"
class Gitea(_Vcs):
_icon = "gitea.png"
class Github(_Vcs): class Github(_Vcs):
_icon = "github.png" _icon = "github.png"
@ -20,4 +24,8 @@ class Gitlab(_Vcs):
_icon = "gitlab.png" _icon = "gitlab.png"
class Svn(_Vcs):
_icon = "svn.png"
# Aliases # Aliases

@ -0,0 +1,107 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Programming
class _Flowchart(_Programming):
_type = "flowchart"
_icon_dir = "resources/programming/flowchart"
class Action(_Flowchart):
_icon = "action.png"
class Collate(_Flowchart):
_icon = "collate.png"
class Database(_Flowchart):
_icon = "database.png"
class Decision(_Flowchart):
_icon = "decision.png"
class Delay(_Flowchart):
_icon = "delay.png"
class Display(_Flowchart):
_icon = "display.png"
class Document(_Flowchart):
_icon = "document.png"
class InputOutput(_Flowchart):
_icon = "input-output.png"
class Inspection(_Flowchart):
_icon = "inspection.png"
class InternalStorage(_Flowchart):
_icon = "internal-storage.png"
class LoopLimit(_Flowchart):
_icon = "loop-limit.png"
class ManualInput(_Flowchart):
_icon = "manual-input.png"
class ManualLoop(_Flowchart):
_icon = "manual-loop.png"
class Merge(_Flowchart):
_icon = "merge.png"
class MultipleDocuments(_Flowchart):
_icon = "multiple-documents.png"
class OffPageConnectorLeft(_Flowchart):
_icon = "off-page-connector-left.png"
class OffPageConnectorRight(_Flowchart):
_icon = "off-page-connector-right.png"
class Or(_Flowchart):
_icon = "or.png"
class PredefinedProcess(_Flowchart):
_icon = "predefined-process.png"
class Preparation(_Flowchart):
_icon = "preparation.png"
class Sort(_Flowchart):
_icon = "sort.png"
class StartEnd(_Flowchart):
_icon = "start-end.png"
class StoredData(_Flowchart):
_icon = "stored-data.png"
class SummingJunction(_Flowchart):
_icon = "summing-junction.png"
# Aliases

@ -24,6 +24,10 @@ class Ember(_Framework):
_icon = "ember.png" _icon = "ember.png"
class Fastapi(_Framework):
_icon = "fastapi.png"
class Flask(_Framework): class Flask(_Framework):
_icon = "flask.png" _icon = "flask.png"
@ -52,8 +56,14 @@ class Spring(_Framework):
_icon = "spring.png" _icon = "spring.png"
class Starlette(_Framework):
_icon = "starlette.png"
class Vue(_Framework): class Vue(_Framework):
_icon = "vue.png" _icon = "vue.png"
# Aliases # Aliases
FastAPI = Fastapi

@ -52,6 +52,10 @@ class Kotlin(_Language):
_icon = "kotlin.png" _icon = "kotlin.png"
class Latex(_Language):
_icon = "latex.png"
class Matlab(_Language): class Matlab(_Language):
_icon = "matlab.png" _icon = "matlab.png"

@ -8,7 +8,6 @@ class _Chat(_Saas):
_icon_dir = "resources/saas/chat" _icon_dir = "resources/saas/chat"
class Discord(_Chat): class Discord(_Chat):
_icon = "discord.png" _icon = "discord.png"

@ -1,9 +1,9 @@
# use latest python alphine image. # use latest python 3 alpine image.
FROM python:rc-alpine3.12 FROM python:3-alpine
# install system dependencies. # install system dependencies.
RUN apk update && apk add --no-cache \ RUN apk update && apk add --no-cache \
gcc libc-dev g++ graphviz git bash go imagemagick inkscape ttf-opensans curl fontconfig gcc libc-dev g++ graphviz git bash go imagemagick inkscape ttf-opensans curl fontconfig xdg-utils
# install go package. # install go package.
RUN go get github.com/mingrammer/round RUN go get github.com/mingrammer/round

@ -42,13 +42,13 @@ with Diagram("Clustered Web Services", show=False):
ECS("web3")] ECS("web3")]
with Cluster("DB Cluster"): with Cluster("DB Cluster"):
db_master = RDS("userdb") db_primary = RDS("userdb")
db_master - [RDS("userdb ro")] db_primary - [RDS("userdb ro")]
memcached = ElastiCache("memcached") memcached = ElastiCache("memcached")
dns >> lb >> svc_group dns >> lb >> svc_group
svc_group >> db_master svc_group >> db_primary
svc_group >> memcached svc_group >> memcached
``` ```
@ -178,7 +178,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL from diagrams.onprem.database import PostgreSQL
from diagrams.onprem.inmemory import Redis from diagrams.onprem.inmemory import Redis
from diagrams.onprem.logging import Fluentd from diagrams.onprem.aggregator import Fluentd
from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka from diagrams.onprem.queue import Kafka
@ -196,14 +196,14 @@ with Diagram("Advanced Web Service with On-Premise", show=False):
Server("grpc3")] Server("grpc3")]
with Cluster("Sessions HA"): with Cluster("Sessions HA"):
master = Redis("session") primary = Redis("session")
master - Redis("replica") << metrics primary - Redis("replica") << metrics
grpcsvc >> master grpcsvc >> primary
with Cluster("Database HA"): with Cluster("Database HA"):
master = PostgreSQL("users") primary = PostgreSQL("users")
master - PostgreSQL("slave") << metrics primary - PostgreSQL("replica") << metrics
grpcsvc >> master grpcsvc >> primary
aggregator = Fluentd("logging") aggregator = Fluentd("logging")
aggregator >> Kafka("stream") >> Spark("analytics") aggregator >> Kafka("stream") >> Spark("analytics")
@ -221,7 +221,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL from diagrams.onprem.database import PostgreSQL
from diagrams.onprem.inmemory import Redis from diagrams.onprem.inmemory import Redis
from diagrams.onprem.logging import Fluentd from diagrams.onprem.aggregator import Fluentd
from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka from diagrams.onprem.queue import Kafka
@ -239,14 +239,14 @@ with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False):
Server("grpc3")] Server("grpc3")]
with Cluster("Sessions HA"): with Cluster("Sessions HA"):
master = Redis("session") primary = Redis("session")
master - Edge(color="brown", style="dashed") - Redis("replica") << Edge(label="collect") << metrics primary - Edge(color="brown", style="dashed") - Redis("replica") << Edge(label="collect") << metrics
grpcsvc >> Edge(color="brown") >> master grpcsvc >> Edge(color="brown") >> primary
with Cluster("Database HA"): with Cluster("Database HA"):
master = PostgreSQL("users") primary = PostgreSQL("users")
master - Edge(color="brown", style="dotted") - PostgreSQL("slave") << Edge(label="collect") << metrics primary - Edge(color="brown", style="dotted") - PostgreSQL("replica") << Edge(label="collect") << metrics
grpcsvc >> Edge(color="black") >> master grpcsvc >> Edge(color="black") >> primary
aggregator = Fluentd("logging") aggregator = Fluentd("logging")
aggregator >> Edge(label="parse") >> Kafka("stream") >> Edge(color="black", style="bold") >> Spark("analytics") aggregator >> Edge(label="parse") >> Kafka("stream") >> Edge(color="black", style="bold") >> Spark("analytics")

@ -22,11 +22,11 @@ with Diagram("Simple Web Service with DB Cluster", show=False):
web = ECS("service") web = ECS("service")
with Cluster("DB Cluster"): with Cluster("DB Cluster"):
db_master = RDS("master") db_primary = RDS("primary")
db_master - [RDS("slave1"), db_primary - [RDS("replica1"),
RDS("slave2")] RDS("replica2")]
dns >> web >> db_master dns >> web >> db_primary
``` ```
![simple web service with db cluster diagram](/img/simple_web_service_with_db_cluster_diagram.png) ![simple web service with db cluster diagram](/img/simple_web_service_with_db_cluster_diagram.png)

@ -17,7 +17,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL from diagrams.onprem.database import PostgreSQL
from diagrams.onprem.inmemory import Redis from diagrams.onprem.inmemory import Redis
from diagrams.onprem.logging import Fluentd from diagrams.onprem.aggregator import Fluentd
from diagrams.onprem.monitoring import Grafana, Prometheus from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka from diagrams.onprem.queue import Kafka
@ -35,19 +35,35 @@ with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False):
Server("grpc3")] Server("grpc3")]
with Cluster("Sessions HA"): with Cluster("Sessions HA"):
master = Redis("session") primary = Redis("session")
master - Edge(color="brown", style="dashed") - Redis("replica") << Edge(label="collect") << metrics primary \
grpcsvc >> Edge(color="brown") >> master - Edge(color="brown", style="dashed") \
- Redis("replica") \
<< Edge(label="collect") \
<< metrics
grpcsvc >> Edge(color="brown") >> primary
with Cluster("Database HA"): with Cluster("Database HA"):
master = PostgreSQL("users") primary = PostgreSQL("users")
master - Edge(color="brown", style="dotted") - PostgreSQL("slave") << Edge(label="collect") << metrics primary \
grpcsvc >> Edge(color="black") >> master - Edge(color="brown", style="dotted") \
- PostgreSQL("replica") \
<< Edge(label="collect") \
<< metrics
grpcsvc >> Edge(color="black") >> primary
aggregator = Fluentd("logging") aggregator = Fluentd("logging")
aggregator >> Edge(label="parse") >> Kafka("stream") >> Edge(color="black", style="bold") >> Spark("analytics") aggregator \
>> Edge(label="parse") \
>> Kafka("stream") \
>> Edge(color="black", style="bold") \
>> Spark("analytics")
ingress >> Edge(color="darkgreen") << grpcsvc >> Edge(color="darkorange") >> aggregator ingress \
>> Edge(color="darkgreen") \
<< grpcsvc \
>> Edge(color="darkorange") \
>> aggregator
``` ```
![advanced web service with on-premise diagram colored](/img/advanced_web_service_with_on-premise_colored.png) ![advanced web service with on-premise diagram colored](/img/advanced_web_service_with_on-premise_colored.png)

@ -54,7 +54,7 @@ from diagrams.k8s.storage import PV, PVC, StorageClass
# oracle resources # oracle resources
from diagrams.oci.compute import VirtualMachine, Container from diagrams.oci.compute import VirtualMachine, Container
from diagrams.oci.network import Firewall from diagrams.oci.network import Firewall
from diagrams.oci.storage import Filestorage, Storagegateway from diagrams.oci.storage import FileStorage, StorageGateway
``` ```
You can find all available nodes list in [Here](https://diagrams.mingrammer.com/docs/nodes/aws). You can find all available nodes list in [Here](https://diagrams.mingrammer.com/docs/nodes/aws).

@ -11,9 +11,14 @@ Node classes list of aws provider.
- **diagrams.aws.analytics.Athena** - **diagrams.aws.analytics.Athena**
- **diagrams.aws.analytics.CloudsearchSearchDocuments** - **diagrams.aws.analytics.CloudsearchSearchDocuments**
- **diagrams.aws.analytics.Cloudsearch** - **diagrams.aws.analytics.Cloudsearch**
- **diagrams.aws.analytics.DataLakeResource**
- **diagrams.aws.analytics.DataPipeline** - **diagrams.aws.analytics.DataPipeline**
- **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias) - **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias)
- **diagrams.aws.analytics.EMRCluster** - **diagrams.aws.analytics.EMRCluster**
- **diagrams.aws.analytics.EMREngineMaprM3**
- **diagrams.aws.analytics.EMREngineMaprM5**
- **diagrams.aws.analytics.EMREngineMaprM7**
- **diagrams.aws.analytics.EMREngine**
- **diagrams.aws.analytics.EMRHdfsCluster** - **diagrams.aws.analytics.EMRHdfsCluster**
- **diagrams.aws.analytics.EMR** - **diagrams.aws.analytics.EMR**
- **diagrams.aws.analytics.GlueCrawlers** - **diagrams.aws.analytics.GlueCrawlers**
@ -33,16 +38,20 @@ Node classes list of aws provider.
## aws.ar ## aws.ar
- **diagrams.aws.ar.ArVr**
- **diagrams.aws.ar.Sumerian** - **diagrams.aws.ar.Sumerian**
## aws.blockchain ## aws.blockchain
- **diagrams.aws.blockchain.BlockchainResource**
- **diagrams.aws.blockchain.Blockchain**
- **diagrams.aws.blockchain.ManagedBlockchain** - **diagrams.aws.blockchain.ManagedBlockchain**
- **diagrams.aws.blockchain.QuantumLedgerDatabaseQldb**, **QLDB** (alias) - **diagrams.aws.blockchain.QuantumLedgerDatabaseQldb**, **QLDB** (alias)
## aws.business ## aws.business
- **diagrams.aws.business.AlexaForBusiness**, **A4B** (alias) - **diagrams.aws.business.AlexaForBusiness**, **A4B** (alias)
- **diagrams.aws.business.BusinessApplications**
- **diagrams.aws.business.Chime** - **diagrams.aws.business.Chime**
- **diagrams.aws.business.Workmail** - **diagrams.aws.business.Workmail**
@ -50,15 +59,32 @@ Node classes list of aws provider.
- **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias) - **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias)
- **diagrams.aws.compute.Batch** - **diagrams.aws.compute.Batch**
- **diagrams.aws.compute.ComputeOptimizer**
- **diagrams.aws.compute.Compute** - **diagrams.aws.compute.Compute**
- **diagrams.aws.compute.EC2Ami**, **AMI** (alias)
- **diagrams.aws.compute.EC2AutoScaling**
- **diagrams.aws.compute.EC2ContainerRegistryImage**
- **diagrams.aws.compute.EC2ContainerRegistryRegistry**
- **diagrams.aws.compute.EC2ContainerRegistry**, **ECR** (alias) - **diagrams.aws.compute.EC2ContainerRegistry**, **ECR** (alias)
- **diagrams.aws.compute.EC2ElasticIpAddress**
- **diagrams.aws.compute.EC2ImageBuilder**
- **diagrams.aws.compute.EC2Instance**
- **diagrams.aws.compute.EC2Instances**
- **diagrams.aws.compute.EC2Rescue**
- **diagrams.aws.compute.EC2SpotInstance**
- **diagrams.aws.compute.EC2** - **diagrams.aws.compute.EC2**
- **diagrams.aws.compute.ElasticBeanstalkApplication**
- **diagrams.aws.compute.ElasticBeanstalkDeployment**
- **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias) - **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias)
- **diagrams.aws.compute.ElasticContainerServiceContainer**
- **diagrams.aws.compute.ElasticContainerServiceService**
- **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias) - **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias)
- **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias) - **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias)
- **diagrams.aws.compute.Fargate** - **diagrams.aws.compute.Fargate**
- **diagrams.aws.compute.LambdaFunction**
- **diagrams.aws.compute.Lambda** - **diagrams.aws.compute.Lambda**
- **diagrams.aws.compute.Lightsail** - **diagrams.aws.compute.Lightsail**
- **diagrams.aws.compute.LocalZones**
- **diagrams.aws.compute.Outposts** - **diagrams.aws.compute.Outposts**
- **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias) - **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias)
- **diagrams.aws.compute.ThinkboxDeadline** - **diagrams.aws.compute.ThinkboxDeadline**
@ -69,36 +95,57 @@ Node classes list of aws provider.
- **diagrams.aws.compute.ThinkboxStoke** - **diagrams.aws.compute.ThinkboxStoke**
- **diagrams.aws.compute.ThinkboxXmesh** - **diagrams.aws.compute.ThinkboxXmesh**
- **diagrams.aws.compute.VmwareCloudOnAWS** - **diagrams.aws.compute.VmwareCloudOnAWS**
- **diagrams.aws.compute.Wavelength**
## aws.cost ## aws.cost
- **diagrams.aws.cost.Budgets** - **diagrams.aws.cost.Budgets**
- **diagrams.aws.cost.CostAndUsageReport** - **diagrams.aws.cost.CostAndUsageReport**
- **diagrams.aws.cost.CostExplorer** - **diagrams.aws.cost.CostExplorer**
- **diagrams.aws.cost.CostManagement**
- **diagrams.aws.cost.ReservedInstanceReporting** - **diagrams.aws.cost.ReservedInstanceReporting**
- **diagrams.aws.cost.SavingsPlans** - **diagrams.aws.cost.SavingsPlans**
## aws.database ## aws.database
- **diagrams.aws.database.AuroraInstance**
- **diagrams.aws.database.Aurora** - **diagrams.aws.database.Aurora**
- **diagrams.aws.database.DatabaseMigrationServiceDatabaseMigrationWorkflow**
- **diagrams.aws.database.DatabaseMigrationService**, **DMS** (alias) - **diagrams.aws.database.DatabaseMigrationService**, **DMS** (alias)
- **diagrams.aws.database.Database**, **DB** (alias) - **diagrams.aws.database.Database**, **DB** (alias)
- **diagrams.aws.database.DocumentdbMongodbCompatibility**, **DocumentDB** (alias) - **diagrams.aws.database.DocumentdbMongodbCompatibility**, **DocumentDB** (alias)
- **diagrams.aws.database.DynamodbAttribute**
- **diagrams.aws.database.DynamodbAttributes**
- **diagrams.aws.database.DynamodbDax**, **DAX** (alias) - **diagrams.aws.database.DynamodbDax**, **DAX** (alias)
- **diagrams.aws.database.DynamodbGlobalSecondaryIndex**, **DynamodbGSI** (alias) - **diagrams.aws.database.DynamodbGlobalSecondaryIndex**, **DynamodbGSI** (alias)
- **diagrams.aws.database.DynamodbItem**
- **diagrams.aws.database.DynamodbItems**
- **diagrams.aws.database.DynamodbTable** - **diagrams.aws.database.DynamodbTable**
- **diagrams.aws.database.Dynamodb**, **DDB** (alias) - **diagrams.aws.database.Dynamodb**, **DDB** (alias)
- **diagrams.aws.database.ElasticacheCacheNode**
- **diagrams.aws.database.ElasticacheForMemcached**
- **diagrams.aws.database.ElasticacheForRedis**
- **diagrams.aws.database.Elasticache**, **ElastiCache** (alias) - **diagrams.aws.database.Elasticache**, **ElastiCache** (alias)
- **diagrams.aws.database.KeyspacesManagedApacheCassandraService**
- **diagrams.aws.database.Neptune** - **diagrams.aws.database.Neptune**
- **diagrams.aws.database.QuantumLedgerDatabaseQldb**, **QLDB** (alias) - **diagrams.aws.database.QuantumLedgerDatabaseQldb**, **QLDB** (alias)
- **diagrams.aws.database.RDSInstance**
- **diagrams.aws.database.RDSMariadbInstance**
- **diagrams.aws.database.RDSMysqlInstance**
- **diagrams.aws.database.RDSOnVmware** - **diagrams.aws.database.RDSOnVmware**
- **diagrams.aws.database.RDSOracleInstance**
- **diagrams.aws.database.RDSPostgresqlInstance**
- **diagrams.aws.database.RDSSqlServerInstance**
- **diagrams.aws.database.RDS** - **diagrams.aws.database.RDS**
- **diagrams.aws.database.RedshiftDenseComputeNode**
- **diagrams.aws.database.RedshiftDenseStorageNode**
- **diagrams.aws.database.Redshift** - **diagrams.aws.database.Redshift**
- **diagrams.aws.database.Timestream** - **diagrams.aws.database.Timestream**
## aws.devtools ## aws.devtools
- **diagrams.aws.devtools.CloudDevelopmentKit** - **diagrams.aws.devtools.CloudDevelopmentKit**
- **diagrams.aws.devtools.Cloud9Resource**
- **diagrams.aws.devtools.Cloud9** - **diagrams.aws.devtools.Cloud9**
- **diagrams.aws.devtools.Codebuild** - **diagrams.aws.devtools.Codebuild**
- **diagrams.aws.devtools.Codecommit** - **diagrams.aws.devtools.Codecommit**
@ -112,6 +159,7 @@ Node classes list of aws provider.
## aws.enablement ## aws.enablement
- **diagrams.aws.enablement.CustomerEnablement**
- **diagrams.aws.enablement.Iq** - **diagrams.aws.enablement.Iq**
- **diagrams.aws.enablement.ManagedServices** - **diagrams.aws.enablement.ManagedServices**
- **diagrams.aws.enablement.ProfessionalServices** - **diagrams.aws.enablement.ProfessionalServices**
@ -120,6 +168,7 @@ Node classes list of aws provider.
## aws.enduser ## aws.enduser
- **diagrams.aws.enduser.Appstream20** - **diagrams.aws.enduser.Appstream20**
- **diagrams.aws.enduser.DesktopAndAppStreaming**
- **diagrams.aws.enduser.Workdocs** - **diagrams.aws.enduser.Workdocs**
- **diagrams.aws.enduser.Worklink** - **diagrams.aws.enduser.Worklink**
- **diagrams.aws.enduser.Workspaces** - **diagrams.aws.enduser.Workspaces**
@ -127,23 +176,39 @@ Node classes list of aws provider.
## aws.engagement ## aws.engagement
- **diagrams.aws.engagement.Connect** - **diagrams.aws.engagement.Connect**
- **diagrams.aws.engagement.CustomerEngagement**
- **diagrams.aws.engagement.Pinpoint** - **diagrams.aws.engagement.Pinpoint**
- **diagrams.aws.engagement.SimpleEmailServiceSesEmail**
- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) - **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias)
## aws.game ## aws.game
- **diagrams.aws.game.GameTech**
- **diagrams.aws.game.Gamelift** - **diagrams.aws.game.Gamelift**
## aws.general ## aws.general
- **diagrams.aws.general.InternetGateway**
- **diagrams.aws.general.Client**
- **diagrams.aws.general.Disk** - **diagrams.aws.general.Disk**
- **diagrams.aws.general.Forums**
- **diagrams.aws.general.General** - **diagrams.aws.general.General**
- **diagrams.aws.general.GenericDatabase** - **diagrams.aws.general.GenericDatabase**
- **diagrams.aws.general.GenericFirewall** - **diagrams.aws.general.GenericFirewall**
- **diagrams.aws.general.GenericOfficeBuilding**, **OfficeBuilding** (alias) - **diagrams.aws.general.GenericOfficeBuilding**, **OfficeBuilding** (alias)
- **diagrams.aws.general.GenericSamlToken** - **diagrams.aws.general.GenericSamlToken**
- **diagrams.aws.general.GenericSDK** - **diagrams.aws.general.GenericSDK**
- **diagrams.aws.general.InternetAlt1**
- **diagrams.aws.general.InternetAlt2**
- **diagrams.aws.general.Marketplace** - **diagrams.aws.general.Marketplace**
- **diagrams.aws.general.MobileClient**
- **diagrams.aws.general.Multimedia**
- **diagrams.aws.general.OfficeBuilding**
- **diagrams.aws.general.SamlToken**
- **diagrams.aws.general.SDK**
- **diagrams.aws.general.SslPadlock**
- **diagrams.aws.general.TapeStorage**
- **diagrams.aws.general.Toolkit**
- **diagrams.aws.general.TraditionalServer** - **diagrams.aws.general.TraditionalServer**
- **diagrams.aws.general.User** - **diagrams.aws.general.User**
- **diagrams.aws.general.Users** - **diagrams.aws.general.Users**
@ -153,9 +218,19 @@ Node classes list of aws provider.
- **diagrams.aws.integration.ApplicationIntegration** - **diagrams.aws.integration.ApplicationIntegration**
- **diagrams.aws.integration.Appsync** - **diagrams.aws.integration.Appsync**
- **diagrams.aws.integration.ConsoleMobileApplication** - **diagrams.aws.integration.ConsoleMobileApplication**
- **diagrams.aws.integration.EventResource**
- **diagrams.aws.integration.EventbridgeCustomEventBusResource**
- **diagrams.aws.integration.EventbridgeDefaultEventBusResource**
- **diagrams.aws.integration.EventbridgeSaasPartnerEventBusResource**
- **diagrams.aws.integration.Eventbridge** - **diagrams.aws.integration.Eventbridge**
- **diagrams.aws.integration.ExpressWorkflows**
- **diagrams.aws.integration.MQ** - **diagrams.aws.integration.MQ**
- **diagrams.aws.integration.SimpleNotificationServiceSnsEmailNotification**
- **diagrams.aws.integration.SimpleNotificationServiceSnsHttpNotification**
- **diagrams.aws.integration.SimpleNotificationServiceSnsTopic**
- **diagrams.aws.integration.SimpleNotificationServiceSns**, **SNS** (alias) - **diagrams.aws.integration.SimpleNotificationServiceSns**, **SNS** (alias)
- **diagrams.aws.integration.SimpleQueueServiceSqsMessage**
- **diagrams.aws.integration.SimpleQueueServiceSqsQueue**
- **diagrams.aws.integration.SimpleQueueServiceSqs**, **SQS** (alias) - **diagrams.aws.integration.SimpleQueueServiceSqs**, **SQS** (alias)
- **diagrams.aws.integration.StepFunctions**, **SF** (alias) - **diagrams.aws.integration.StepFunctions**, **SF** (alias)
@ -165,37 +240,76 @@ Node classes list of aws provider.
- **diagrams.aws.iot.InternetOfThings** - **diagrams.aws.iot.InternetOfThings**
- **diagrams.aws.iot.Iot1Click** - **diagrams.aws.iot.Iot1Click**
- **diagrams.aws.iot.IotAction** - **diagrams.aws.iot.IotAction**
- **diagrams.aws.iot.IotActuator**
- **diagrams.aws.iot.IotAlexaEcho** - **diagrams.aws.iot.IotAlexaEcho**
- **diagrams.aws.iot.IotAlexaEnabledDevice**
- **diagrams.aws.iot.IotAlexaSkill** - **diagrams.aws.iot.IotAlexaSkill**
- **diagrams.aws.iot.IotAlexaVoiceService**
- **diagrams.aws.iot.IotAnalyticsChannel**
- **diagrams.aws.iot.IotAnalyticsDataSet**
- **diagrams.aws.iot.IotAnalyticsDataStore**
- **diagrams.aws.iot.IotAnalyticsNotebook**
- **diagrams.aws.iot.IotAnalyticsPipeline**
- **diagrams.aws.iot.IotAnalytics** - **diagrams.aws.iot.IotAnalytics**
- **diagrams.aws.iot.IotBank**
- **diagrams.aws.iot.IotBicycle**
- **diagrams.aws.iot.IotButton** - **diagrams.aws.iot.IotButton**
- **diagrams.aws.iot.IotCamera** - **diagrams.aws.iot.IotCamera**
- **diagrams.aws.iot.IotCar**
- **diagrams.aws.iot.IotCart**
- **diagrams.aws.iot.IotCertificate** - **diagrams.aws.iot.IotCertificate**
- **diagrams.aws.iot.IotCoffeePot**
- **diagrams.aws.iot.IotCore** - **diagrams.aws.iot.IotCore**
- **diagrams.aws.iot.IotDesiredState**
- **diagrams.aws.iot.IotDeviceDefender** - **diagrams.aws.iot.IotDeviceDefender**
- **diagrams.aws.iot.IotDeviceGateway**
- **diagrams.aws.iot.IotDeviceManagement** - **diagrams.aws.iot.IotDeviceManagement**
- **diagrams.aws.iot.IotDoorLock**
- **diagrams.aws.iot.IotEvents** - **diagrams.aws.iot.IotEvents**
- **diagrams.aws.iot.IotFactory**
- **diagrams.aws.iot.IotFireTvStick**
- **diagrams.aws.iot.IotFireTv**
- **diagrams.aws.iot.IotGeneric**
- **diagrams.aws.iot.IotGreengrassConnector** - **diagrams.aws.iot.IotGreengrassConnector**
- **diagrams.aws.iot.IotGreengrass** - **diagrams.aws.iot.IotGreengrass**
- **diagrams.aws.iot.IotHardwareBoard**, **IotBoard** (alias) - **diagrams.aws.iot.IotHardwareBoard**, **IotBoard** (alias)
- **diagrams.aws.iot.IotHouse**
- **diagrams.aws.iot.IotHttp** - **diagrams.aws.iot.IotHttp**
- **diagrams.aws.iot.IotHttp2** - **diagrams.aws.iot.IotHttp2**
- **diagrams.aws.iot.IotJobs** - **diagrams.aws.iot.IotJobs**
- **diagrams.aws.iot.IotLambda** - **diagrams.aws.iot.IotLambda**
- **diagrams.aws.iot.IotLightbulb**
- **diagrams.aws.iot.IotMedicalEmergency**
- **diagrams.aws.iot.IotMqtt** - **diagrams.aws.iot.IotMqtt**
- **diagrams.aws.iot.IotOverTheAirUpdate**
- **diagrams.aws.iot.IotPolicyEmergency** - **diagrams.aws.iot.IotPolicyEmergency**
- **diagrams.aws.iot.IotPolicy** - **diagrams.aws.iot.IotPolicy**
- **diagrams.aws.iot.IotReportedState**
- **diagrams.aws.iot.IotRule** - **diagrams.aws.iot.IotRule**
- **diagrams.aws.iot.IotSensor**
- **diagrams.aws.iot.IotServo**
- **diagrams.aws.iot.IotShadow** - **diagrams.aws.iot.IotShadow**
- **diagrams.aws.iot.IotSimulator**
- **diagrams.aws.iot.IotSitewise** - **diagrams.aws.iot.IotSitewise**
- **diagrams.aws.iot.IotThermostat**
- **diagrams.aws.iot.IotThingsGraph** - **diagrams.aws.iot.IotThingsGraph**
- **diagrams.aws.iot.IotTopic** - **diagrams.aws.iot.IotTopic**
- **diagrams.aws.iot.IotTravel**
- **diagrams.aws.iot.IotUtility**
- **diagrams.aws.iot.IotWindfarm**
## aws.management ## aws.management
- **diagrams.aws.management.AutoScaling** - **diagrams.aws.management.AutoScaling**
- **diagrams.aws.management.CloudformationChangeSet**
- **diagrams.aws.management.CloudformationStack**
- **diagrams.aws.management.CloudformationTemplate**
- **diagrams.aws.management.Cloudformation** - **diagrams.aws.management.Cloudformation**
- **diagrams.aws.management.Cloudtrail** - **diagrams.aws.management.Cloudtrail**
- **diagrams.aws.management.CloudwatchAlarm**
- **diagrams.aws.management.CloudwatchEventEventBased**
- **diagrams.aws.management.CloudwatchEventTimeBased**
- **diagrams.aws.management.CloudwatchRule**
- **diagrams.aws.management.Cloudwatch** - **diagrams.aws.management.Cloudwatch**
- **diagrams.aws.management.Codeguru** - **diagrams.aws.management.Codeguru**
- **diagrams.aws.management.CommandLineInterface** - **diagrams.aws.management.CommandLineInterface**
@ -203,12 +317,37 @@ Node classes list of aws provider.
- **diagrams.aws.management.ControlTower** - **diagrams.aws.management.ControlTower**
- **diagrams.aws.management.LicenseManager** - **diagrams.aws.management.LicenseManager**
- **diagrams.aws.management.ManagedServices** - **diagrams.aws.management.ManagedServices**
- **diagrams.aws.management.ManagementAndGovernance**
- **diagrams.aws.management.ManagementConsole** - **diagrams.aws.management.ManagementConsole**
- **diagrams.aws.management.OpsworksApps**
- **diagrams.aws.management.OpsworksDeployments**
- **diagrams.aws.management.OpsworksInstances**
- **diagrams.aws.management.OpsworksLayers**
- **diagrams.aws.management.OpsworksMonitoring**
- **diagrams.aws.management.OpsworksPermissions**
- **diagrams.aws.management.OpsworksResources**
- **diagrams.aws.management.OpsworksStack**
- **diagrams.aws.management.Opsworks** - **diagrams.aws.management.Opsworks**
- **diagrams.aws.management.OrganizationsAccount**
- **diagrams.aws.management.OrganizationsOrganizationalUnit**
- **diagrams.aws.management.Organizations** - **diagrams.aws.management.Organizations**
- **diagrams.aws.management.PersonalHealthDashboard**
- **diagrams.aws.management.ServiceCatalog** - **diagrams.aws.management.ServiceCatalog**
- **diagrams.aws.management.SystemsManagerAutomation**
- **diagrams.aws.management.SystemsManagerDocuments**
- **diagrams.aws.management.SystemsManagerInventory**
- **diagrams.aws.management.SystemsManagerMaintenanceWindows**
- **diagrams.aws.management.SystemsManagerOpscenter**
- **diagrams.aws.management.SystemsManagerParameterStore**, **ParameterStore** (alias) - **diagrams.aws.management.SystemsManagerParameterStore**, **ParameterStore** (alias)
- **diagrams.aws.management.SystemsManagerPatchManager**
- **diagrams.aws.management.SystemsManagerRunCommand**
- **diagrams.aws.management.SystemsManagerStateManager**
- **diagrams.aws.management.SystemsManager**, **SSM** (alias) - **diagrams.aws.management.SystemsManager**, **SSM** (alias)
- **diagrams.aws.management.TrustedAdvisorChecklistCost**
- **diagrams.aws.management.TrustedAdvisorChecklistFaultTolerant**
- **diagrams.aws.management.TrustedAdvisorChecklistPerformance**
- **diagrams.aws.management.TrustedAdvisorChecklistSecurity**
- **diagrams.aws.management.TrustedAdvisorChecklist**
- **diagrams.aws.management.TrustedAdvisor** - **diagrams.aws.management.TrustedAdvisor**
- **diagrams.aws.management.WellArchitectedTool** - **diagrams.aws.management.WellArchitectedTool**
@ -225,12 +364,15 @@ Node classes list of aws provider.
- **diagrams.aws.media.ElementalMediastore** - **diagrams.aws.media.ElementalMediastore**
- **diagrams.aws.media.ElementalMediatailor** - **diagrams.aws.media.ElementalMediatailor**
- **diagrams.aws.media.ElementalServer** - **diagrams.aws.media.ElementalServer**
- **diagrams.aws.media.KinesisVideoStreams**
- **diagrams.aws.media.MediaServices**
## aws.migration ## aws.migration
- **diagrams.aws.migration.ApplicationDiscoveryService**, **ADS** (alias) - **diagrams.aws.migration.ApplicationDiscoveryService**, **ADS** (alias)
- **diagrams.aws.migration.CloudendureMigration**, **CEM** (alias) - **diagrams.aws.migration.CloudendureMigration**, **CEM** (alias)
- **diagrams.aws.migration.DatabaseMigrationService**, **DMS** (alias) - **diagrams.aws.migration.DatabaseMigrationService**, **DMS** (alias)
- **diagrams.aws.migration.DatasyncAgent**
- **diagrams.aws.migration.Datasync** - **diagrams.aws.migration.Datasync**
- **diagrams.aws.migration.MigrationAndTransfer**, **MAT** (alias) - **diagrams.aws.migration.MigrationAndTransfer**, **MAT** (alias)
- **diagrams.aws.migration.MigrationHub** - **diagrams.aws.migration.MigrationHub**
@ -243,17 +385,23 @@ Node classes list of aws provider.
## aws.ml ## aws.ml
- **diagrams.aws.ml.ApacheMxnetOnAWS** - **diagrams.aws.ml.ApacheMxnetOnAWS**
- **diagrams.aws.ml.AugmentedAi**
- **diagrams.aws.ml.Comprehend** - **diagrams.aws.ml.Comprehend**
- **diagrams.aws.ml.DeepLearningAmis** - **diagrams.aws.ml.DeepLearningAmis**
- **diagrams.aws.ml.DeepLearningContainers**, **DLC** (alias) - **diagrams.aws.ml.DeepLearningContainers**, **DLC** (alias)
- **diagrams.aws.ml.Deepcomposer**
- **diagrams.aws.ml.Deeplens** - **diagrams.aws.ml.Deeplens**
- **diagrams.aws.ml.Deepracer** - **diagrams.aws.ml.Deepracer**
- **diagrams.aws.ml.ElasticInference** - **diagrams.aws.ml.ElasticInference**
- **diagrams.aws.ml.Forecast** - **diagrams.aws.ml.Forecast**
- **diagrams.aws.ml.FraudDetector**
- **diagrams.aws.ml.Kendra**
- **diagrams.aws.ml.Lex** - **diagrams.aws.ml.Lex**
- **diagrams.aws.ml.MachineLearning** - **diagrams.aws.ml.MachineLearning**
- **diagrams.aws.ml.Personalize** - **diagrams.aws.ml.Personalize**
- **diagrams.aws.ml.Polly** - **diagrams.aws.ml.Polly**
- **diagrams.aws.ml.RekognitionImage**
- **diagrams.aws.ml.RekognitionVideo**
- **diagrams.aws.ml.Rekognition** - **diagrams.aws.ml.Rekognition**
- **diagrams.aws.ml.SagemakerGroundTruth** - **diagrams.aws.ml.SagemakerGroundTruth**
- **diagrams.aws.ml.SagemakerModel** - **diagrams.aws.ml.SagemakerModel**
@ -272,17 +420,25 @@ Node classes list of aws provider.
- **diagrams.aws.mobile.APIGateway** - **diagrams.aws.mobile.APIGateway**
- **diagrams.aws.mobile.Appsync** - **diagrams.aws.mobile.Appsync**
- **diagrams.aws.mobile.DeviceFarm** - **diagrams.aws.mobile.DeviceFarm**
- **diagrams.aws.mobile.Mobile**
- **diagrams.aws.mobile.Pinpoint** - **diagrams.aws.mobile.Pinpoint**
## aws.network ## aws.network
- **diagrams.aws.network.APIGatewayEndpoint**
- **diagrams.aws.network.APIGateway** - **diagrams.aws.network.APIGateway**
- **diagrams.aws.network.AppMesh** - **diagrams.aws.network.AppMesh**
- **diagrams.aws.network.ClientVpn** - **diagrams.aws.network.ClientVpn**
- **diagrams.aws.network.CloudMap** - **diagrams.aws.network.CloudMap**
- **diagrams.aws.network.CloudFrontDownloadDistribution**
- **diagrams.aws.network.CloudFrontEdgeLocation**
- **diagrams.aws.network.CloudFrontStreamingDistribution**
- **diagrams.aws.network.CloudFront**, **CF** (alias) - **diagrams.aws.network.CloudFront**, **CF** (alias)
- **diagrams.aws.network.DirectConnect** - **diagrams.aws.network.DirectConnect**
- **diagrams.aws.network.ElasticLoadBalancing**, **ELB** (alias) - **diagrams.aws.network.ElasticLoadBalancing**, **ELB** (alias)
- **diagrams.aws.network.ElbApplicationLoadBalancer**, **ALB** (alias)
- **diagrams.aws.network.ElbClassicLoadBalancer**, **CLB** (alias)
- **diagrams.aws.network.ElbNetworkLoadBalancer**, **NLB** (alias)
- **diagrams.aws.network.Endpoint** - **diagrams.aws.network.Endpoint**
- **diagrams.aws.network.GlobalAccelerator**, **GAX** (alias) - **diagrams.aws.network.GlobalAccelerator**, **GAX** (alias)
- **diagrams.aws.network.InternetGateway** - **diagrams.aws.network.InternetGateway**
@ -292,20 +448,32 @@ Node classes list of aws provider.
- **diagrams.aws.network.PrivateSubnet** - **diagrams.aws.network.PrivateSubnet**
- **diagrams.aws.network.Privatelink** - **diagrams.aws.network.Privatelink**
- **diagrams.aws.network.PublicSubnet** - **diagrams.aws.network.PublicSubnet**
- **diagrams.aws.network.Route53HostedZone**
- **diagrams.aws.network.Route53** - **diagrams.aws.network.Route53**
- **diagrams.aws.network.RouteTable** - **diagrams.aws.network.RouteTable**
- **diagrams.aws.network.SiteToSiteVpn** - **diagrams.aws.network.SiteToSiteVpn**
- **diagrams.aws.network.TransitGateway** - **diagrams.aws.network.TransitGateway**
- **diagrams.aws.network.VPCCustomerGateway**
- **diagrams.aws.network.VPCElasticNetworkAdapter**
- **diagrams.aws.network.VPCElasticNetworkInterface**
- **diagrams.aws.network.VPCFlowLogs**
- **diagrams.aws.network.VPCPeering** - **diagrams.aws.network.VPCPeering**
- **diagrams.aws.network.VPCRouter** - **diagrams.aws.network.VPCRouter**
- **diagrams.aws.network.VPCTrafficMirroring**
- **diagrams.aws.network.VPC** - **diagrams.aws.network.VPC**
- **diagrams.aws.network.VpnConnection**
- **diagrams.aws.network.VpnGateway**
## aws.quantum ## aws.quantum
- **diagrams.aws.quantum.Braket** - **diagrams.aws.quantum.Braket**
- **diagrams.aws.quantum.QuantumTechnologies**
## aws.robotics ## aws.robotics
- **diagrams.aws.robotics.RobomakerCloudExtensionRos**
- **diagrams.aws.robotics.RobomakerDevelopmentEnvironment**
- **diagrams.aws.robotics.RobomakerFleetManagement**
- **diagrams.aws.robotics.RobomakerSimulator** - **diagrams.aws.robotics.RobomakerSimulator**
- **diagrams.aws.robotics.Robomaker** - **diagrams.aws.robotics.Robomaker**
- **diagrams.aws.robotics.Robotics** - **diagrams.aws.robotics.Robotics**
@ -313,10 +481,13 @@ Node classes list of aws provider.
## aws.satellite ## aws.satellite
- **diagrams.aws.satellite.GroundStation** - **diagrams.aws.satellite.GroundStation**
- **diagrams.aws.satellite.Satellite**
## aws.security ## aws.security
- **diagrams.aws.security.AdConnector**
- **diagrams.aws.security.Artifact** - **diagrams.aws.security.Artifact**
- **diagrams.aws.security.CertificateAuthority**
- **diagrams.aws.security.CertificateManager**, **ACM** (alias) - **diagrams.aws.security.CertificateManager**, **ACM** (alias)
- **diagrams.aws.security.CloudDirectory** - **diagrams.aws.security.CloudDirectory**
- **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias) - **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias)
@ -326,19 +497,32 @@ Node classes list of aws provider.
- **diagrams.aws.security.FirewallManager**, **FMS** (alias) - **diagrams.aws.security.FirewallManager**, **FMS** (alias)
- **diagrams.aws.security.Guardduty** - **diagrams.aws.security.Guardduty**
- **diagrams.aws.security.IdentityAndAccessManagementIamAccessAnalyzer**, **IAMAccessAnalyzer** (alias) - **diagrams.aws.security.IdentityAndAccessManagementIamAccessAnalyzer**, **IAMAccessAnalyzer** (alias)
- **diagrams.aws.security.IdentityAndAccessManagementIamAddOn**
- **diagrams.aws.security.IdentityAndAccessManagementIamAWSStsAlternate**
- **diagrams.aws.security.IdentityAndAccessManagementIamAWSSts**, **IAMAWSSts** (alias) - **diagrams.aws.security.IdentityAndAccessManagementIamAWSSts**, **IAMAWSSts** (alias)
- **diagrams.aws.security.IdentityAndAccessManagementIamDataEncryptionKey**
- **diagrams.aws.security.IdentityAndAccessManagementIamEncryptedData**
- **diagrams.aws.security.IdentityAndAccessManagementIamLongTermSecurityCredential**
- **diagrams.aws.security.IdentityAndAccessManagementIamMfaToken**
- **diagrams.aws.security.IdentityAndAccessManagementIamPermissions**, **IAMPermissions** (alias) - **diagrams.aws.security.IdentityAndAccessManagementIamPermissions**, **IAMPermissions** (alias)
- **diagrams.aws.security.IdentityAndAccessManagementIamRole**, **IAMRole** (alias) - **diagrams.aws.security.IdentityAndAccessManagementIamRole**, **IAMRole** (alias)
- **diagrams.aws.security.IdentityAndAccessManagementIamTemporarySecurityCredential**
- **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias) - **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias)
- **diagrams.aws.security.InspectorAgent**
- **diagrams.aws.security.Inspector** - **diagrams.aws.security.Inspector**
- **diagrams.aws.security.KeyManagementService**, **KMS** (alias) - **diagrams.aws.security.KeyManagementService**, **KMS** (alias)
- **diagrams.aws.security.Macie** - **diagrams.aws.security.Macie**
- **diagrams.aws.security.ManagedMicrosoftAd**
- **diagrams.aws.security.ResourceAccessManager**, **RAM** (alias) - **diagrams.aws.security.ResourceAccessManager**, **RAM** (alias)
- **diagrams.aws.security.SecretsManager** - **diagrams.aws.security.SecretsManager**
- **diagrams.aws.security.SecurityHubFinding**
- **diagrams.aws.security.SecurityHub** - **diagrams.aws.security.SecurityHub**
- **diagrams.aws.security.SecurityIdentityAndCompliance** - **diagrams.aws.security.SecurityIdentityAndCompliance**
- **diagrams.aws.security.ShieldAdvanced**
- **diagrams.aws.security.Shield** - **diagrams.aws.security.Shield**
- **diagrams.aws.security.SimpleAd**
- **diagrams.aws.security.SingleSignOn** - **diagrams.aws.security.SingleSignOn**
- **diagrams.aws.security.WAFFilteringRule**
- **diagrams.aws.security.WAF** - **diagrams.aws.security.WAF**
## aws.storage ## aws.storage
@ -347,15 +531,28 @@ Node classes list of aws provider.
- **diagrams.aws.storage.CloudendureDisasterRecovery**, **CDR** (alias) - **diagrams.aws.storage.CloudendureDisasterRecovery**, **CDR** (alias)
- **diagrams.aws.storage.EFSInfrequentaccessPrimaryBg** - **diagrams.aws.storage.EFSInfrequentaccessPrimaryBg**
- **diagrams.aws.storage.EFSStandardPrimaryBg** - **diagrams.aws.storage.EFSStandardPrimaryBg**
- **diagrams.aws.storage.ElasticBlockStoreEBSSnapshot**
- **diagrams.aws.storage.ElasticBlockStoreEBSVolume**
- **diagrams.aws.storage.ElasticBlockStoreEBS**, **EBS** (alias) - **diagrams.aws.storage.ElasticBlockStoreEBS**, **EBS** (alias)
- **diagrams.aws.storage.ElasticFileSystemEFSFileSystem**
- **diagrams.aws.storage.ElasticFileSystemEFS**, **EFS** (alias) - **diagrams.aws.storage.ElasticFileSystemEFS**, **EFS** (alias)
- **diagrams.aws.storage.FsxForLustre** - **diagrams.aws.storage.FsxForLustre**
- **diagrams.aws.storage.FsxForWindowsFileServer** - **diagrams.aws.storage.FsxForWindowsFileServer**
- **diagrams.aws.storage.Fsx**, **FSx** (alias) - **diagrams.aws.storage.Fsx**, **FSx** (alias)
- **diagrams.aws.storage.MultipleVolumesResource**
- **diagrams.aws.storage.S3GlacierArchive**
- **diagrams.aws.storage.S3GlacierVault**
- **diagrams.aws.storage.S3Glacier** - **diagrams.aws.storage.S3Glacier**
- **diagrams.aws.storage.SimpleStorageServiceS3BucketWithObjects**
- **diagrams.aws.storage.SimpleStorageServiceS3Bucket**
- **diagrams.aws.storage.SimpleStorageServiceS3Object**
- **diagrams.aws.storage.SimpleStorageServiceS3**, **S3** (alias) - **diagrams.aws.storage.SimpleStorageServiceS3**, **S3** (alias)
- **diagrams.aws.storage.SnowFamilySnowballImportExport**
- **diagrams.aws.storage.SnowballEdge** - **diagrams.aws.storage.SnowballEdge**
- **diagrams.aws.storage.Snowball** - **diagrams.aws.storage.Snowball**
- **diagrams.aws.storage.Snowmobile** - **diagrams.aws.storage.Snowmobile**
- **diagrams.aws.storage.StorageGatewayCachedVolume**
- **diagrams.aws.storage.StorageGatewayNonCachedVolume**
- **diagrams.aws.storage.StorageGatewayVirtualTapeLibrary**
- **diagrams.aws.storage.StorageGateway** - **diagrams.aws.storage.StorageGateway**
- **diagrams.aws.storage.Storage** - **diagrams.aws.storage.Storage**

@ -18,9 +18,12 @@ Node classes list of azure provider.
- **diagrams.azure.analytics.Hdinsightclusters** - **diagrams.azure.analytics.Hdinsightclusters**
- **diagrams.azure.analytics.LogAnalyticsWorkspaces** - **diagrams.azure.analytics.LogAnalyticsWorkspaces**
- **diagrams.azure.analytics.StreamAnalyticsJobs** - **diagrams.azure.analytics.StreamAnalyticsJobs**
- **diagrams.azure.analytics.SynapseAnalytics**
## azure.compute ## azure.compute
- **diagrams.azure.compute.AppServices**
- **diagrams.azure.compute.AutomanagedVM**
- **diagrams.azure.compute.AvailabilitySets** - **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.BatchAccounts** - **diagrams.azure.compute.BatchAccounts**
- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials** - **diagrams.azure.compute.CitrixVirtualDesktopsEssentials**
@ -29,36 +32,51 @@ Node classes list of azure provider.
- **diagrams.azure.compute.CloudsimpleVirtualMachines** - **diagrams.azure.compute.CloudsimpleVirtualMachines**
- **diagrams.azure.compute.ContainerInstances** - **diagrams.azure.compute.ContainerInstances**
- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias) - **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias)
- **diagrams.azure.compute.DiskEncryptionSets**
- **diagrams.azure.compute.DiskSnapshots** - **diagrams.azure.compute.DiskSnapshots**
- **diagrams.azure.compute.Disks** - **diagrams.azure.compute.Disks**
- **diagrams.azure.compute.FunctionApps** - **diagrams.azure.compute.FunctionApps**
- **diagrams.azure.compute.ImageDefinitions**
- **diagrams.azure.compute.ImageVersions**
- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias) - **diagrams.azure.compute.KubernetesServices**, **AKS** (alias)
- **diagrams.azure.compute.MeshApplications** - **diagrams.azure.compute.MeshApplications**
- **diagrams.azure.compute.OsImages**
- **diagrams.azure.compute.SAPHANAOnAzure** - **diagrams.azure.compute.SAPHANAOnAzure**
- **diagrams.azure.compute.ServiceFabricClusters** - **diagrams.azure.compute.ServiceFabricClusters**
- **diagrams.azure.compute.SharedImageGalleries**
- **diagrams.azure.compute.SpringCloud**
- **diagrams.azure.compute.VMClassic** - **diagrams.azure.compute.VMClassic**
- **diagrams.azure.compute.VMImages** - **diagrams.azure.compute.VMImages**
- **diagrams.azure.compute.VMLinux** - **diagrams.azure.compute.VMLinux**
- **diagrams.azure.compute.VMScaleSet**, **VMSS** (alias)
- **diagrams.azure.compute.VMWindows** - **diagrams.azure.compute.VMWindows**
- **diagrams.azure.compute.VM** - **diagrams.azure.compute.VM**
- **diagrams.azure.compute.Workspaces**
## azure.database ## azure.database
- **diagrams.azure.database.BlobStorage** - **diagrams.azure.database.BlobStorage**
- **diagrams.azure.database.CacheForRedis** - **diagrams.azure.database.CacheForRedis**
- **diagrams.azure.database.CosmosDb** - **diagrams.azure.database.CosmosDb**
- **diagrams.azure.database.DataExplorerClusters**
- **diagrams.azure.database.DataFactory**
- **diagrams.azure.database.DataLake** - **diagrams.azure.database.DataLake**
- **diagrams.azure.database.DatabaseForMariadbServers** - **diagrams.azure.database.DatabaseForMariadbServers**
- **diagrams.azure.database.DatabaseForMysqlServers** - **diagrams.azure.database.DatabaseForMysqlServers**
- **diagrams.azure.database.DatabaseForPostgresqlServers** - **diagrams.azure.database.DatabaseForPostgresqlServers**
- **diagrams.azure.database.ElasticDatabasePools** - **diagrams.azure.database.ElasticDatabasePools**
- **diagrams.azure.database.ElasticJobAgents** - **diagrams.azure.database.ElasticJobAgents**
- **diagrams.azure.database.InstancePools**
- **diagrams.azure.database.ManagedDatabases** - **diagrams.azure.database.ManagedDatabases**
- **diagrams.azure.database.SQLDatabases** - **diagrams.azure.database.SQLDatabases**
- **diagrams.azure.database.SQLDatawarehouse** - **diagrams.azure.database.SQLDatawarehouse**
- **diagrams.azure.database.SQLManagedInstances** - **diagrams.azure.database.SQLManagedInstances**
- **diagrams.azure.database.SQLServerStretchDatabases** - **diagrams.azure.database.SQLServerStretchDatabases**
- **diagrams.azure.database.SQLServers** - **diagrams.azure.database.SQLServers**
- **diagrams.azure.database.SQLVM**
- **diagrams.azure.database.SQL**
- **diagrams.azure.database.SsisLiftAndShiftIr**
- **diagrams.azure.database.SynapseAnalytics**
- **diagrams.azure.database.VirtualClusters** - **diagrams.azure.database.VirtualClusters**
- **diagrams.azure.database.VirtualDatacenter** - **diagrams.azure.database.VirtualDatacenter**
@ -69,6 +87,7 @@ Node classes list of azure provider.
- **diagrams.azure.devops.Boards** - **diagrams.azure.devops.Boards**
- **diagrams.azure.devops.Devops** - **diagrams.azure.devops.Devops**
- **diagrams.azure.devops.DevtestLabs** - **diagrams.azure.devops.DevtestLabs**
- **diagrams.azure.devops.LabServices**
- **diagrams.azure.devops.Pipelines** - **diagrams.azure.devops.Pipelines**
- **diagrams.azure.devops.Repos** - **diagrams.azure.devops.Repos**
- **diagrams.azure.devops.TestPlans** - **diagrams.azure.devops.TestPlans**
@ -114,9 +133,11 @@ Node classes list of azure provider.
- **diagrams.azure.identity.AppRegistrations** - **diagrams.azure.identity.AppRegistrations**
- **diagrams.azure.identity.ConditionalAccess** - **diagrams.azure.identity.ConditionalAccess**
- **diagrams.azure.identity.EnterpriseApplications** - **diagrams.azure.identity.EnterpriseApplications**
- **diagrams.azure.identity.Groups**
- **diagrams.azure.identity.IdentityGovernance** - **diagrams.azure.identity.IdentityGovernance**
- **diagrams.azure.identity.InformationProtection** - **diagrams.azure.identity.InformationProtection**
- **diagrams.azure.identity.ManagedIdentities** - **diagrams.azure.identity.ManagedIdentities**
- **diagrams.azure.identity.Users**
## azure.integration ## azure.integration
@ -131,12 +152,14 @@ Node classes list of azure provider.
- **diagrams.azure.integration.IntegrationServiceEnvironments** - **diagrams.azure.integration.IntegrationServiceEnvironments**
- **diagrams.azure.integration.LogicAppsCustomConnector** - **diagrams.azure.integration.LogicAppsCustomConnector**
- **diagrams.azure.integration.LogicApps** - **diagrams.azure.integration.LogicApps**
- **diagrams.azure.integration.PartnerTopic**
- **diagrams.azure.integration.SendgridAccounts** - **diagrams.azure.integration.SendgridAccounts**
- **diagrams.azure.integration.ServiceBusRelays** - **diagrams.azure.integration.ServiceBusRelays**
- **diagrams.azure.integration.ServiceBus** - **diagrams.azure.integration.ServiceBus**
- **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions** - **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions**
- **diagrams.azure.integration.SoftwareAsAService** - **diagrams.azure.integration.SoftwareAsAService**
- **diagrams.azure.integration.StorsimpleDeviceManagers** - **diagrams.azure.integration.StorsimpleDeviceManagers**
- **diagrams.azure.integration.SystemTopic**
## azure.iot ## azure.iot
@ -153,6 +176,8 @@ Node classes list of azure provider.
## azure.migration ## azure.migration
- **diagrams.azure.migration.DataBoxEdge**
- **diagrams.azure.migration.DataBox**
- **diagrams.azure.migration.DatabaseMigrationServices** - **diagrams.azure.migration.DatabaseMigrationServices**
- **diagrams.azure.migration.MigrationProjects** - **diagrams.azure.migration.MigrationProjects**
- **diagrams.azure.migration.RecoveryServicesVaults** - **diagrams.azure.migration.RecoveryServicesVaults**
@ -206,6 +231,10 @@ Node classes list of azure provider.
## azure.security ## azure.security
- **diagrams.azure.security.ApplicationSecurityGroups**
- **diagrams.azure.security.ConditionalAccess**
- **diagrams.azure.security.Defender**
- **diagrams.azure.security.ExtendedSecurityUpdates**
- **diagrams.azure.security.KeyVaults** - **diagrams.azure.security.KeyVaults**
- **diagrams.azure.security.SecurityCenter** - **diagrams.azure.security.SecurityCenter**
- **diagrams.azure.security.Sentinel** - **diagrams.azure.security.Sentinel**

@ -0,0 +1,90 @@
---
id: custom
title: Custom
---
## Custom with local icons
For this example we use the following architecture:
```
.
├── custom_local.py
├── my_resources
│ ├── cc_heart.black.png
│ ├── cc_attribution.png
│ ├──...
```
The content of custom_local.py file:
```python
from diagrams import Diagram, Cluster
from diagrams.custom import Custom
with Diagram("Custom with local icons\n Can be downloaded here: \nhttps://creativecommons.org/about/downloads/", show=False, filename="custom_local", direction="LR"):
cc_heart = Custom("Creative Commons", "./my_resources/cc_heart.black.png")
cc_attribution = Custom("Credit must be given to the creator", "./my_resources/cc_attribution.png")
cc_sa = Custom("Adaptations must be shared\n under the same terms", "./my_resources/cc_sa.png")
cc_nd = Custom("No derivatives or adaptations\n of the work are permitted", "./my_resources/cc_nd.png")
cc_zero = Custom("Public Domain Dedication", "./my_resources/cc_zero.png")
with Cluster("Non Commercial"):
non_commercial = [Custom("Y", "./my_resources/cc_nc-jp.png") - Custom("E", "./my_resources/cc_nc-eu.png") - Custom("S", "./my_resources/cc_nc.png")]
cc_heart >> cc_attribution
cc_heart >> non_commercial
cc_heart >> cc_sa
cc_heart >> cc_nd
cc_heart >> cc_zero
```
It will generate the following diagram:
![custom local](/img/custom_local.png)
## Custom with remote icons
If your icons are hosted and can be accessed when you generate the diagrams, you can
```python
from diagrams import Diagram, Cluster
from diagrams.custom import Custom
from urllib.request import urlretrieve
with Diagram("Custom with remote icons", show=False, filename="custom_remote", direction="LR"):
# download the icon image file
diagrams_url = "https://github.com/mingrammer/diagrams/raw/master/assets/img/diagrams.png"
diagrams_icon = "diagrams.png"
urlretrieve(diagrams_url, diagrams_icon)
diagrams = Custom("Diagrams", diagrams_icon)
with Cluster("Some Providers"):
openstack_url = "https://github.com/mingrammer/diagrams/raw/master/resources/openstack/openstack.png"
openstack_icon = "openstack.png"
urlretrieve(openstack_url, openstack_icon)
openstack = Custom("OpenStack", openstack_icon)
elastic_url = "https://github.com/mingrammer/diagrams/raw/master/resources/elastic/saas/elastic.png"
elastic_icon = "elastic.png"
urlretrieve(elastic_url, elastic_icon)
elastic = Custom("Elastic", elastic_icon)
diagrams >> openstack
diagrams >> elastic
```
It will generate the following diagram:
![custom local](/img/custom_remote.png)
Another example can be found [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes).

@ -112,6 +112,10 @@ Node classes list of gcp provider.
- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) - **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias)
- **diagrams.gcp.network.VPN** - **diagrams.gcp.network.VPN**
## gcp.operations
- **diagrams.gcp.operations.Monitoring**
## gcp.security ## gcp.security
- **diagrams.gcp.security.Iam** - **diagrams.gcp.security.Iam**

@ -0,0 +1,228 @@
---
id: ibm
title: IBM
---
Node classes list of ibm provider.
## ibm.analytics
- **diagrams.ibm.analytics.Analytics**
- **diagrams.ibm.analytics.DataIntegration**
- **diagrams.ibm.analytics.DataRepositories**
- **diagrams.ibm.analytics.DeviceAnalytics**
- **diagrams.ibm.analytics.StreamingComputing**
## ibm.applications
- **diagrams.ibm.applications.ActionableInsight**
- **diagrams.ibm.applications.Annotate**
- **diagrams.ibm.applications.ApiDeveloperPortal**
- **diagrams.ibm.applications.ApiPolyglotRuntimes**
- **diagrams.ibm.applications.AppServer**
- **diagrams.ibm.applications.ApplicationLogic**
- **diagrams.ibm.applications.EnterpriseApplications**
- **diagrams.ibm.applications.Index**
- **diagrams.ibm.applications.IotApplication**
- **diagrams.ibm.applications.Microservice**
- **diagrams.ibm.applications.MobileApp**
- **diagrams.ibm.applications.Ontology**
- **diagrams.ibm.applications.OpenSourceTools**
- **diagrams.ibm.applications.RuntimeServices**
- **diagrams.ibm.applications.SaasApplications**
- **diagrams.ibm.applications.ServiceBroker**
- **diagrams.ibm.applications.SpeechToText**
- **diagrams.ibm.applications.VisualRecognition**
- **diagrams.ibm.applications.Visualization**
## ibm.blockchain
- **diagrams.ibm.blockchain.BlockchainDeveloper**
- **diagrams.ibm.blockchain.Blockchain**
- **diagrams.ibm.blockchain.CertificateAuthority**
- **diagrams.ibm.blockchain.ClientApplication**
- **diagrams.ibm.blockchain.Communication**
- **diagrams.ibm.blockchain.Consensus**
- **diagrams.ibm.blockchain.EventListener**
- **diagrams.ibm.blockchain.Event**
- **diagrams.ibm.blockchain.ExistingEnterpriseSystems**
- **diagrams.ibm.blockchain.HyperledgerFabric**
- **diagrams.ibm.blockchain.KeyManagement**
- **diagrams.ibm.blockchain.Ledger**
- **diagrams.ibm.blockchain.MembershipServicesProviderApi**
- **diagrams.ibm.blockchain.Membership**
- **diagrams.ibm.blockchain.MessageBus**
- **diagrams.ibm.blockchain.Node**
- **diagrams.ibm.blockchain.Services**
- **diagrams.ibm.blockchain.SmartContract**
- **diagrams.ibm.blockchain.TransactionManager**
- **diagrams.ibm.blockchain.Wallet**
## ibm.compute
- **diagrams.ibm.compute.BareMetalServer**
- **diagrams.ibm.compute.ImageService**
- **diagrams.ibm.compute.Instance**
- **diagrams.ibm.compute.Key**
- **diagrams.ibm.compute.PowerInstance**
## ibm.data
- **diagrams.ibm.data.Caches**
- **diagrams.ibm.data.Cloud**
- **diagrams.ibm.data.ConversationTrainedDeployed**
- **diagrams.ibm.data.DataServices**
- **diagrams.ibm.data.DataSources**
- **diagrams.ibm.data.DeviceIdentityService**
- **diagrams.ibm.data.DeviceRegistry**
- **diagrams.ibm.data.EnterpriseData**
- **diagrams.ibm.data.EnterpriseUserDirectory**
- **diagrams.ibm.data.FileRepository**
- **diagrams.ibm.data.GroundTruth**
- **diagrams.ibm.data.Model**
- **diagrams.ibm.data.TmsDataInterface**
## ibm.devops
- **diagrams.ibm.devops.ArtifactManagement**
- **diagrams.ibm.devops.BuildTest**
- **diagrams.ibm.devops.CodeEditor**
- **diagrams.ibm.devops.CollaborativeDevelopment**
- **diagrams.ibm.devops.ConfigurationManagement**
- **diagrams.ibm.devops.ContinuousDeploy**
- **diagrams.ibm.devops.ContinuousTesting**
- **diagrams.ibm.devops.Devops**
- **diagrams.ibm.devops.Provision**
- **diagrams.ibm.devops.ReleaseManagement**
## ibm.general
- **diagrams.ibm.general.CloudMessaging**
- **diagrams.ibm.general.CloudServices**
- **diagrams.ibm.general.Cloudant**
- **diagrams.ibm.general.CognitiveServices**
- **diagrams.ibm.general.DataSecurity**
- **diagrams.ibm.general.Enterprise**
- **diagrams.ibm.general.GovernanceRiskCompliance**
- **diagrams.ibm.general.IBMContainers**
- **diagrams.ibm.general.IBMPublicCloud**
- **diagrams.ibm.general.IdentityAccessManagement**
- **diagrams.ibm.general.IdentityProvider**
- **diagrams.ibm.general.InfrastructureSecurity**
- **diagrams.ibm.general.Internet**
- **diagrams.ibm.general.IotCloud**
- **diagrams.ibm.general.MicroservicesApplication**
- **diagrams.ibm.general.MicroservicesMesh**
- **diagrams.ibm.general.MonitoringLogging**
- **diagrams.ibm.general.Monitoring**
- **diagrams.ibm.general.ObjectStorage**
- **diagrams.ibm.general.OfflineCapabilities**
- **diagrams.ibm.general.Openwhisk**
- **diagrams.ibm.general.PeerCloud**
- **diagrams.ibm.general.RetrieveRank**
- **diagrams.ibm.general.Scalable**
- **diagrams.ibm.general.ServiceDiscoveryConfiguration**
- **diagrams.ibm.general.TextToSpeech**
- **diagrams.ibm.general.TransformationConnectivity**
## ibm.infrastructure
- **diagrams.ibm.infrastructure.Channels**
- **diagrams.ibm.infrastructure.CloudMessaging**
- **diagrams.ibm.infrastructure.Dashboard**
- **diagrams.ibm.infrastructure.Diagnostics**
- **diagrams.ibm.infrastructure.EdgeServices**
- **diagrams.ibm.infrastructure.EnterpriseMessaging**
- **diagrams.ibm.infrastructure.EventFeed**
- **diagrams.ibm.infrastructure.InfrastructureServices**
- **diagrams.ibm.infrastructure.InterserviceCommunication**
- **diagrams.ibm.infrastructure.LoadBalancingRouting**
- **diagrams.ibm.infrastructure.MicroservicesMesh**
- **diagrams.ibm.infrastructure.MobileBackend**
- **diagrams.ibm.infrastructure.MobileProviderNetwork**
- **diagrams.ibm.infrastructure.MonitoringLogging**
- **diagrams.ibm.infrastructure.Monitoring**
- **diagrams.ibm.infrastructure.PeerServices**
- **diagrams.ibm.infrastructure.ServiceDiscoveryConfiguration**
- **diagrams.ibm.infrastructure.TransformationConnectivity**
## ibm.management
- **diagrams.ibm.management.AlertNotification**
- **diagrams.ibm.management.ApiManagement**
- **diagrams.ibm.management.CloudManagement**
- **diagrams.ibm.management.ClusterManagement**
- **diagrams.ibm.management.ContentManagement**
- **diagrams.ibm.management.DataServices**
- **diagrams.ibm.management.DeviceManagement**
- **diagrams.ibm.management.InformationGovernance**
- **diagrams.ibm.management.ItServiceManagement**
- **diagrams.ibm.management.Management**
- **diagrams.ibm.management.MonitoringMetrics**
- **diagrams.ibm.management.ProcessManagement**
- **diagrams.ibm.management.ProviderCloudPortalService**
- **diagrams.ibm.management.PushNotifications**
- **diagrams.ibm.management.ServiceManagementTools**
## ibm.network
- **diagrams.ibm.network.Bridge**
- **diagrams.ibm.network.DirectLink**
- **diagrams.ibm.network.Enterprise**
- **diagrams.ibm.network.Firewall**
- **diagrams.ibm.network.FloatingIp**
- **diagrams.ibm.network.Gateway**
- **diagrams.ibm.network.InternetServices**
- **diagrams.ibm.network.LoadBalancerListener**
- **diagrams.ibm.network.LoadBalancerPool**
- **diagrams.ibm.network.LoadBalancer**
- **diagrams.ibm.network.LoadBalancingRouting**
- **diagrams.ibm.network.PublicGateway**
- **diagrams.ibm.network.Region**
- **diagrams.ibm.network.Router**
- **diagrams.ibm.network.Rules**
- **diagrams.ibm.network.Subnet**
- **diagrams.ibm.network.TransitGateway**
- **diagrams.ibm.network.Vpc**
- **diagrams.ibm.network.VpnConnection**
- **diagrams.ibm.network.VpnGateway**
- **diagrams.ibm.network.VpnPolicy**
## ibm.security
- **diagrams.ibm.security.ApiSecurity**
- **diagrams.ibm.security.BlockchainSecurityService**
- **diagrams.ibm.security.DataSecurity**
- **diagrams.ibm.security.Firewall**
- **diagrams.ibm.security.Gateway**
- **diagrams.ibm.security.GovernanceRiskCompliance**
- **diagrams.ibm.security.IdentityAccessManagement**
- **diagrams.ibm.security.IdentityProvider**
- **diagrams.ibm.security.InfrastructureSecurity**
- **diagrams.ibm.security.PhysicalSecurity**
- **diagrams.ibm.security.SecurityMonitoringIntelligence**
- **diagrams.ibm.security.SecurityServices**
- **diagrams.ibm.security.TrustendComputing**
- **diagrams.ibm.security.Vpn**
## ibm.social
- **diagrams.ibm.social.Communities**
- **diagrams.ibm.social.FileSync**
- **diagrams.ibm.social.LiveCollaboration**
- **diagrams.ibm.social.Messaging**
- **diagrams.ibm.social.Networking**
## ibm.storage
- **diagrams.ibm.storage.BlockStorage**
- **diagrams.ibm.storage.ObjectStorage**
## ibm.user
- **diagrams.ibm.user.Browser**
- **diagrams.ibm.user.Device**
- **diagrams.ibm.user.IntegratedDigitalExperiences**
- **diagrams.ibm.user.PhysicalEntity**
- **diagrams.ibm.user.Sensor**
- **diagrams.ibm.user.User**

@ -47,12 +47,12 @@ Node classes list of oci provider.
## oci.database ## oci.database
- **diagrams.oci.database.AutonomousWhite** - **diagrams.oci.database.AutonomousWhite**, **ADBWhite** (alias)
- **diagrams.oci.database.Autonomous** - **diagrams.oci.database.Autonomous**, **ADB** (alias)
- **diagrams.oci.database.BigdataServiceWhite** - **diagrams.oci.database.BigdataServiceWhite**
- **diagrams.oci.database.BigdataService** - **diagrams.oci.database.BigdataService**
- **diagrams.oci.database.DatabaseServiceWhite** - **diagrams.oci.database.DatabaseServiceWhite**, **DBServiceWhite** (alias)
- **diagrams.oci.database.DatabaseService** - **diagrams.oci.database.DatabaseService**, **DBService** (alias)
- **diagrams.oci.database.DataflowApacheWhite** - **diagrams.oci.database.DataflowApacheWhite**
- **diagrams.oci.database.DataflowApache** - **diagrams.oci.database.DataflowApache**
- **diagrams.oci.database.DcatWhite** - **diagrams.oci.database.DcatWhite**

@ -20,6 +20,7 @@ Node classes list of onprem provider.
- **diagrams.onprem.analytics.Hive** - **diagrams.onprem.analytics.Hive**
- **diagrams.onprem.analytics.Metabase** - **diagrams.onprem.analytics.Metabase**
- **diagrams.onprem.analytics.Norikra** - **diagrams.onprem.analytics.Norikra**
- **diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias)
- **diagrams.onprem.analytics.Presto** - **diagrams.onprem.analytics.Presto**
- **diagrams.onprem.analytics.Singer** - **diagrams.onprem.analytics.Singer**
- **diagrams.onprem.analytics.Spark** - **diagrams.onprem.analytics.Spark**
@ -75,6 +76,7 @@ Node classes list of onprem provider.
- **diagrams.onprem.container.Docker** - **diagrams.onprem.container.Docker**
- **diagrams.onprem.container.Firecracker** - **diagrams.onprem.container.Firecracker**
- **diagrams.onprem.container.Gvisor** - **diagrams.onprem.container.Gvisor**
- **diagrams.onprem.container.K3S**
- **diagrams.onprem.container.Lxc**, **LXC** (alias) - **diagrams.onprem.container.Lxc**, **LXC** (alias)
- **diagrams.onprem.container.Rkt**, **RKT** (alias) - **diagrams.onprem.container.Rkt**, **RKT** (alias)
@ -124,6 +126,7 @@ Node classes list of onprem provider.
- **diagrams.onprem.iac.Atlantis** - **diagrams.onprem.iac.Atlantis**
- **diagrams.onprem.iac.Awx** - **diagrams.onprem.iac.Awx**
- **diagrams.onprem.iac.Packer** - **diagrams.onprem.iac.Packer**
- **diagrams.onprem.iac.Puppet**
- **diagrams.onprem.iac.Terraform** - **diagrams.onprem.iac.Terraform**
- **diagrams.onprem.iac.Vagrant** - **diagrams.onprem.iac.Vagrant**
@ -154,7 +157,9 @@ Node classes list of onprem provider.
- **diagrams.onprem.monitoring.Cortex** - **diagrams.onprem.monitoring.Cortex**
- **diagrams.onprem.monitoring.Datadog** - **diagrams.onprem.monitoring.Datadog**
- **diagrams.onprem.monitoring.Dynatrace**
- **diagrams.onprem.monitoring.Grafana** - **diagrams.onprem.monitoring.Grafana**
- **diagrams.onprem.monitoring.Humio**
- **diagrams.onprem.monitoring.Newrelic** - **diagrams.onprem.monitoring.Newrelic**
- **diagrams.onprem.monitoring.PrometheusOperator** - **diagrams.onprem.monitoring.PrometheusOperator**
- **diagrams.onprem.monitoring.Prometheus** - **diagrams.onprem.monitoring.Prometheus**
@ -190,6 +195,7 @@ Node classes list of onprem provider.
- **diagrams.onprem.network.Powerdns** - **diagrams.onprem.network.Powerdns**
- **diagrams.onprem.network.Tomcat** - **diagrams.onprem.network.Tomcat**
- **diagrams.onprem.network.Traefik** - **diagrams.onprem.network.Traefik**
- **diagrams.onprem.network.Tyk**
- **diagrams.onprem.network.Vyos**, **VyOS** (alias) - **diagrams.onprem.network.Vyos**, **VyOS** (alias)
- **diagrams.onprem.network.Wildfly** - **diagrams.onprem.network.Wildfly**
- **diagrams.onprem.network.Zookeeper** - **diagrams.onprem.network.Zookeeper**
@ -231,8 +237,10 @@ Node classes list of onprem provider.
## onprem.vcs ## onprem.vcs
- **diagrams.onprem.vcs.Git** - **diagrams.onprem.vcs.Git**
- **diagrams.onprem.vcs.Gitea**
- **diagrams.onprem.vcs.Github** - **diagrams.onprem.vcs.Github**
- **diagrams.onprem.vcs.Gitlab** - **diagrams.onprem.vcs.Gitlab**
- **diagrams.onprem.vcs.Svn**
## onprem.workflow ## onprem.workflow

@ -5,9 +5,6 @@ title: OpenStack
Node classes list of openstack provider. Node classes list of openstack provider.
## openstack.adjacentenablers
## openstack.apiproxies ## openstack.apiproxies
- **diagrams.openstack.apiproxies.EC2API** - **diagrams.openstack.apiproxies.EC2API**
@ -51,9 +48,6 @@ Node classes list of openstack provider.
- **diagrams.openstack.frontend.Horizon** - **diagrams.openstack.frontend.Horizon**
## openstack.lifecyclemanagement
## openstack.monitoring ## openstack.monitoring
- **diagrams.openstack.monitoring.Monasca** - **diagrams.openstack.monitoring.Monasca**
@ -73,9 +67,6 @@ Node classes list of openstack provider.
- **diagrams.openstack.nfv.Tacker** - **diagrams.openstack.nfv.Tacker**
## openstack.operations
## openstack.optimization ## openstack.optimization
- **diagrams.openstack.optimization.Congress** - **diagrams.openstack.optimization.Congress**

@ -5,12 +5,40 @@ title: Programming
Node classes list of programming provider. Node classes list of programming provider.
## programming.flowchart
- **diagrams.programming.flowchart.Action**
- **diagrams.programming.flowchart.Collate**
- **diagrams.programming.flowchart.Database**
- **diagrams.programming.flowchart.Decision**
- **diagrams.programming.flowchart.Delay**
- **diagrams.programming.flowchart.Display**
- **diagrams.programming.flowchart.Document**
- **diagrams.programming.flowchart.InputOutput**
- **diagrams.programming.flowchart.Inspection**
- **diagrams.programming.flowchart.InternalStorage**
- **diagrams.programming.flowchart.LoopLimit**
- **diagrams.programming.flowchart.ManualInput**
- **diagrams.programming.flowchart.ManualLoop**
- **diagrams.programming.flowchart.Merge**
- **diagrams.programming.flowchart.MultipleDocuments**
- **diagrams.programming.flowchart.OffPageConnectorLeft**
- **diagrams.programming.flowchart.OffPageConnectorRight**
- **diagrams.programming.flowchart.Or**
- **diagrams.programming.flowchart.PredefinedProcess**
- **diagrams.programming.flowchart.Preparation**
- **diagrams.programming.flowchart.Sort**
- **diagrams.programming.flowchart.StartEnd**
- **diagrams.programming.flowchart.StoredData**
- **diagrams.programming.flowchart.SummingJunction**
## programming.framework ## programming.framework
- **diagrams.programming.framework.Angular** - **diagrams.programming.framework.Angular**
- **diagrams.programming.framework.Backbone** - **diagrams.programming.framework.Backbone**
- **diagrams.programming.framework.Django** - **diagrams.programming.framework.Django**
- **diagrams.programming.framework.Ember** - **diagrams.programming.framework.Ember**
- **diagrams.programming.framework.Fastapi**, **FastAPI** (alias)
- **diagrams.programming.framework.Flask** - **diagrams.programming.framework.Flask**
- **diagrams.programming.framework.Flutter** - **diagrams.programming.framework.Flutter**
- **diagrams.programming.framework.Laravel** - **diagrams.programming.framework.Laravel**
@ -18,6 +46,7 @@ Node classes list of programming provider.
- **diagrams.programming.framework.Rails** - **diagrams.programming.framework.Rails**
- **diagrams.programming.framework.React** - **diagrams.programming.framework.React**
- **diagrams.programming.framework.Spring** - **diagrams.programming.framework.Spring**
- **diagrams.programming.framework.Starlette**
- **diagrams.programming.framework.Vue** - **diagrams.programming.framework.Vue**
## programming.language ## programming.language
@ -33,6 +62,7 @@ Node classes list of programming provider.
- **diagrams.programming.language.Java** - **diagrams.programming.language.Java**
- **diagrams.programming.language.Javascript**, **JavaScript** (alias) - **diagrams.programming.language.Javascript**, **JavaScript** (alias)
- **diagrams.programming.language.Kotlin** - **diagrams.programming.language.Kotlin**
- **diagrams.programming.language.Latex**
- **diagrams.programming.language.Matlab** - **diagrams.programming.language.Matlab**
- **diagrams.programming.language.Nodejs**, **NodeJS** (alias) - **diagrams.programming.language.Nodejs**, **NodeJS** (alias)
- **diagrams.programming.language.Php**, **PHP** (alias) - **diagrams.programming.language.Php**, **PHP** (alias)

138
poetry.lock generated

@ -8,17 +8,16 @@ python-versions = "*"
[[package]] [[package]]
name = "astroid" name = "astroid"
version = "2.3.3" version = "2.5"
description = "An abstract syntax tree for Python with inference support." description = "An abstract syntax tree for Python with inference support."
category = "dev" category = "dev"
optional = false optional = false
python-versions = ">=3.5.*" python-versions = ">=3.6"
[package.dependencies] [package.dependencies]
lazy-object-proxy = ">=1.4.0,<1.5.0" lazy-object-proxy = ">=1.4.0"
six = ">=1.12,<2.0"
typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""}
wrapt = ">=1.11.0,<1.12.0" wrapt = ">=1.11,<1.13"
[[package]] [[package]]
name = "atomicwrites" name = "atomicwrites"
@ -91,16 +90,16 @@ immutables = ">=0.9"
[[package]] [[package]]
name = "graphviz" name = "graphviz"
version = "0.16" version = "0.17"
description = "Simple Python interface for Graphviz" description = "Simple Python interface for Graphviz"
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" python-versions = ">=3.6"
[package.extras] [package.extras]
dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"] dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"]
docs = ["sphinx (>=1.8)", "sphinx-rtd-theme"] docs = ["sphinx (>=1.8)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"]
test = ["mock (>=3)", "pytest (>=4)", "pytest-mock (>=2)", "pytest-cov"] test = ["mock (>=3)", "pytest (>=5.2)", "pytest-mock (>=2)", "pytest-cov"]
[[package]] [[package]]
name = "immutables" name = "immutables"
@ -149,17 +148,17 @@ xdg_home = ["appdirs (>=1.4.0)"]
[[package]] [[package]]
name = "jinja2" name = "jinja2"
version = "2.11.1" version = "3.0.1"
description = "A very fast and expressive template engine." description = "A very fast and expressive template engine."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" python-versions = ">=3.6"
[package.dependencies] [package.dependencies]
MarkupSafe = ">=0.23" MarkupSafe = ">=2.0"
[package.extras] [package.extras]
i18n = ["Babel (>=0.8)"] i18n = ["Babel (>=2.7)"]
[[package]] [[package]]
name = "lazy-object-proxy" name = "lazy-object-proxy"
@ -171,11 +170,11 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]] [[package]]
name = "markupsafe" name = "markupsafe"
version = "1.1.1" version = "2.0.1"
description = "Safely add untrusted strings to HTML/XML markup." description = "Safely add untrusted strings to HTML/XML markup."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" python-versions = ">=3.6"
[[package]] [[package]]
name = "mccabe" name = "mccabe"
@ -228,17 +227,21 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]] [[package]]
name = "pylint" name = "pylint"
version = "2.4.4" version = "2.7.0"
description = "python code static checker" description = "python code static checker"
category = "dev" category = "dev"
optional = false optional = false
python-versions = ">=3.5.*" python-versions = "~=3.6"
[package.dependencies] [package.dependencies]
astroid = ">=2.3.0,<2.4" astroid = "2.5.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""} colorama = {version = "*", markers = "sys_platform == \"win32\""}
isort = ">=4.2.5,<5" isort = ">=4.2.5,<6"
mccabe = ">=0.6,<0.7" mccabe = ">=0.6,<0.7"
toml = ">=0.7.1"
[package.extras]
docs = ["sphinx (>=3.2,<4.0)", "python-docs-theme"]
[[package]] [[package]]
name = "pyparsing" name = "pyparsing"
@ -286,14 +289,6 @@ category = "dev"
optional = false optional = false
python-versions = "*" python-versions = "*"
[[package]]
name = "six"
version = "1.14.0"
description = "Python 2 and 3 compatibility utilities"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]] [[package]]
name = "toml" name = "toml"
version = "0.10.0" version = "0.10.0"
@ -333,7 +328,7 @@ testing = ["jaraco.itertools", "func-timeout"]
[metadata] [metadata]
lock-version = "1.1" lock-version = "1.1"
python-versions = "^3.6" python-versions = "^3.6"
content-hash = "6cb154d248e0d13adbb5229f52d1c1ab9ce2ea9cfe54091cf34cd97ccb822653" content-hash = "ba8673da2a3092d00f02f72260944ed69bb62ef5ad5d519645571ed15fb371d6"
[metadata.files] [metadata.files]
appdirs = [ appdirs = [
@ -341,8 +336,8 @@ appdirs = [
{file = "appdirs-1.4.3.tar.gz", hash = "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"}, {file = "appdirs-1.4.3.tar.gz", hash = "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"},
] ]
astroid = [ astroid = [
{file = "astroid-2.3.3-py3-none-any.whl", hash = "sha256:840947ebfa8b58f318d42301cf8c0a20fd794a33b61cc4638e28e9e61ba32f42"}, {file = "astroid-2.5-py3-none-any.whl", hash = "sha256:87ae7f2398b8a0ae5638ddecf9987f081b756e0e9fc071aeebdca525671fc4dc"},
{file = "astroid-2.3.3.tar.gz", hash = "sha256:71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a"}, {file = "astroid-2.5.tar.gz", hash = "sha256:b31c92f545517dcc452f284bc9c044050862fbe6d93d2b3de4a215a6b384bf0d"},
] ]
atomicwrites = [ atomicwrites = [
{file = "atomicwrites-1.3.0-py2.py3-none-any.whl", hash = "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4"}, {file = "atomicwrites-1.3.0-py2.py3-none-any.whl", hash = "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4"},
@ -368,8 +363,8 @@ contextvars = [
{file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"}, {file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"},
] ]
graphviz = [ graphviz = [
{file = "graphviz-0.16-py2.py3-none-any.whl", hash = "sha256:3cad5517c961090dfc679df6402a57de62d97703e2880a1a46147bb0dc1639eb"}, {file = "graphviz-0.17-py3-none-any.whl", hash = "sha256:5dadec94046d82adaae6019311a30e0487536d9d5a60d85451f0ba32f9fc6559"},
{file = "graphviz-0.16.zip", hash = "sha256:d2d25af1c199cad567ce4806f0449cb74eb30cf451fd7597251e1da099ac6e57"}, {file = "graphviz-0.17.zip", hash = "sha256:ef6e2c5deb9cdcc0c7eece1d89625fd07b0f2208ea2bcb483520907ddf8b4e12"},
] ]
immutables = [ immutables = [
{file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"}, {file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"},
@ -402,8 +397,8 @@ isort = [
{file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"},
] ]
jinja2 = [ jinja2 = [
{file = "Jinja2-2.11.1-py2.py3-none-any.whl", hash = "sha256:b0eaf100007721b5c16c1fc1eecb87409464edc10469ddc9a22a27a99123be49"}, {file = "Jinja2-3.0.1-py3-none-any.whl", hash = "sha256:1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4"},
{file = "Jinja2-2.11.1.tar.gz", hash = "sha256:93187ffbc7808079673ef52771baa950426fd664d3aad1d0fa3e95644360e250"}, {file = "Jinja2-3.0.1.tar.gz", hash = "sha256:703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4"},
] ]
lazy-object-proxy = [ lazy-object-proxy = [
{file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"}, {file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"},
@ -429,39 +424,40 @@ lazy-object-proxy = [
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"}, {file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"},
] ]
markupsafe = [ markupsafe = [
{file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
{file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
{file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
{file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
{file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
{file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
{file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
{file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
{file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
{file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"},
{file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"},
{file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
{file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
{file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
{file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
{file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
{file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"},
{file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"},
{file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
{file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
{file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
{file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
{file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
{file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
] ]
mccabe = [ mccabe = [
{file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
@ -484,8 +480,8 @@ py = [
{file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"}, {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"},
] ]
pylint = [ pylint = [
{file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"}, {file = "pylint-2.7.0-py3-none-any.whl", hash = "sha256:3ea3926700db399765db1faf53860f11e4e981a090646e9eacd01ca78e020579"},
{file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"}, {file = "pylint-2.7.0.tar.gz", hash = "sha256:2e0c6749d809985e4f181c336a8f89b2b797340d8049160bf95f35a3f0ecf6fc"},
] ]
pyparsing = [ pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
@ -523,10 +519,6 @@ rope = [
{file = "rope-0.14.0-py3-none-any.whl", hash = "sha256:f0dcf719b63200d492b85535ebe5ea9b29e0d0b8aebeb87fe03fc1a65924fdaf"}, {file = "rope-0.14.0-py3-none-any.whl", hash = "sha256:f0dcf719b63200d492b85535ebe5ea9b29e0d0b8aebeb87fe03fc1a65924fdaf"},
{file = "rope-0.14.0.tar.gz", hash = "sha256:c5c5a6a87f7b1a2095fb311135e2a3d1f194f5ecb96900fdd0a9100881f48aaf"}, {file = "rope-0.14.0.tar.gz", hash = "sha256:c5c5a6a87f7b1a2095fb311135e2a3d1f194f5ecb96900fdd0a9100881f48aaf"},
] ]
six = [
{file = "six-1.14.0-py2.py3-none-any.whl", hash = "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c"},
{file = "six-1.14.0.tar.gz", hash = "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a"},
]
toml = [ toml = [
{file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"}, {file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"},
{file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"}, {file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"},

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "diagrams" name = "diagrams"
version = "0.18.0" version = "0.20.0"
description = "Diagram as Code" description = "Diagram as Code"
license = "MIT" license = "MIT"
authors = ["mingrammer <mingrammer@gmail.com>"] authors = ["mingrammer <mingrammer@gmail.com>"]
@ -11,13 +11,13 @@ include = ["resources/**/*"]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.6" python = "^3.6"
graphviz = ">=0.13.2,<0.17.0" graphviz = ">=0.13.2,<0.18.0"
jinja2 = "^2.10" jinja2 = ">=2.10,<4.0"
contextvars = { version = "^2.4", python = "~3.6" } contextvars = { version = "^2.4", python = "~3.6" }
[tool.poetry.dev-dependencies] [tool.poetry.dev-dependencies]
pytest = "^6.2" pytest = "^6.2"
pylint = "^2.4" pylint = "^2.7"
black = {version = "^19.0", allow-prereleases = true} black = {version = "^19.0", allow-prereleases = true}
rope = "^0.14.0" rope = "^0.14.0"
isort = "^4.3" isort = "^4.3"

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save