diff --git a/README.md b/README.md
index 1ae0f5b92..a3b71b6d4 100644
--- a/README.md
+++ b/README.md
@@ -7,21 +7,7 @@
![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)
[![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)
-
-![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)
+![contributors](https://img.shields.io/github/contributors/mingrammer/diagrams)
@@ -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.
+## 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
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?
-[![GitPitch](https://gitpitch.com/gpimg/logo.png)](https://gitpitch.com/)
-
-[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.
+[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.
-[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.
diff --git a/autogen.sh b/autogen.sh
index dbd011c20..0ee447061 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -4,9 +4,7 @@ set -e
app_root_dir="diagrams"
# NOTE: azure icon set is not latest version
-providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" \
- "programming" "saas" "elastic" "generic" "openstack" "outscale" \
- "terraform")
+providers=("onprem" "aws" "azure" "gcp" "ibm" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" "terraform")
if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed'
@@ -31,11 +29,11 @@ fi
# preprocess the resources
for pvd in "${providers[@]}"; do
# convert the svg to png for azure provider
- if [ "$pvd" = "onprem" ] || [ "$pvd" = "azure" ]; then
+ if [ "$pvd" = "onprem" ] || [ "$pvd" = "azure" ] || [ "$pvd" == "oci" ]; then
echo "converting the svg to png using inkscape for provider '$pvd'"
python -m scripts.resource svg2png "$pvd"
fi
- if [ "$pvd" == "oci" ]; then
+ if [ "$pvd" = "ibm" ]; then
echo "converting the svg to png using image magick for provider '$pvd'"
python -m scripts.resource svg2png2 "$pvd"
fi
@@ -54,6 +52,10 @@ for pvd in "${providers[@]}"; do
python -m scripts.generate "$pvd"
done
+# Generate doc for custom module
+echo "generating the docs for custom"
+python -m scripts.generate "custom"
+
# run black
echo "linting the all the diagram modules"
black "$app_root_dir"/**/*.py
diff --git a/config.py b/config.py
index f8906a0e5..fa9fe389a 100644
--- a/config.py
+++ b/config.py
@@ -12,7 +12,7 @@
DIR_TEMPLATE = "templates"
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", "terraform")
#########################
@@ -32,6 +32,7 @@
"azure": ("Azure-",),
"gcp": ("Cloud-",),
"firebase": ("Cloud-",),
+ "ibm": (),
"k8s": (),
"alibabacloud": (),
"oci": ("OCI-icon-",),
@@ -71,6 +72,7 @@
"outscale": ("osc",),
"openstack": ("rpm", "loci", "nfv", "ec2api"),
"pve": ("pve"),
+ "ibm": ("ibm"),
}
TITLE_WORDS = {
@@ -86,6 +88,9 @@
"openstack": {
"openstack": "OpenStack"
},
+ "ibm": {
+ "ibm": "IBMCloud"
+ },
}
KEEP_LOWER = ("terraform")
@@ -93,6 +98,9 @@
# TODO: check if the classname exists
ALIASES = {
"onprem": {
+ "analytics": {
+ "Powerbi": "PowerBI"
+ },
"ci": {
"Circleci": "CircleCI",
"Concourseci": "ConcourseCI",
@@ -163,6 +171,7 @@
},
"compute": {
"ApplicationAutoScaling": "AutoScaling",
+ "EC2Ami": "AMI",
"EC2ContainerRegistry": "ECR",
"ElasticBeanstalk": "EB",
"ElasticContainerService": "ECS",
@@ -215,6 +224,9 @@
"network": {
"CloudFront": "CF",
"ElasticLoadBalancing": "ELB",
+ "ElbApplicationLoadBalancer": "ALB",
+ "ElbClassicLoadBalancer": "CLB",
+ "ElbNetworkLoadBalancer": "NLB",
"GlobalAccelerator": "GAX",
},
"security": {
@@ -242,6 +254,7 @@
"compute": {
"ContainerRegistries": "ACR",
"KubernetesServices": "AKS",
+ "VMScaleSet": "VMSS"
},
},
"gcp": {
@@ -388,13 +401,16 @@
"OKEWhite": "ContainerEngineWhite",
},
"database": {
- "AutonomousDatabase": "ADB",
- "AutonomousDatabaseWhite": "ADBWhite",
- "Databaseservice": "DBService",
- "DatabaseserviceWhite": "DBServiceWhite",
+ "Autonomous": "ADB",
+ "AutonomousWhite": "ADBWhite",
+ "DatabaseService": "DBService",
+ "DatabaseServiceWhite": "DBServiceWhite",
}
},
"programming": {
+ "framework": {
+ "Fastapi": "FastAPI"
+ },
"language": {
"Javascript": "JavaScript",
"Nodejs": "NodeJS",
@@ -405,6 +421,7 @@
"saas": {
"logging": {
"Datadog": "DataDog",
+ "Newrelic": "NewRelic"
}
},
"elastic": {
@@ -415,6 +432,7 @@
"outscale": {
"Osc": "OSC",
},
+ "ibm": {},
"generic": {},
"openstack": {
"user": {
diff --git a/diagrams/__init__.py b/diagrams/__init__.py
index a9e0f0c11..6968bc4af 100644
--- a/diagrams/__init__.py
+++ b/diagrams/__init__.py
@@ -104,7 +104,7 @@ def __init__(
"""
self.name = name
if not name and not filename:
- filename = "diagrams_image"
+ filename = "diagrams_image"
elif not filename:
filename = "_".join(self.name.split()).lower()
self.filename = filename
@@ -211,7 +211,10 @@ class Cluster:
# Cluster direction does not work now. Graphviz couldn't render
# correctly for a subgraph that has a different rank direction.
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.
@@ -403,8 +406,8 @@ def connect(self, node: "Node", edge: "Edge"):
"""
if not isinstance(node, Node):
ValueError(f"{node} is not a valid Node")
- if not isinstance(node, Edge):
- ValueError(f"{node} is not a valid Edge")
+ if not isinstance(edge, Edge):
+ ValueError(f"{edge} is not a valid Edge")
# An edge must be added on the global diagrams, not a cluster.
self._diagram.connect(self, node, edge)
return node
diff --git a/diagrams/aws/analytics.py b/diagrams/aws/analytics.py
index 068c92325..d37377d98 100644
--- a/diagrams/aws/analytics.py
+++ b/diagrams/aws/analytics.py
@@ -24,6 +24,10 @@ class Cloudsearch(_Analytics):
_icon = "cloudsearch.png"
+class DataLakeResource(_Analytics):
+ _icon = "data-lake-resource.png"
+
+
class DataPipeline(_Analytics):
_icon = "data-pipeline.png"
@@ -36,6 +40,22 @@ class EMRCluster(_Analytics):
_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):
_icon = "emr-hdfs-cluster.png"
diff --git a/diagrams/aws/ar.py b/diagrams/aws/ar.py
index d5a42b9b4..4cd147d7b 100644
--- a/diagrams/aws/ar.py
+++ b/diagrams/aws/ar.py
@@ -8,6 +8,10 @@ class _Ar(_AWS):
_icon_dir = "resources/aws/ar"
+class ArVr(_Ar):
+ _icon = "ar-vr.png"
+
+
class Sumerian(_Ar):
_icon = "sumerian.png"
diff --git a/diagrams/aws/blockchain.py b/diagrams/aws/blockchain.py
index 908847785..12efebeaa 100644
--- a/diagrams/aws/blockchain.py
+++ b/diagrams/aws/blockchain.py
@@ -8,6 +8,14 @@ class _Blockchain(_AWS):
_icon_dir = "resources/aws/blockchain"
+class BlockchainResource(_Blockchain):
+ _icon = "blockchain-resource.png"
+
+
+class Blockchain(_Blockchain):
+ _icon = "blockchain.png"
+
+
class ManagedBlockchain(_Blockchain):
_icon = "managed-blockchain.png"
diff --git a/diagrams/aws/business.py b/diagrams/aws/business.py
index 7063abc50..87f8378b4 100644
--- a/diagrams/aws/business.py
+++ b/diagrams/aws/business.py
@@ -12,6 +12,10 @@ class AlexaForBusiness(_Business):
_icon = "alexa-for-business.png"
+class BusinessApplications(_Business):
+ _icon = "business-applications.png"
+
+
class Chime(_Business):
_icon = "chime.png"
diff --git a/diagrams/aws/compute.py b/diagrams/aws/compute.py
index 923a12528..f63c590fd 100644
--- a/diagrams/aws/compute.py
+++ b/diagrams/aws/compute.py
@@ -16,22 +16,82 @@ class Batch(_Compute):
_icon = "batch.png"
+class ComputeOptimizer(_Compute):
+ _icon = "compute-optimizer.png"
+
+
class Compute(_Compute):
_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):
_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):
_icon = "ec2.png"
+class ElasticBeanstalkApplication(_Compute):
+ _icon = "elastic-beanstalk-application.png"
+
+
+class ElasticBeanstalkDeployment(_Compute):
+ _icon = "elastic-beanstalk-deployment.png"
+
+
class ElasticBeanstalk(_Compute):
_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):
_icon = "elastic-container-service.png"
@@ -44,6 +104,10 @@ class Fargate(_Compute):
_icon = "fargate.png"
+class LambdaFunction(_Compute):
+ _icon = "lambda-function.png"
+
+
class Lambda(_Compute):
_icon = "lambda.png"
@@ -52,6 +116,10 @@ class Lightsail(_Compute):
_icon = "lightsail.png"
+class LocalZones(_Compute):
+ _icon = "local-zones.png"
+
+
class Outposts(_Compute):
_icon = "outposts.png"
@@ -92,9 +160,14 @@ class VmwareCloudOnAWS(_Compute):
_icon = "vmware-cloud-on-aws.png"
+class Wavelength(_Compute):
+ _icon = "wavelength.png"
+
+
# Aliases
AutoScaling = ApplicationAutoScaling
+AMI = EC2Ami
ECR = EC2ContainerRegistry
EB = ElasticBeanstalk
ECS = ElasticContainerService
diff --git a/diagrams/aws/cost.py b/diagrams/aws/cost.py
index ced6de0f5..ba601eb7d 100644
--- a/diagrams/aws/cost.py
+++ b/diagrams/aws/cost.py
@@ -20,6 +20,10 @@ class CostExplorer(_Cost):
_icon = "cost-explorer.png"
+class CostManagement(_Cost):
+ _icon = "cost-management.png"
+
+
class ReservedInstanceReporting(_Cost):
_icon = "reserved-instance-reporting.png"
diff --git a/diagrams/aws/database.py b/diagrams/aws/database.py
index 145fcb5da..38c84f118 100644
--- a/diagrams/aws/database.py
+++ b/diagrams/aws/database.py
@@ -8,10 +8,18 @@ class _Database(_AWS):
_icon_dir = "resources/aws/database"
+class AuroraInstance(_Database):
+ _icon = "aurora-instance.png"
+
+
class Aurora(_Database):
_icon = "aurora.png"
+class DatabaseMigrationServiceDatabaseMigrationWorkflow(_Database):
+ _icon = "database-migration-service-database-migration-workflow.png"
+
+
class DatabaseMigrationService(_Database):
_icon = "database-migration-service.png"
@@ -24,6 +32,14 @@ class DocumentdbMongodbCompatibility(_Database):
_icon = "documentdb-mongodb-compatibility.png"
+class DynamodbAttribute(_Database):
+ _icon = "dynamodb-attribute.png"
+
+
+class DynamodbAttributes(_Database):
+ _icon = "dynamodb-attributes.png"
+
+
class DynamodbDax(_Database):
_icon = "dynamodb-dax.png"
@@ -32,6 +48,14 @@ class DynamodbGlobalSecondaryIndex(_Database):
_icon = "dynamodb-global-secondary-index.png"
+class DynamodbItem(_Database):
+ _icon = "dynamodb-item.png"
+
+
+class DynamodbItems(_Database):
+ _icon = "dynamodb-items.png"
+
+
class DynamodbTable(_Database):
_icon = "dynamodb-table.png"
@@ -40,10 +64,26 @@ class Dynamodb(_Database):
_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):
_icon = "elasticache.png"
+class KeyspacesManagedApacheCassandraService(_Database):
+ _icon = "keyspaces-managed-apache-cassandra-service.png"
+
+
class Neptune(_Database):
_icon = "neptune.png"
@@ -52,14 +92,46 @@ class QuantumLedgerDatabaseQldb(_Database):
_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):
_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):
_icon = "rds.png"
+class RedshiftDenseComputeNode(_Database):
+ _icon = "redshift-dense-compute-node.png"
+
+
+class RedshiftDenseStorageNode(_Database):
+ _icon = "redshift-dense-storage-node.png"
+
+
class Redshift(_Database):
_icon = "redshift.png"
diff --git a/diagrams/aws/devtools.py b/diagrams/aws/devtools.py
index 650c16f9c..0f674ddb4 100644
--- a/diagrams/aws/devtools.py
+++ b/diagrams/aws/devtools.py
@@ -12,6 +12,10 @@ class CloudDevelopmentKit(_Devtools):
_icon = "cloud-development-kit.png"
+class Cloud9Resource(_Devtools):
+ _icon = "cloud9-resource.png"
+
+
class Cloud9(_Devtools):
_icon = "cloud9.png"
diff --git a/diagrams/aws/enablement.py b/diagrams/aws/enablement.py
index ace1f0df1..ec4afceb0 100644
--- a/diagrams/aws/enablement.py
+++ b/diagrams/aws/enablement.py
@@ -8,6 +8,10 @@ class _Enablement(_AWS):
_icon_dir = "resources/aws/enablement"
+class CustomerEnablement(_Enablement):
+ _icon = "customer-enablement.png"
+
+
class Iq(_Enablement):
_icon = "iq.png"
diff --git a/diagrams/aws/enduser.py b/diagrams/aws/enduser.py
index c55364c25..7cea8d36c 100644
--- a/diagrams/aws/enduser.py
+++ b/diagrams/aws/enduser.py
@@ -12,6 +12,10 @@ class Appstream20(_Enduser):
_icon = "appstream-2-0.png"
+class DesktopAndAppStreaming(_Enduser):
+ _icon = "desktop-and-app-streaming.png"
+
+
class Workdocs(_Enduser):
_icon = "workdocs.png"
diff --git a/diagrams/aws/engagement.py b/diagrams/aws/engagement.py
index 3049b8490..ce965b33c 100644
--- a/diagrams/aws/engagement.py
+++ b/diagrams/aws/engagement.py
@@ -12,10 +12,18 @@ class Connect(_Engagement):
_icon = "connect.png"
+class CustomerEngagement(_Engagement):
+ _icon = "customer-engagement.png"
+
+
class Pinpoint(_Engagement):
_icon = "pinpoint.png"
+class SimpleEmailServiceSesEmail(_Engagement):
+ _icon = "simple-email-service-ses-email.png"
+
+
class SimpleEmailServiceSes(_Engagement):
_icon = "simple-email-service-ses.png"
diff --git a/diagrams/aws/game.py b/diagrams/aws/game.py
index dcd2e0f71..446904f27 100644
--- a/diagrams/aws/game.py
+++ b/diagrams/aws/game.py
@@ -8,6 +8,10 @@ class _Game(_AWS):
_icon_dir = "resources/aws/game"
+class GameTech(_Game):
+ _icon = "game-tech.png"
+
+
class Gamelift(_Game):
_icon = "gamelift.png"
diff --git a/diagrams/aws/general.py b/diagrams/aws/general.py
index 29d3e7b2f..dd6d4bea7 100644
--- a/diagrams/aws/general.py
+++ b/diagrams/aws/general.py
@@ -8,10 +8,18 @@ class _General(_AWS):
_icon_dir = "resources/aws/general"
+class Client(_General):
+ _icon = "client.png"
+
+
class Disk(_General):
_icon = "disk.png"
+class Forums(_General):
+ _icon = "forums.png"
+
+
class General(_General):
_icon = "general.png"
@@ -36,10 +44,54 @@ class GenericSDK(_General):
_icon = "generic-sdk.png"
+class InternetAlt1(_General):
+ _icon = "internet-alt1.png"
+
+
+class InternetAlt2(_General):
+ _icon = "internet-alt2.png"
+
+
+class InternetGateway(_General):
+ _icon = "internet-gateway.png"
+
+
class Marketplace(_General):
_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):
_icon = "traditional-server.png"
diff --git a/diagrams/aws/integration.py b/diagrams/aws/integration.py
index 24b7241e9..cfe23d486 100644
--- a/diagrams/aws/integration.py
+++ b/diagrams/aws/integration.py
@@ -20,18 +20,58 @@ class ConsoleMobileApplication(_Integration):
_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):
_icon = "eventbridge.png"
+class ExpressWorkflows(_Integration):
+ _icon = "express-workflows.png"
+
+
class MQ(_Integration):
_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):
_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):
_icon = "simple-queue-service-sqs.png"
diff --git a/diagrams/aws/iot.py b/diagrams/aws/iot.py
index e005a3b4a..94667ef81 100644
--- a/diagrams/aws/iot.py
+++ b/diagrams/aws/iot.py
@@ -24,18 +24,58 @@ class IotAction(_Iot):
_icon = "iot-action.png"
+class IotActuator(_Iot):
+ _icon = "iot-actuator.png"
+
+
class IotAlexaEcho(_Iot):
_icon = "iot-alexa-echo.png"
+class IotAlexaEnabledDevice(_Iot):
+ _icon = "iot-alexa-enabled-device.png"
+
+
class IotAlexaSkill(_Iot):
_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):
_icon = "iot-analytics.png"
+class IotBank(_Iot):
+ _icon = "iot-bank.png"
+
+
+class IotBicycle(_Iot):
+ _icon = "iot-bicycle.png"
+
+
class IotButton(_Iot):
_icon = "iot-button.png"
@@ -44,26 +84,66 @@ class IotCamera(_Iot):
_icon = "iot-camera.png"
+class IotCar(_Iot):
+ _icon = "iot-car.png"
+
+
+class IotCart(_Iot):
+ _icon = "iot-cart.png"
+
+
class IotCertificate(_Iot):
_icon = "iot-certificate.png"
+class IotCoffeePot(_Iot):
+ _icon = "iot-coffee-pot.png"
+
+
class IotCore(_Iot):
_icon = "iot-core.png"
+class IotDesiredState(_Iot):
+ _icon = "iot-desired-state.png"
+
+
class IotDeviceDefender(_Iot):
_icon = "iot-device-defender.png"
+class IotDeviceGateway(_Iot):
+ _icon = "iot-device-gateway.png"
+
+
class IotDeviceManagement(_Iot):
_icon = "iot-device-management.png"
+class IotDoorLock(_Iot):
+ _icon = "iot-door-lock.png"
+
+
class IotEvents(_Iot):
_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):
_icon = "iot-greengrass-connector.png"
@@ -76,6 +156,10 @@ class IotHardwareBoard(_Iot):
_icon = "iot-hardware-board.png"
+class IotHouse(_Iot):
+ _icon = "iot-house.png"
+
+
class IotHttp(_Iot):
_icon = "iot-http.png"
@@ -92,10 +176,22 @@ class IotLambda(_Iot):
_icon = "iot-lambda.png"
+class IotLightbulb(_Iot):
+ _icon = "iot-lightbulb.png"
+
+
+class IotMedicalEmergency(_Iot):
+ _icon = "iot-medical-emergency.png"
+
+
class IotMqtt(_Iot):
_icon = "iot-mqtt.png"
+class IotOverTheAirUpdate(_Iot):
+ _icon = "iot-over-the-air-update.png"
+
+
class IotPolicyEmergency(_Iot):
_icon = "iot-policy-emergency.png"
@@ -104,18 +200,38 @@ class IotPolicy(_Iot):
_icon = "iot-policy.png"
+class IotReportedState(_Iot):
+ _icon = "iot-reported-state.png"
+
+
class IotRule(_Iot):
_icon = "iot-rule.png"
+class IotSensor(_Iot):
+ _icon = "iot-sensor.png"
+
+
+class IotServo(_Iot):
+ _icon = "iot-servo.png"
+
+
class IotShadow(_Iot):
_icon = "iot-shadow.png"
+class IotSimulator(_Iot):
+ _icon = "iot-simulator.png"
+
+
class IotSitewise(_Iot):
_icon = "iot-sitewise.png"
+class IotThermostat(_Iot):
+ _icon = "iot-thermostat.png"
+
+
class IotThingsGraph(_Iot):
_icon = "iot-things-graph.png"
@@ -124,6 +240,18 @@ class IotTopic(_Iot):
_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
FreeRTOS = Freertos
diff --git a/diagrams/aws/management.py b/diagrams/aws/management.py
index 8fa4451be..653791b2e 100644
--- a/diagrams/aws/management.py
+++ b/diagrams/aws/management.py
@@ -12,6 +12,18 @@ class AutoScaling(_Management):
_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):
_icon = "cloudformation.png"
@@ -20,6 +32,22 @@ class Cloudtrail(_Management):
_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):
_icon = "cloudwatch.png"
@@ -48,30 +76,130 @@ class ManagedServices(_Management):
_icon = "managed-services.png"
+class ManagementAndGovernance(_Management):
+ _icon = "management-and-governance.png"
+
+
class ManagementConsole(_Management):
_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):
_icon = "opsworks.png"
+class OrganizationsAccount(_Management):
+ _icon = "organizations-account.png"
+
+
+class OrganizationsOrganizationalUnit(_Management):
+ _icon = "organizations-organizational-unit.png"
+
+
class Organizations(_Management):
_icon = "organizations.png"
+class PersonalHealthDashboard(_Management):
+ _icon = "personal-health-dashboard.png"
+
+
class ServiceCatalog(_Management):
_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):
_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):
_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):
_icon = "trusted-advisor.png"
diff --git a/diagrams/aws/media.py b/diagrams/aws/media.py
index a61b379a5..52580d57e 100644
--- a/diagrams/aws/media.py
+++ b/diagrams/aws/media.py
@@ -52,4 +52,12 @@ class ElementalServer(_Media):
_icon = "elemental-server.png"
+class KinesisVideoStreams(_Media):
+ _icon = "kinesis-video-streams.png"
+
+
+class MediaServices(_Media):
+ _icon = "media-services.png"
+
+
# Aliases
diff --git a/diagrams/aws/migration.py b/diagrams/aws/migration.py
index d7a8bdbc7..69d029a87 100644
--- a/diagrams/aws/migration.py
+++ b/diagrams/aws/migration.py
@@ -20,6 +20,10 @@ class DatabaseMigrationService(_Migration):
_icon = "database-migration-service.png"
+class DatasyncAgent(_Migration):
+ _icon = "datasync-agent.png"
+
+
class Datasync(_Migration):
_icon = "datasync.png"
diff --git a/diagrams/aws/ml.py b/diagrams/aws/ml.py
index ac3d5d7d7..beb454bd2 100644
--- a/diagrams/aws/ml.py
+++ b/diagrams/aws/ml.py
@@ -12,6 +12,10 @@ class ApacheMxnetOnAWS(_ML):
_icon = "apache-mxnet-on-aws.png"
+class AugmentedAi(_ML):
+ _icon = "augmented-ai.png"
+
+
class Comprehend(_ML):
_icon = "comprehend.png"
@@ -24,6 +28,10 @@ class DeepLearningContainers(_ML):
_icon = "deep-learning-containers.png"
+class Deepcomposer(_ML):
+ _icon = "deepcomposer.png"
+
+
class Deeplens(_ML):
_icon = "deeplens.png"
@@ -40,6 +48,14 @@ class Forecast(_ML):
_icon = "forecast.png"
+class FraudDetector(_ML):
+ _icon = "fraud-detector.png"
+
+
+class Kendra(_ML):
+ _icon = "kendra.png"
+
+
class Lex(_ML):
_icon = "lex.png"
@@ -56,6 +72,14 @@ class Polly(_ML):
_icon = "polly.png"
+class RekognitionImage(_ML):
+ _icon = "rekognition-image.png"
+
+
+class RekognitionVideo(_ML):
+ _icon = "rekognition-video.png"
+
+
class Rekognition(_ML):
_icon = "rekognition.png"
diff --git a/diagrams/aws/mobile.py b/diagrams/aws/mobile.py
index 315899e5d..689730336 100644
--- a/diagrams/aws/mobile.py
+++ b/diagrams/aws/mobile.py
@@ -28,6 +28,10 @@ class DeviceFarm(_Mobile):
_icon = "device-farm.png"
+class Mobile(_Mobile):
+ _icon = "mobile.png"
+
+
class Pinpoint(_Mobile):
_icon = "pinpoint.png"
diff --git a/diagrams/aws/network.py b/diagrams/aws/network.py
index 23f952b0a..aa389f992 100644
--- a/diagrams/aws/network.py
+++ b/diagrams/aws/network.py
@@ -8,6 +8,10 @@ class _Network(_AWS):
_icon_dir = "resources/aws/network"
+class APIGatewayEndpoint(_Network):
+ _icon = "api-gateway-endpoint.png"
+
+
class APIGateway(_Network):
_icon = "api-gateway.png"
@@ -24,6 +28,18 @@ class CloudMap(_Network):
_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):
_icon = "cloudfront.png"
@@ -36,6 +52,18 @@ class ElasticLoadBalancing(_Network):
_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):
_icon = "endpoint.png"
@@ -72,6 +100,10 @@ class PublicSubnet(_Network):
_icon = "public-subnet.png"
+class Route53HostedZone(_Network):
+ _icon = "route-53-hosted-zone.png"
+
+
class Route53(_Network):
_icon = "route-53.png"
@@ -88,6 +120,22 @@ class TransitGateway(_Network):
_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):
_icon = "vpc-peering.png"
@@ -96,12 +144,27 @@ class VPCRouter(_Network):
_icon = "vpc-router.png"
+class VPCTrafficMirroring(_Network):
+ _icon = "vpc-traffic-mirroring.png"
+
+
class VPC(_Network):
_icon = "vpc.png"
+class VpnConnection(_Network):
+ _icon = "vpn-connection.png"
+
+
+class VpnGateway(_Network):
+ _icon = "vpn-gateway.png"
+
+
# Aliases
CF = CloudFront
ELB = ElasticLoadBalancing
+ALB = ElbApplicationLoadBalancer
+CLB = ElbClassicLoadBalancer
+NLB = ElbNetworkLoadBalancer
GAX = GlobalAccelerator
diff --git a/diagrams/aws/quantum.py b/diagrams/aws/quantum.py
index 7135bcbe5..9a0b184a2 100644
--- a/diagrams/aws/quantum.py
+++ b/diagrams/aws/quantum.py
@@ -12,4 +12,8 @@ class Braket(_Quantum):
_icon = "braket.png"
+class QuantumTechnologies(_Quantum):
+ _icon = "quantum-technologies.png"
+
+
# Aliases
diff --git a/diagrams/aws/robotics.py b/diagrams/aws/robotics.py
index d2111747b..3d53a2abd 100644
--- a/diagrams/aws/robotics.py
+++ b/diagrams/aws/robotics.py
@@ -8,6 +8,18 @@ class _Robotics(_AWS):
_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):
_icon = "robomaker-simulator.png"
diff --git a/diagrams/aws/satellite.py b/diagrams/aws/satellite.py
index bf44411e5..16c7472af 100644
--- a/diagrams/aws/satellite.py
+++ b/diagrams/aws/satellite.py
@@ -12,4 +12,8 @@ class GroundStation(_Satellite):
_icon = "ground-station.png"
+class Satellite(_Satellite):
+ _icon = "satellite.png"
+
+
# Aliases
diff --git a/diagrams/aws/security.py b/diagrams/aws/security.py
index 61da75a9e..72082d11f 100644
--- a/diagrams/aws/security.py
+++ b/diagrams/aws/security.py
@@ -8,10 +8,18 @@ class _Security(_AWS):
_icon_dir = "resources/aws/security"
+class AdConnector(_Security):
+ _icon = "ad-connector.png"
+
+
class Artifact(_Security):
_icon = "artifact.png"
+class CertificateAuthority(_Security):
+ _icon = "certificate-authority.png"
+
+
class CertificateManager(_Security):
_icon = "certificate-manager.png"
@@ -48,10 +56,34 @@ class IdentityAndAccessManagementIamAccessAnalyzer(_Security):
_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):
_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):
_icon = "identity-and-access-management-iam-permissions.png"
@@ -60,10 +92,18 @@ class IdentityAndAccessManagementIamRole(_Security):
_icon = "identity-and-access-management-iam-role.png"
+class IdentityAndAccessManagementIamTemporarySecurityCredential(_Security):
+ _icon = "identity-and-access-management-iam-temporary-security-credential.png"
+
+
class IdentityAndAccessManagementIam(_Security):
_icon = "identity-and-access-management-iam.png"
+class InspectorAgent(_Security):
+ _icon = "inspector-agent.png"
+
+
class Inspector(_Security):
_icon = "inspector.png"
@@ -76,6 +116,10 @@ class Macie(_Security):
_icon = "macie.png"
+class ManagedMicrosoftAd(_Security):
+ _icon = "managed-microsoft-ad.png"
+
+
class ResourceAccessManager(_Security):
_icon = "resource-access-manager.png"
@@ -84,6 +128,10 @@ class SecretsManager(_Security):
_icon = "secrets-manager.png"
+class SecurityHubFinding(_Security):
+ _icon = "security-hub-finding.png"
+
+
class SecurityHub(_Security):
_icon = "security-hub.png"
@@ -92,14 +140,26 @@ class SecurityIdentityAndCompliance(_Security):
_icon = "security-identity-and-compliance.png"
+class ShieldAdvanced(_Security):
+ _icon = "shield-advanced.png"
+
+
class Shield(_Security):
_icon = "shield.png"
+class SimpleAd(_Security):
+ _icon = "simple-ad.png"
+
+
class SingleSignOn(_Security):
_icon = "single-sign-on.png"
+class WAFFilteringRule(_Security):
+ _icon = "waf-filtering-rule.png"
+
+
class WAF(_Security):
_icon = "waf.png"
diff --git a/diagrams/aws/storage.py b/diagrams/aws/storage.py
index 65efe40e5..564c07ab1 100644
--- a/diagrams/aws/storage.py
+++ b/diagrams/aws/storage.py
@@ -24,10 +24,22 @@ class EFSStandardPrimaryBg(_Storage):
_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):
_icon = "elastic-block-store-ebs.png"
+class ElasticFileSystemEFSFileSystem(_Storage):
+ _icon = "elastic-file-system-efs-file-system.png"
+
+
class ElasticFileSystemEFS(_Storage):
_icon = "elastic-file-system-efs.png"
@@ -44,14 +56,42 @@ class Fsx(_Storage):
_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):
_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):
_icon = "simple-storage-service-s3.png"
+class SnowFamilySnowballImportExport(_Storage):
+ _icon = "snow-family-snowball-import-export.png"
+
+
class SnowballEdge(_Storage):
_icon = "snowball-edge.png"
@@ -64,6 +104,18 @@ class Snowmobile(_Storage):
_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):
_icon = "storage-gateway.png"
diff --git a/diagrams/azure/analytics.py b/diagrams/azure/analytics.py
index 85c994ebc..216b35825 100644
--- a/diagrams/azure/analytics.py
+++ b/diagrams/azure/analytics.py
@@ -52,4 +52,8 @@ class StreamAnalyticsJobs(_Analytics):
_icon = "stream-analytics-jobs.png"
+class SynapseAnalytics(_Analytics):
+ _icon = "synapse-analytics.png"
+
+
# Aliases
diff --git a/diagrams/azure/compute.py b/diagrams/azure/compute.py
index aad7b1718..e2e23ba6a 100644
--- a/diagrams/azure/compute.py
+++ b/diagrams/azure/compute.py
@@ -8,6 +8,14 @@ class _Compute(_Azure):
_icon_dir = "resources/azure/compute"
+class AppServices(_Compute):
+ _icon = "app-services.png"
+
+
+class AutomanagedVM(_Compute):
+ _icon = "automanaged-vm.png"
+
+
class AvailabilitySets(_Compute):
_icon = "availability-sets.png"
@@ -40,6 +48,10 @@ class ContainerRegistries(_Compute):
_icon = "container-registries.png"
+class DiskEncryptionSets(_Compute):
+ _icon = "disk-encryption-sets.png"
+
+
class DiskSnapshots(_Compute):
_icon = "disk-snapshots.png"
@@ -52,6 +64,14 @@ class FunctionApps(_Compute):
_icon = "function-apps.png"
+class ImageDefinitions(_Compute):
+ _icon = "image-definitions.png"
+
+
+class ImageVersions(_Compute):
+ _icon = "image-versions.png"
+
+
class KubernetesServices(_Compute):
_icon = "kubernetes-services.png"
@@ -60,6 +80,10 @@ class MeshApplications(_Compute):
_icon = "mesh-applications.png"
+class OsImages(_Compute):
+ _icon = "os-images.png"
+
+
class SAPHANAOnAzure(_Compute):
_icon = "sap-hana-on-azure.png"
@@ -68,6 +92,14 @@ class ServiceFabricClusters(_Compute):
_icon = "service-fabric-clusters.png"
+class SharedImageGalleries(_Compute):
+ _icon = "shared-image-galleries.png"
+
+
+class SpringCloud(_Compute):
+ _icon = "spring-cloud.png"
+
+
class VMClassic(_Compute):
_icon = "vm-classic.png"
@@ -80,6 +112,10 @@ class VMLinux(_Compute):
_icon = "vm-linux.png"
+class VMScaleSet(_Compute):
+ _icon = "vm-scale-set.png"
+
+
class VMWindows(_Compute):
_icon = "vm-windows.png"
@@ -88,7 +124,12 @@ class VM(_Compute):
_icon = "vm.png"
+class Workspaces(_Compute):
+ _icon = "workspaces.png"
+
+
# Aliases
ACR = ContainerRegistries
AKS = KubernetesServices
+VMSS = VMScaleSet
diff --git a/diagrams/azure/database.py b/diagrams/azure/database.py
index 8e2fb5404..a9127a85c 100644
--- a/diagrams/azure/database.py
+++ b/diagrams/azure/database.py
@@ -20,6 +20,14 @@ class CosmosDb(_Database):
_icon = "cosmos-db.png"
+class DataExplorerClusters(_Database):
+ _icon = "data-explorer-clusters.png"
+
+
+class DataFactory(_Database):
+ _icon = "data-factory.png"
+
+
class DataLake(_Database):
_icon = "data-lake.png"
@@ -44,6 +52,10 @@ class ElasticJobAgents(_Database):
_icon = "elastic-job-agents.png"
+class InstancePools(_Database):
+ _icon = "instance-pools.png"
+
+
class ManagedDatabases(_Database):
_icon = "managed-databases.png"
@@ -68,6 +80,22 @@ class SQLServers(_Database):
_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):
_icon = "virtual-clusters.png"
diff --git a/diagrams/azure/devops.py b/diagrams/azure/devops.py
index b7c1e8fee..eee9f253f 100644
--- a/diagrams/azure/devops.py
+++ b/diagrams/azure/devops.py
@@ -28,6 +28,10 @@ class DevtestLabs(_Devops):
_icon = "devtest-labs.png"
+class LabServices(_Devops):
+ _icon = "lab-services.png"
+
+
class Pipelines(_Devops):
_icon = "pipelines.png"
diff --git a/diagrams/azure/identity.py b/diagrams/azure/identity.py
index 19a0e3949..a79137288 100644
--- a/diagrams/azure/identity.py
+++ b/diagrams/azure/identity.py
@@ -48,6 +48,10 @@ class EnterpriseApplications(_Identity):
_icon = "enterprise-applications.png"
+class Groups(_Identity):
+ _icon = "groups.png"
+
+
class IdentityGovernance(_Identity):
_icon = "identity-governance.png"
@@ -60,4 +64,8 @@ class ManagedIdentities(_Identity):
_icon = "managed-identities.png"
+class Users(_Identity):
+ _icon = "users.png"
+
+
# Aliases
diff --git a/diagrams/azure/integration.py b/diagrams/azure/integration.py
index e16033d09..369cd97bc 100644
--- a/diagrams/azure/integration.py
+++ b/diagrams/azure/integration.py
@@ -52,6 +52,10 @@ class LogicApps(_Integration):
_icon = "logic-apps.png"
+class PartnerTopic(_Integration):
+ _icon = "partner-topic.png"
+
+
class SendgridAccounts(_Integration):
_icon = "sendgrid-accounts.png"
@@ -76,4 +80,8 @@ class StorsimpleDeviceManagers(_Integration):
_icon = "storsimple-device-managers.png"
+class SystemTopic(_Integration):
+ _icon = "system-topic.png"
+
+
# Aliases
diff --git a/diagrams/azure/migration.py b/diagrams/azure/migration.py
index 3c69da4ec..74f573f7e 100644
--- a/diagrams/azure/migration.py
+++ b/diagrams/azure/migration.py
@@ -8,6 +8,14 @@ class _Migration(_Azure):
_icon_dir = "resources/azure/migration"
+class DataBoxEdge(_Migration):
+ _icon = "data-box-edge.png"
+
+
+class DataBox(_Migration):
+ _icon = "data-box.png"
+
+
class DatabaseMigrationServices(_Migration):
_icon = "database-migration-services.png"
diff --git a/diagrams/azure/mobile.py b/diagrams/azure/mobile.py
index a0663f3d9..e2eb20a52 100644
--- a/diagrams/azure/mobile.py
+++ b/diagrams/azure/mobile.py
@@ -9,7 +9,7 @@ class _Mobile(_Azure):
class AppServiceMobile(_Mobile):
- _icon = "app-service---mobile.png"
+ _icon = "app-service-mobile.png"
class MobileEngagement(_Mobile):
diff --git a/diagrams/azure/security.py b/diagrams/azure/security.py
index 0c4fe96ee..f78fb51dd 100644
--- a/diagrams/azure/security.py
+++ b/diagrams/azure/security.py
@@ -8,6 +8,22 @@ class _Security(_Azure):
_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):
_icon = "key-vaults.png"
diff --git a/diagrams/azure/storage.py b/diagrams/azure/storage.py
index 80f546338..5dcf1f2c8 100644
--- a/diagrams/azure/storage.py
+++ b/diagrams/azure/storage.py
@@ -21,7 +21,7 @@ class BlobStorage(_Storage):
class DataBoxEdgeDataBoxGateway(_Storage):
- _icon = "data-box-edge---data-box-gateway.png"
+ _icon = "data-box-edge-data-box-gateway.png"
class DataBox(_Storage):
diff --git a/diagrams/gcp/operations.py b/diagrams/gcp/operations.py
new file mode 100644
index 000000000..53ece13f3
--- /dev/null
+++ b/diagrams/gcp/operations.py
@@ -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
diff --git a/diagrams/ibm/__init__.py b/diagrams/ibm/__init__.py
new file mode 100644
index 000000000..450fa3669
--- /dev/null
+++ b/diagrams/ibm/__init__.py
@@ -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"
diff --git a/diagrams/ibm/analytics.py b/diagrams/ibm/analytics.py
new file mode 100644
index 000000000..dc641a43f
--- /dev/null
+++ b/diagrams/ibm/analytics.py
@@ -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
diff --git a/diagrams/ibm/applications.py b/diagrams/ibm/applications.py
new file mode 100644
index 000000000..c9e517135
--- /dev/null
+++ b/diagrams/ibm/applications.py
@@ -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
diff --git a/diagrams/ibm/blockchain.py b/diagrams/ibm/blockchain.py
new file mode 100644
index 000000000..3c5b5a01a
--- /dev/null
+++ b/diagrams/ibm/blockchain.py
@@ -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
diff --git a/diagrams/ibm/compute.py b/diagrams/ibm/compute.py
new file mode 100644
index 000000000..7bff4f0d8
--- /dev/null
+++ b/diagrams/ibm/compute.py
@@ -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
diff --git a/diagrams/ibm/data.py b/diagrams/ibm/data.py
new file mode 100644
index 000000000..2434cd516
--- /dev/null
+++ b/diagrams/ibm/data.py
@@ -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
diff --git a/diagrams/ibm/devops.py b/diagrams/ibm/devops.py
new file mode 100644
index 000000000..fd41d7003
--- /dev/null
+++ b/diagrams/ibm/devops.py
@@ -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
diff --git a/diagrams/ibm/general.py b/diagrams/ibm/general.py
new file mode 100644
index 000000000..5b4900706
--- /dev/null
+++ b/diagrams/ibm/general.py
@@ -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
diff --git a/diagrams/ibm/infrastructure.py b/diagrams/ibm/infrastructure.py
new file mode 100644
index 000000000..48a3c042e
--- /dev/null
+++ b/diagrams/ibm/infrastructure.py
@@ -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
diff --git a/diagrams/ibm/management.py b/diagrams/ibm/management.py
new file mode 100644
index 000000000..8ec9ac7c5
--- /dev/null
+++ b/diagrams/ibm/management.py
@@ -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
diff --git a/diagrams/ibm/network.py b/diagrams/ibm/network.py
new file mode 100644
index 000000000..605319d1f
--- /dev/null
+++ b/diagrams/ibm/network.py
@@ -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
diff --git a/diagrams/ibm/security.py b/diagrams/ibm/security.py
new file mode 100644
index 000000000..ba35efd59
--- /dev/null
+++ b/diagrams/ibm/security.py
@@ -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
diff --git a/diagrams/ibm/social.py b/diagrams/ibm/social.py
new file mode 100644
index 000000000..66fd7c4aa
--- /dev/null
+++ b/diagrams/ibm/social.py
@@ -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
diff --git a/diagrams/ibm/storage.py b/diagrams/ibm/storage.py
new file mode 100644
index 000000000..b0f7e2a75
--- /dev/null
+++ b/diagrams/ibm/storage.py
@@ -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
diff --git a/diagrams/ibm/user.py b/diagrams/ibm/user.py
new file mode 100644
index 000000000..884847066
--- /dev/null
+++ b/diagrams/ibm/user.py
@@ -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
diff --git a/diagrams/oci/compute.py b/diagrams/oci/compute.py
index ed268d8cd..3afc3a63b 100644
--- a/diagrams/oci/compute.py
+++ b/diagrams/oci/compute.py
@@ -8,64 +8,40 @@ class _Compute(_OCI):
_icon_dir = "resources/oci/compute"
-class AutoscaleWhite(_Compute):
- _icon = "autoscale-white.png"
+class Apex(_Compute):
+ _icon = "apex.png"
class Autoscale(_Compute):
_icon = "autoscale.png"
-class BMWhite(_Compute):
- _icon = "bm-white.png"
-
-
class BM(_Compute):
_icon = "bm.png"
-class ContainerWhite(_Compute):
- _icon = "container-white.png"
-
-
class Container(_Compute):
_icon = "container.png"
-class FunctionsWhite(_Compute):
- _icon = "functions-white.png"
-
-
class Functions(_Compute):
_icon = "functions.png"
-class InstancePoolsWhite(_Compute):
- _icon = "instance-pools-white.png"
-
-
class InstancePools(_Compute):
_icon = "instance-pools.png"
-class OCIRWhite(_Compute):
- _icon = "ocir-white.png"
-
-
class OCIR(_Compute):
_icon = "ocir.png"
-class OKEWhite(_Compute):
- _icon = "oke-white.png"
-
-
class OKE(_Compute):
_icon = "oke.png"
-class VMWhite(_Compute):
- _icon = "vm-white.png"
+class Red(_Compute):
+ _icon = "red.png"
class VM(_Compute):
diff --git a/diagrams/oci/connectivity.py b/diagrams/oci/connectivity.py
index 8c51f6022..fedab5bab 100644
--- a/diagrams/oci/connectivity.py
+++ b/diagrams/oci/connectivity.py
@@ -8,18 +8,10 @@ class _Connectivity(_OCI):
_icon_dir = "resources/oci/connectivity"
-class BackboneWhite(_Connectivity):
- _icon = "backbone-white.png"
-
-
class Backbone(_Connectivity):
_icon = "backbone.png"
-class CDNWhite(_Connectivity):
- _icon = "cdn-white.png"
-
-
class CDN(_Connectivity):
_icon = "cdn.png"
@@ -28,52 +20,40 @@ class CustomerDatacenter(_Connectivity):
_icon = "customer-datacenter.png"
-class CustomerDatacntrWhite(_Connectivity):
- _icon = "customer-datacntr-white.png"
-
-
-class CustomerPremiseWhite(_Connectivity):
- _icon = "customer-premise-white.png"
-
-
class CustomerPremise(_Connectivity):
_icon = "customer-premise.png"
-class DisconnectedRegionsWhite(_Connectivity):
- _icon = "disconnected-regions-white.png"
+class Datacenter(_Connectivity):
+ _icon = "datacenter.png"
class DisconnectedRegions(_Connectivity):
_icon = "disconnected-regions.png"
-class DNSWhite(_Connectivity):
- _icon = "dns-white.png"
-
-
class DNS(_Connectivity):
_icon = "dns.png"
-class FastConnectWhite(_Connectivity):
- _icon = "fast-connect-white.png"
-
-
class FastConnect(_Connectivity):
_icon = "fast-connect.png"
-class NATGatewayWhite(_Connectivity):
- _icon = "nat-gateway-white.png"
+class LocalPeeringGateway(_Connectivity):
+ _icon = "local-peering-gateway.png"
class NATGateway(_Connectivity):
_icon = "nat-gateway.png"
-class VPNWhite(_Connectivity):
- _icon = "vpn-white.png"
+class RemotePeeringGateway(_Connectivity):
+ _icon = "remote-peering-gateway.png"
+
+
+class ServiceConnectorHub(_Connectivity):
+ _icon = "service-connector-hub.png"
class VPN(_Connectivity):
diff --git a/diagrams/oci/database.py b/diagrams/oci/database.py
index ec9e5ce33..fe0c34536 100644
--- a/diagrams/oci/database.py
+++ b/diagrams/oci/database.py
@@ -8,72 +8,64 @@ class _Database(_OCI):
_icon_dir = "resources/oci/database"
-class AutonomousWhite(_Database):
- _icon = "autonomous-white.png"
+class AutonomousDataWarehouseCs(_Database):
+ _icon = "autonomous-data-warehouse-cs.png"
-class Autonomous(_Database):
- _icon = "autonomous.png"
+class AutonomousDataWarehouse(_Database):
+ _icon = "autonomous-data-warehouse.png"
-class BigdataServiceWhite(_Database):
- _icon = "bigdata-service-white.png"
+class AutonomousTransactionProcessing(_Database):
+ _icon = "autonomous-transaction-processing.png"
-class BigdataService(_Database):
- _icon = "bigdata-service.png"
+class Autonomous(_Database):
+ _icon = "autonomous.png"
-class DatabaseServiceWhite(_Database):
- _icon = "database-service-white.png"
+class BigdataService(_Database):
+ _icon = "bigdata-service.png"
class DatabaseService(_Database):
_icon = "database-service.png"
-class DataflowApacheWhite(_Database):
- _icon = "dataflow-apache-white.png"
-
-
class DataflowApache(_Database):
_icon = "dataflow-apache.png"
-class DcatWhite(_Database):
- _icon = "dcat-white.png"
-
-
class Dcat(_Database):
_icon = "dcat.png"
-class DisWhite(_Database):
- _icon = "dis-white.png"
+class Dcs(_Database):
+ _icon = "dcs.png"
class Dis(_Database):
_icon = "dis.png"
-class DMSWhite(_Database):
- _icon = "dms-white.png"
-
-
class DMS(_Database):
_icon = "dms.png"
-class ScienceWhite(_Database):
- _icon = "science-white.png"
+class Exadata(_Database):
+ _icon = "exadata.png"
-class Science(_Database):
- _icon = "science.png"
+class Mysql(_Database):
+ _icon = "mysql.png"
+
+
+class Nosql(_Database):
+ _icon = "nosql.png"
-class StreamWhite(_Database):
- _icon = "stream-white.png"
+class Science(_Database):
+ _icon = "science.png"
class Stream(_Database):
@@ -82,7 +74,7 @@ class Stream(_Database):
# Aliases
-ADB = AutonomousDatabase
-ADBWhite = AutonomousDatabaseWhite
-DBService = Databaseservice
-DBServiceWhite = DatabaseserviceWhite
+ADB = Autonomous
+ADBWhite = AutonomousWhite
+DBService = DatabaseService
+DBServiceWhite = DatabaseServiceWhite
diff --git a/diagrams/oci/devops.py b/diagrams/oci/devops.py
index 7089868ee..9a278f0f1 100644
--- a/diagrams/oci/devops.py
+++ b/diagrams/oci/devops.py
@@ -8,24 +8,20 @@ class _Devops(_OCI):
_icon_dir = "resources/oci/devops"
-class APIGatewayWhite(_Devops):
- _icon = "api-gateway-white.png"
+class Analytics(_Devops):
+ _icon = "analytics.png"
class APIGateway(_Devops):
_icon = "api-gateway.png"
-class APIServiceWhite(_Devops):
- _icon = "api-service-white.png"
-
-
class APIService(_Devops):
_icon = "api-service.png"
-class ResourceMgmtWhite(_Devops):
- _icon = "resource-mgmt-white.png"
+class MarketPlace(_Devops):
+ _icon = "market-place.png"
class ResourceMgmt(_Devops):
diff --git a/diagrams/oci/governance.py b/diagrams/oci/governance.py
index 914919afb..d63bb5a55 100644
--- a/diagrams/oci/governance.py
+++ b/diagrams/oci/governance.py
@@ -8,60 +8,40 @@ class _Governance(_OCI):
_icon_dir = "resources/oci/governance"
-class AuditWhite(_Governance):
- _icon = "audit-white.png"
-
-
class Audit(_Governance):
_icon = "audit.png"
-class CompartmentsWhite(_Governance):
- _icon = "compartments-white.png"
-
-
class Compartments(_Governance):
_icon = "compartments.png"
-class GroupsWhite(_Governance):
- _icon = "groups-white.png"
+class FlowLogs(_Governance):
+ _icon = "flow-logs.png"
class Groups(_Governance):
_icon = "groups.png"
-class LoggingWhite(_Governance):
- _icon = "logging-white.png"
-
-
class Logging(_Governance):
_icon = "logging.png"
-class OCIDWhite(_Governance):
- _icon = "ocid-white.png"
-
-
class OCID(_Governance):
_icon = "ocid.png"
-class PoliciesWhite(_Governance):
- _icon = "policies-white.png"
-
-
class Policies(_Governance):
_icon = "policies.png"
-class TaggingWhite(_Governance):
- _icon = "tagging-white.png"
-
-
class Tagging(_Governance):
_icon = "tagging.png"
+class User(_Governance):
+ _icon = "user.png"
+
+
# Aliases
diff --git a/diagrams/oci/ml.py b/diagrams/oci/ml.py
new file mode 100644
index 000000000..ca659641f
--- /dev/null
+++ b/diagrams/oci/ml.py
@@ -0,0 +1,19 @@
+# This module is automatically generated by autogen.sh. DO NOT EDIT.
+
+from . import _OCI
+
+
+class _Ml(_OCI):
+ _type = "ml"
+ _icon_dir = "resources/oci/ml"
+
+
+class ArtificialIntelligence(_Ml):
+ _icon = "artificial-intelligence.png"
+
+
+class MachineLearning(_Ml):
+ _icon = "machine-learning.png"
+
+
+# Aliases
diff --git a/diagrams/oci/monitoring.py b/diagrams/oci/monitoring.py
index ae05bbaa8..2c655654b 100644
--- a/diagrams/oci/monitoring.py
+++ b/diagrams/oci/monitoring.py
@@ -8,74 +8,38 @@ class _Monitoring(_OCI):
_icon_dir = "resources/oci/monitoring"
-class AlarmWhite(_Monitoring):
- _icon = "alarm-white.png"
-
-
class Alarm(_Monitoring):
_icon = "alarm.png"
-class EmailWhite(_Monitoring):
- _icon = "email-white.png"
-
-
class Email(_Monitoring):
_icon = "email.png"
-class EventsWhite(_Monitoring):
- _icon = "events-white.png"
-
-
class Events(_Monitoring):
_icon = "events.png"
-class HealthCheckWhite(_Monitoring):
- _icon = "health-check-white.png"
-
-
class HealthCheck(_Monitoring):
_icon = "health-check.png"
-class NotificationsWhite(_Monitoring):
- _icon = "notifications-white.png"
-
-
class Notifications(_Monitoring):
_icon = "notifications.png"
-class QueueWhite(_Monitoring):
- _icon = "queue-white.png"
-
-
class Queue(_Monitoring):
_icon = "queue.png"
-class SearchWhite(_Monitoring):
- _icon = "search-white.png"
-
-
class Search(_Monitoring):
_icon = "search.png"
-class TelemetryWhite(_Monitoring):
- _icon = "telemetry-white.png"
-
-
class Telemetry(_Monitoring):
_icon = "telemetry.png"
-class WorkflowWhite(_Monitoring):
- _icon = "workflow-white.png"
-
-
class Workflow(_Monitoring):
_icon = "workflow.png"
diff --git a/diagrams/oci/network.py b/diagrams/oci/network.py
index 6175cb6f9..3c33d5800 100644
--- a/diagrams/oci/network.py
+++ b/diagrams/oci/network.py
@@ -8,64 +8,44 @@ class _Network(_OCI):
_icon_dir = "resources/oci/network"
-class DrgWhite(_Network):
- _icon = "drg-white.png"
+class CloudService(_Network):
+ _icon = "cloud-service.png"
class Drg(_Network):
_icon = "drg.png"
-class FirewallWhite(_Network):
- _icon = "firewall-white.png"
-
-
class Firewall(_Network):
_icon = "firewall.png"
-class InternetGatewayWhite(_Network):
- _icon = "internet-gateway-white.png"
-
-
class InternetGateway(_Network):
_icon = "internet-gateway.png"
-class LoadBalancerWhite(_Network):
- _icon = "load-balancer-white.png"
-
-
class LoadBalancer(_Network):
_icon = "load-balancer.png"
-class RouteTableWhite(_Network):
- _icon = "route-table-white.png"
-
-
class RouteTable(_Network):
_icon = "route-table.png"
-class SecurityListsWhite(_Network):
- _icon = "security-lists-white.png"
+class Router(_Network):
+ _icon = "router.png"
class SecurityLists(_Network):
_icon = "security-lists.png"
-class ServiceGatewayWhite(_Network):
- _icon = "service-gateway-white.png"
-
-
class ServiceGateway(_Network):
_icon = "service-gateway.png"
-class VcnWhite(_Network):
- _icon = "vcn-white.png"
+class Switch(_Network):
+ _icon = "switch.png"
class Vcn(_Network):
diff --git a/diagrams/oci/security.py b/diagrams/oci/security.py
index 5075da818..1c40bff04 100644
--- a/diagrams/oci/security.py
+++ b/diagrams/oci/security.py
@@ -8,66 +8,34 @@ class _Security(_OCI):
_icon_dir = "resources/oci/security"
-class CloudGuardWhite(_Security):
- _icon = "cloud-guard-white.png"
-
-
class CloudGuard(_Security):
_icon = "cloud-guard.png"
-class DDOSWhite(_Security):
- _icon = "ddos-white.png"
-
-
class DDOS(_Security):
_icon = "ddos.png"
-class EncryptionWhite(_Security):
- _icon = "encryption-white.png"
-
-
class Encryption(_Security):
_icon = "encryption.png"
-class IDAccessWhite(_Security):
- _icon = "id-access-white.png"
-
-
class IDAccess(_Security):
_icon = "id-access.png"
-class KeyManagementWhite(_Security):
- _icon = "key-management-white.png"
-
-
class KeyManagement(_Security):
_icon = "key-management.png"
-class MaxSecurityZoneWhite(_Security):
- _icon = "max-security-zone-white.png"
-
-
class MaxSecurityZone(_Security):
_icon = "max-security-zone.png"
-class VaultWhite(_Security):
- _icon = "vault-white.png"
-
-
class Vault(_Security):
_icon = "vault.png"
-class WAFWhite(_Security):
- _icon = "waf-white.png"
-
-
class WAF(_Security):
_icon = "waf.png"
diff --git a/diagrams/oci/storage.py b/diagrams/oci/storage.py
index e1a57165a..59cc01c41 100644
--- a/diagrams/oci/storage.py
+++ b/diagrams/oci/storage.py
@@ -8,72 +8,44 @@ class _Storage(_OCI):
_icon_dir = "resources/oci/storage"
-class BackupRestoreWhite(_Storage):
- _icon = "backup-restore-white.png"
-
-
class BackupRestore(_Storage):
_icon = "backup-restore.png"
-class BlockStorageCloneWhite(_Storage):
- _icon = "block-storage-clone-white.png"
-
-
class BlockStorageClone(_Storage):
_icon = "block-storage-clone.png"
-class BlockStorageWhite(_Storage):
- _icon = "block-storage-white.png"
-
-
class BlockStorage(_Storage):
_icon = "block-storage.png"
-class BucketsWhite(_Storage):
- _icon = "buckets-white.png"
-
-
class Buckets(_Storage):
_icon = "buckets.png"
-class DataTransferWhite(_Storage):
- _icon = "data-transfer-white.png"
-
-
class DataTransfer(_Storage):
_icon = "data-transfer.png"
-class ElasticPerformanceWhite(_Storage):
- _icon = "elastic-performance-white.png"
-
-
class ElasticPerformance(_Storage):
_icon = "elastic-performance.png"
-class FileStorageWhite(_Storage):
- _icon = "file-storage-white.png"
-
-
class FileStorage(_Storage):
_icon = "file-storage.png"
-class ObjectStorageWhite(_Storage):
- _icon = "object-storage-white.png"
+class LocalStorage(_Storage):
+ _icon = "local-storage.png"
class ObjectStorage(_Storage):
_icon = "object-storage.png"
-class StorageGatewayWhite(_Storage):
- _icon = "storage-gateway-white.png"
+class PersistentVolume(_Storage):
+ _icon = "persistent-volume.png"
class StorageGateway(_Storage):
diff --git a/diagrams/onprem/analytics.py b/diagrams/onprem/analytics.py
index a62e40175..df70419b7 100644
--- a/diagrams/onprem/analytics.py
+++ b/diagrams/onprem/analytics.py
@@ -40,6 +40,10 @@ class Norikra(_Analytics):
_icon = "norikra.png"
+class Powerbi(_Analytics):
+ _icon = "powerbi.png"
+
+
class Presto(_Analytics):
_icon = "presto.png"
@@ -65,3 +69,5 @@ class Tableau(_Analytics):
# Aliases
+
+PowerBI = Powerbi
diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py
index 68b2fb419..c097ecaaa 100644
--- a/diagrams/onprem/monitoring.py
+++ b/diagrams/onprem/monitoring.py
@@ -20,6 +20,14 @@ class Grafana(_Monitoring):
_icon = "grafana.png"
+class Humio(_Monitoring):
+ _icon = "humio.png"
+
+
+class Newrelic(_Monitoring):
+ _icon = "newrelic.png"
+
+
class PrometheusOperator(_Monitoring):
_icon = "prometheus-operator.png"
diff --git a/diagrams/onprem/vcs.py b/diagrams/onprem/vcs.py
index 6bd2f4ecb..b78e0b5d8 100644
--- a/diagrams/onprem/vcs.py
+++ b/diagrams/onprem/vcs.py
@@ -12,6 +12,10 @@ class Git(_Vcs):
_icon = "git.png"
+class Gitea(_Vcs):
+ _icon = "gitea.png"
+
+
class Github(_Vcs):
_icon = "github.png"
diff --git a/diagrams/programming/flowchart.py b/diagrams/programming/flowchart.py
new file mode 100644
index 000000000..1e7ecf17b
--- /dev/null
+++ b/diagrams/programming/flowchart.py
@@ -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
diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py
index 410a53a2e..f8d901fb0 100644
--- a/diagrams/programming/framework.py
+++ b/diagrams/programming/framework.py
@@ -24,6 +24,10 @@ class Ember(_Framework):
_icon = "ember.png"
+class Fastapi(_Framework):
+ _icon = "fastapi.png"
+
+
class Flask(_Framework):
_icon = "flask.png"
@@ -36,6 +40,10 @@ class Laravel(_Framework):
_icon = "laravel.png"
+class Micronaut(_Framework):
+ _icon = "micronaut.png"
+
+
class Rails(_Framework):
_icon = "rails.png"
@@ -53,3 +61,5 @@ class Vue(_Framework):
# Aliases
+
+FastAPI = Fastapi
diff --git a/diagrams/saas/alerting.py b/diagrams/saas/alerting.py
index bd64d8a22..0e3f65e1f 100644
--- a/diagrams/saas/alerting.py
+++ b/diagrams/saas/alerting.py
@@ -8,6 +8,10 @@ class _Alerting(_Saas):
_icon_dir = "resources/saas/alerting"
+class Newrelic(_Alerting):
+ _icon = "newrelic.png"
+
+
class Opsgenie(_Alerting):
_icon = "opsgenie.png"
diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py
index 2eb525401..e48587abe 100644
--- a/diagrams/saas/chat.py
+++ b/diagrams/saas/chat.py
@@ -8,7 +8,6 @@ class _Chat(_Saas):
_icon_dir = "resources/saas/chat"
-
class Discord(_Chat):
_icon = "discord.png"
diff --git a/diagrams/saas/logging.py b/diagrams/saas/logging.py
index 8ae4a00b7..fd8a28cdf 100644
--- a/diagrams/saas/logging.py
+++ b/diagrams/saas/logging.py
@@ -12,6 +12,10 @@ class Datadog(_Logging):
_icon = "datadog.png"
+class Newrelic(_Logging):
+ _icon = "newrelic.png"
+
+
class Papertrail(_Logging):
_icon = "papertrail.png"
@@ -19,3 +23,4 @@ class Papertrail(_Logging):
# Aliases
DataDog = Datadog
+NewRelic = Newrelic
diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile
index 2d4b26122..8aed1225b 100644
--- a/docker/dev/Dockerfile
+++ b/docker/dev/Dockerfile
@@ -1,9 +1,9 @@
-# use latest python alphine image.
-FROM python:rc-alpine3.12
+# use latest python 3 alpine image.
+FROM python:3-alpine
# install system dependencies.
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.
RUN go get github.com/mingrammer/round
diff --git a/docs/getting-started/examples.md b/docs/getting-started/examples.md
index 7596567a0..b334cf231 100644
--- a/docs/getting-started/examples.md
+++ b/docs/getting-started/examples.md
@@ -42,13 +42,13 @@ with Diagram("Clustered Web Services", show=False):
ECS("web3")]
with Cluster("DB Cluster"):
- db_master = RDS("userdb")
- db_master - [RDS("userdb ro")]
+ db_main = RDS("userdb")
+ db_main - [RDS("userdb ro")]
memcached = ElastiCache("memcached")
dns >> lb >> svc_group
- svc_group >> db_master
+ svc_group >> db_main
svc_group >> memcached
```
@@ -178,7 +178,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL
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.network import Nginx
from diagrams.onprem.queue import Kafka
@@ -196,14 +196,14 @@ with Diagram("Advanced Web Service with On-Premise", show=False):
Server("grpc3")]
with Cluster("Sessions HA"):
- master = Redis("session")
- master - Redis("replica") << metrics
- grpcsvc >> master
+ main = Redis("session")
+ main - Redis("replica") << metrics
+ grpcsvc >> main
with Cluster("Database HA"):
- master = PostgreSQL("users")
- master - PostgreSQL("slave") << metrics
- grpcsvc >> master
+ main = PostgreSQL("users")
+ main - PostgreSQL("replica") << metrics
+ grpcsvc >> main
aggregator = Fluentd("logging")
aggregator >> Kafka("stream") >> Spark("analytics")
@@ -221,7 +221,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL
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.network import Nginx
from diagrams.onprem.queue import Kafka
@@ -239,14 +239,14 @@ with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False):
Server("grpc3")]
with Cluster("Sessions HA"):
- master = Redis("session")
- master - Edge(color="brown", style="dashed") - Redis("replica") << Edge(label="collect") << metrics
- grpcsvc >> Edge(color="brown") >> master
+ main = Redis("session")
+ main - Edge(color="brown", style="dashed") - Redis("replica") << Edge(label="collect") << metrics
+ grpcsvc >> Edge(color="brown") >> main
with Cluster("Database HA"):
- master = PostgreSQL("users")
- master - Edge(color="brown", style="dotted") - PostgreSQL("slave") << Edge(label="collect") << metrics
- grpcsvc >> Edge(color="black") >> master
+ main = PostgreSQL("users")
+ main - Edge(color="brown", style="dotted") - PostgreSQL("replica") << Edge(label="collect") << metrics
+ grpcsvc >> Edge(color="black") >> main
aggregator = Fluentd("logging")
aggregator >> Edge(label="parse") >> Kafka("stream") >> Edge(color="black", style="bold") >> Spark("analytics")
@@ -283,4 +283,4 @@ with Diagram("Broker Consumers", show=False):
queue >> consumers >> Aurora("Database")
```
-![rabbitmq consumers diagram](/img/rabbitmq_consumers_diagram.png)
\ No newline at end of file
+![rabbitmq consumers diagram](/img/rabbitmq_consumers_diagram.png)
diff --git a/docs/guides/cluster.md b/docs/guides/cluster.md
index 6cbf820e3..5b8d42ab3 100644
--- a/docs/guides/cluster.md
+++ b/docs/guides/cluster.md
@@ -22,11 +22,11 @@ with Diagram("Simple Web Service with DB Cluster", show=False):
web = ECS("service")
with Cluster("DB Cluster"):
- db_master = RDS("master")
- db_master - [RDS("slave1"),
- RDS("slave2")]
+ db_main = RDS("main")
+ db_main - [RDS("replica1"),
+ RDS("replica2")]
- dns >> web >> db_master
+ dns >> web >> db_main
```
![simple web service with db cluster diagram](/img/simple_web_service_with_db_cluster_diagram.png)
@@ -68,4 +68,4 @@ with Diagram("Event Processing", show=False):
![event processing diagram](/img/event_processing_diagram.png)
-> There is no depth limit of nesting. Feel free to create nested clusters as deep as you want.
\ No newline at end of file
+> There is no depth limit of nesting. Feel free to create nested clusters as deep as you want.
diff --git a/docs/guides/edge.md b/docs/guides/edge.md
index 5cc730b99..0c5233fef 100644
--- a/docs/guides/edge.md
+++ b/docs/guides/edge.md
@@ -17,7 +17,7 @@ from diagrams.onprem.analytics import Spark
from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL
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.network import Nginx
from diagrams.onprem.queue import Kafka
@@ -35,19 +35,35 @@ with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False):
Server("grpc3")]
with Cluster("Sessions HA"):
- master = Redis("session")
- master - Edge(color="brown", style="dashed") - Redis("replica") << Edge(label="collect") << metrics
- grpcsvc >> Edge(color="brown") >> master
+ main = Redis("session")
+ main \
+ - Edge(color="brown", style="dashed") \
+ - Redis("replica") \
+ << Edge(label="collect") \
+ << metrics
+ grpcsvc >> Edge(color="brown") >> main
with Cluster("Database HA"):
- master = PostgreSQL("users")
- master - Edge(color="brown", style="dotted") - PostgreSQL("slave") << Edge(label="collect") << metrics
- grpcsvc >> Edge(color="black") >> master
+ main = PostgreSQL("users")
+ main \
+ - Edge(color="brown", style="dotted") \
+ - PostgreSQL("replica") \
+ << Edge(label="collect") \
+ << metrics
+ grpcsvc >> Edge(color="black") >> main
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)
diff --git a/docs/guides/node.md b/docs/guides/node.md
index 3bd1182e5..f0f524a7e 100644
--- a/docs/guides/node.md
+++ b/docs/guides/node.md
@@ -54,7 +54,7 @@ from diagrams.k8s.storage import PV, PVC, StorageClass
# oracle resources
from diagrams.oci.compute import VirtualMachine, Container
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).
diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md
index 168892e61..8a0dea76d 100644
--- a/docs/nodes/aws.md
+++ b/docs/nodes/aws.md
@@ -11,9 +11,14 @@ Node classes list of aws provider.
- **diagrams.aws.analytics.Athena**
- **diagrams.aws.analytics.CloudsearchSearchDocuments**
- **diagrams.aws.analytics.Cloudsearch**
+- **diagrams.aws.analytics.DataLakeResource**
- **diagrams.aws.analytics.DataPipeline**
- **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias)
- **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.EMR**
- **diagrams.aws.analytics.GlueCrawlers**
@@ -33,16 +38,20 @@ Node classes list of aws provider.
## aws.ar
+- **diagrams.aws.ar.ArVr**
- **diagrams.aws.ar.Sumerian**
## aws.blockchain
+- **diagrams.aws.blockchain.BlockchainResource**
+- **diagrams.aws.blockchain.Blockchain**
- **diagrams.aws.blockchain.ManagedBlockchain**
- **diagrams.aws.blockchain.QuantumLedgerDatabaseQldb**, **QLDB** (alias)
## aws.business
- **diagrams.aws.business.AlexaForBusiness**, **A4B** (alias)
+- **diagrams.aws.business.BusinessApplications**
- **diagrams.aws.business.Chime**
- **diagrams.aws.business.Workmail**
@@ -50,15 +59,32 @@ Node classes list of aws provider.
- **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias)
- **diagrams.aws.compute.Batch**
+- **diagrams.aws.compute.ComputeOptimizer**
- **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.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.ElasticBeanstalkApplication**
+- **diagrams.aws.compute.ElasticBeanstalkDeployment**
- **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias)
+- **diagrams.aws.compute.ElasticContainerServiceContainer**
+- **diagrams.aws.compute.ElasticContainerServiceService**
- **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias)
- **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias)
- **diagrams.aws.compute.Fargate**
+- **diagrams.aws.compute.LambdaFunction**
- **diagrams.aws.compute.Lambda**
- **diagrams.aws.compute.Lightsail**
+- **diagrams.aws.compute.LocalZones**
- **diagrams.aws.compute.Outposts**
- **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias)
- **diagrams.aws.compute.ThinkboxDeadline**
@@ -69,36 +95,57 @@ Node classes list of aws provider.
- **diagrams.aws.compute.ThinkboxStoke**
- **diagrams.aws.compute.ThinkboxXmesh**
- **diagrams.aws.compute.VmwareCloudOnAWS**
+- **diagrams.aws.compute.Wavelength**
## aws.cost
- **diagrams.aws.cost.Budgets**
- **diagrams.aws.cost.CostAndUsageReport**
- **diagrams.aws.cost.CostExplorer**
+- **diagrams.aws.cost.CostManagement**
- **diagrams.aws.cost.ReservedInstanceReporting**
- **diagrams.aws.cost.SavingsPlans**
## aws.database
+- **diagrams.aws.database.AuroraInstance**
- **diagrams.aws.database.Aurora**
+- **diagrams.aws.database.DatabaseMigrationServiceDatabaseMigrationWorkflow**
- **diagrams.aws.database.DatabaseMigrationService**, **DMS** (alias)
- **diagrams.aws.database.Database**, **DB** (alias)
- **diagrams.aws.database.DocumentdbMongodbCompatibility**, **DocumentDB** (alias)
+- **diagrams.aws.database.DynamodbAttribute**
+- **diagrams.aws.database.DynamodbAttributes**
- **diagrams.aws.database.DynamodbDax**, **DAX** (alias)
- **diagrams.aws.database.DynamodbGlobalSecondaryIndex**, **DynamodbGSI** (alias)
+- **diagrams.aws.database.DynamodbItem**
+- **diagrams.aws.database.DynamodbItems**
- **diagrams.aws.database.DynamodbTable**
- **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.KeyspacesManagedApacheCassandraService**
- **diagrams.aws.database.Neptune**
- **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.RDSOracleInstance**
+- **diagrams.aws.database.RDSPostgresqlInstance**
+- **diagrams.aws.database.RDSSqlServerInstance**
- **diagrams.aws.database.RDS**
+- **diagrams.aws.database.RedshiftDenseComputeNode**
+- **diagrams.aws.database.RedshiftDenseStorageNode**
- **diagrams.aws.database.Redshift**
- **diagrams.aws.database.Timestream**
## aws.devtools
- **diagrams.aws.devtools.CloudDevelopmentKit**
+- **diagrams.aws.devtools.Cloud9Resource**
- **diagrams.aws.devtools.Cloud9**
- **diagrams.aws.devtools.Codebuild**
- **diagrams.aws.devtools.Codecommit**
@@ -112,6 +159,7 @@ Node classes list of aws provider.
## aws.enablement
+- **diagrams.aws.enablement.CustomerEnablement**
- **diagrams.aws.enablement.Iq**
- **diagrams.aws.enablement.ManagedServices**
- **diagrams.aws.enablement.ProfessionalServices**
@@ -120,6 +168,7 @@ Node classes list of aws provider.
## aws.enduser
- **diagrams.aws.enduser.Appstream20**
+- **diagrams.aws.enduser.DesktopAndAppStreaming**
- **diagrams.aws.enduser.Workdocs**
- **diagrams.aws.enduser.Worklink**
- **diagrams.aws.enduser.Workspaces**
@@ -127,23 +176,39 @@ Node classes list of aws provider.
## aws.engagement
- **diagrams.aws.engagement.Connect**
+- **diagrams.aws.engagement.CustomerEngagement**
- **diagrams.aws.engagement.Pinpoint**
+- **diagrams.aws.engagement.SimpleEmailServiceSesEmail**
- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias)
## aws.game
+- **diagrams.aws.game.GameTech**
- **diagrams.aws.game.Gamelift**
## aws.general
+- **diagrams.aws.general.Client**
- **diagrams.aws.general.Disk**
+- **diagrams.aws.general.Forums**
- **diagrams.aws.general.General**
- **diagrams.aws.general.GenericDatabase**
- **diagrams.aws.general.GenericFirewall**
- **diagrams.aws.general.GenericOfficeBuilding**, **OfficeBuilding** (alias)
- **diagrams.aws.general.GenericSamlToken**
- **diagrams.aws.general.GenericSDK**
+- **diagrams.aws.general.InternetAlt1**
+- **diagrams.aws.general.InternetAlt2**
+- **diagrams.aws.general.InternetGateway**
- **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.User**
- **diagrams.aws.general.Users**
@@ -153,9 +218,19 @@ Node classes list of aws provider.
- **diagrams.aws.integration.ApplicationIntegration**
- **diagrams.aws.integration.Appsync**
- **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.ExpressWorkflows**
- **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.SimpleQueueServiceSqsMessage**
+- **diagrams.aws.integration.SimpleQueueServiceSqsQueue**
- **diagrams.aws.integration.SimpleQueueServiceSqs**, **SQS** (alias)
- **diagrams.aws.integration.StepFunctions**, **SF** (alias)
@@ -165,37 +240,76 @@ Node classes list of aws provider.
- **diagrams.aws.iot.InternetOfThings**
- **diagrams.aws.iot.Iot1Click**
- **diagrams.aws.iot.IotAction**
+- **diagrams.aws.iot.IotActuator**
- **diagrams.aws.iot.IotAlexaEcho**
+- **diagrams.aws.iot.IotAlexaEnabledDevice**
- **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.IotBank**
+- **diagrams.aws.iot.IotBicycle**
- **diagrams.aws.iot.IotButton**
- **diagrams.aws.iot.IotCamera**
+- **diagrams.aws.iot.IotCar**
+- **diagrams.aws.iot.IotCart**
- **diagrams.aws.iot.IotCertificate**
+- **diagrams.aws.iot.IotCoffeePot**
- **diagrams.aws.iot.IotCore**
+- **diagrams.aws.iot.IotDesiredState**
- **diagrams.aws.iot.IotDeviceDefender**
+- **diagrams.aws.iot.IotDeviceGateway**
- **diagrams.aws.iot.IotDeviceManagement**
+- **diagrams.aws.iot.IotDoorLock**
- **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.IotGreengrass**
- **diagrams.aws.iot.IotHardwareBoard**, **IotBoard** (alias)
+- **diagrams.aws.iot.IotHouse**
- **diagrams.aws.iot.IotHttp**
- **diagrams.aws.iot.IotHttp2**
- **diagrams.aws.iot.IotJobs**
- **diagrams.aws.iot.IotLambda**
+- **diagrams.aws.iot.IotLightbulb**
+- **diagrams.aws.iot.IotMedicalEmergency**
- **diagrams.aws.iot.IotMqtt**
+- **diagrams.aws.iot.IotOverTheAirUpdate**
- **diagrams.aws.iot.IotPolicyEmergency**
- **diagrams.aws.iot.IotPolicy**
+- **diagrams.aws.iot.IotReportedState**
- **diagrams.aws.iot.IotRule**
+- **diagrams.aws.iot.IotSensor**
+- **diagrams.aws.iot.IotServo**
- **diagrams.aws.iot.IotShadow**
+- **diagrams.aws.iot.IotSimulator**
- **diagrams.aws.iot.IotSitewise**
+- **diagrams.aws.iot.IotThermostat**
- **diagrams.aws.iot.IotThingsGraph**
- **diagrams.aws.iot.IotTopic**
+- **diagrams.aws.iot.IotTravel**
+- **diagrams.aws.iot.IotUtility**
+- **diagrams.aws.iot.IotWindfarm**
## aws.management
- **diagrams.aws.management.AutoScaling**
+- **diagrams.aws.management.CloudformationChangeSet**
+- **diagrams.aws.management.CloudformationStack**
+- **diagrams.aws.management.CloudformationTemplate**
- **diagrams.aws.management.Cloudformation**
- **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.Codeguru**
- **diagrams.aws.management.CommandLineInterface**
@@ -203,12 +317,37 @@ Node classes list of aws provider.
- **diagrams.aws.management.ControlTower**
- **diagrams.aws.management.LicenseManager**
- **diagrams.aws.management.ManagedServices**
+- **diagrams.aws.management.ManagementAndGovernance**
- **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.OrganizationsAccount**
+- **diagrams.aws.management.OrganizationsOrganizationalUnit**
- **diagrams.aws.management.Organizations**
+- **diagrams.aws.management.PersonalHealthDashboard**
- **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.SystemsManagerPatchManager**
+- **diagrams.aws.management.SystemsManagerRunCommand**
+- **diagrams.aws.management.SystemsManagerStateManager**
- **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.WellArchitectedTool**
@@ -225,12 +364,15 @@ Node classes list of aws provider.
- **diagrams.aws.media.ElementalMediastore**
- **diagrams.aws.media.ElementalMediatailor**
- **diagrams.aws.media.ElementalServer**
+- **diagrams.aws.media.KinesisVideoStreams**
+- **diagrams.aws.media.MediaServices**
## aws.migration
- **diagrams.aws.migration.ApplicationDiscoveryService**, **ADS** (alias)
- **diagrams.aws.migration.CloudendureMigration**, **CEM** (alias)
- **diagrams.aws.migration.DatabaseMigrationService**, **DMS** (alias)
+- **diagrams.aws.migration.DatasyncAgent**
- **diagrams.aws.migration.Datasync**
- **diagrams.aws.migration.MigrationAndTransfer**, **MAT** (alias)
- **diagrams.aws.migration.MigrationHub**
@@ -243,17 +385,23 @@ Node classes list of aws provider.
## aws.ml
- **diagrams.aws.ml.ApacheMxnetOnAWS**
+- **diagrams.aws.ml.AugmentedAi**
- **diagrams.aws.ml.Comprehend**
- **diagrams.aws.ml.DeepLearningAmis**
- **diagrams.aws.ml.DeepLearningContainers**, **DLC** (alias)
+- **diagrams.aws.ml.Deepcomposer**
- **diagrams.aws.ml.Deeplens**
- **diagrams.aws.ml.Deepracer**
- **diagrams.aws.ml.ElasticInference**
- **diagrams.aws.ml.Forecast**
+- **diagrams.aws.ml.FraudDetector**
+- **diagrams.aws.ml.Kendra**
- **diagrams.aws.ml.Lex**
- **diagrams.aws.ml.MachineLearning**
- **diagrams.aws.ml.Personalize**
- **diagrams.aws.ml.Polly**
+- **diagrams.aws.ml.RekognitionImage**
+- **diagrams.aws.ml.RekognitionVideo**
- **diagrams.aws.ml.Rekognition**
- **diagrams.aws.ml.SagemakerGroundTruth**
- **diagrams.aws.ml.SagemakerModel**
@@ -272,17 +420,25 @@ Node classes list of aws provider.
- **diagrams.aws.mobile.APIGateway**
- **diagrams.aws.mobile.Appsync**
- **diagrams.aws.mobile.DeviceFarm**
+- **diagrams.aws.mobile.Mobile**
- **diagrams.aws.mobile.Pinpoint**
## aws.network
+- **diagrams.aws.network.APIGatewayEndpoint**
- **diagrams.aws.network.APIGateway**
- **diagrams.aws.network.AppMesh**
- **diagrams.aws.network.ClientVpn**
- **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.DirectConnect**
- **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.GlobalAccelerator**, **GAX** (alias)
- **diagrams.aws.network.InternetGateway**
@@ -292,20 +448,32 @@ Node classes list of aws provider.
- **diagrams.aws.network.PrivateSubnet**
- **diagrams.aws.network.Privatelink**
- **diagrams.aws.network.PublicSubnet**
+- **diagrams.aws.network.Route53HostedZone**
- **diagrams.aws.network.Route53**
- **diagrams.aws.network.RouteTable**
- **diagrams.aws.network.SiteToSiteVpn**
- **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.VPCRouter**
+- **diagrams.aws.network.VPCTrafficMirroring**
- **diagrams.aws.network.VPC**
+- **diagrams.aws.network.VpnConnection**
+- **diagrams.aws.network.VpnGateway**
## aws.quantum
- **diagrams.aws.quantum.Braket**
+- **diagrams.aws.quantum.QuantumTechnologies**
## aws.robotics
+- **diagrams.aws.robotics.RobomakerCloudExtensionRos**
+- **diagrams.aws.robotics.RobomakerDevelopmentEnvironment**
+- **diagrams.aws.robotics.RobomakerFleetManagement**
- **diagrams.aws.robotics.RobomakerSimulator**
- **diagrams.aws.robotics.Robomaker**
- **diagrams.aws.robotics.Robotics**
@@ -313,10 +481,13 @@ Node classes list of aws provider.
## aws.satellite
- **diagrams.aws.satellite.GroundStation**
+- **diagrams.aws.satellite.Satellite**
## aws.security
+- **diagrams.aws.security.AdConnector**
- **diagrams.aws.security.Artifact**
+- **diagrams.aws.security.CertificateAuthority**
- **diagrams.aws.security.CertificateManager**, **ACM** (alias)
- **diagrams.aws.security.CloudDirectory**
- **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.Guardduty**
- **diagrams.aws.security.IdentityAndAccessManagementIamAccessAnalyzer**, **IAMAccessAnalyzer** (alias)
+- **diagrams.aws.security.IdentityAndAccessManagementIamAddOn**
+- **diagrams.aws.security.IdentityAndAccessManagementIamAWSStsAlternate**
- **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.IdentityAndAccessManagementIamRole**, **IAMRole** (alias)
+- **diagrams.aws.security.IdentityAndAccessManagementIamTemporarySecurityCredential**
- **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias)
+- **diagrams.aws.security.InspectorAgent**
- **diagrams.aws.security.Inspector**
- **diagrams.aws.security.KeyManagementService**, **KMS** (alias)
- **diagrams.aws.security.Macie**
+- **diagrams.aws.security.ManagedMicrosoftAd**
- **diagrams.aws.security.ResourceAccessManager**, **RAM** (alias)
- **diagrams.aws.security.SecretsManager**
+- **diagrams.aws.security.SecurityHubFinding**
- **diagrams.aws.security.SecurityHub**
- **diagrams.aws.security.SecurityIdentityAndCompliance**
+- **diagrams.aws.security.ShieldAdvanced**
- **diagrams.aws.security.Shield**
+- **diagrams.aws.security.SimpleAd**
- **diagrams.aws.security.SingleSignOn**
+- **diagrams.aws.security.WAFFilteringRule**
- **diagrams.aws.security.WAF**
## aws.storage
@@ -347,15 +531,28 @@ Node classes list of aws provider.
- **diagrams.aws.storage.CloudendureDisasterRecovery**, **CDR** (alias)
- **diagrams.aws.storage.EFSInfrequentaccessPrimaryBg**
- **diagrams.aws.storage.EFSStandardPrimaryBg**
+- **diagrams.aws.storage.ElasticBlockStoreEBSSnapshot**
+- **diagrams.aws.storage.ElasticBlockStoreEBSVolume**
- **diagrams.aws.storage.ElasticBlockStoreEBS**, **EBS** (alias)
+- **diagrams.aws.storage.ElasticFileSystemEFSFileSystem**
- **diagrams.aws.storage.ElasticFileSystemEFS**, **EFS** (alias)
- **diagrams.aws.storage.FsxForLustre**
- **diagrams.aws.storage.FsxForWindowsFileServer**
- **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.SimpleStorageServiceS3BucketWithObjects**
+- **diagrams.aws.storage.SimpleStorageServiceS3Bucket**
+- **diagrams.aws.storage.SimpleStorageServiceS3Object**
- **diagrams.aws.storage.SimpleStorageServiceS3**, **S3** (alias)
+- **diagrams.aws.storage.SnowFamilySnowballImportExport**
- **diagrams.aws.storage.SnowballEdge**
- **diagrams.aws.storage.Snowball**
- **diagrams.aws.storage.Snowmobile**
+- **diagrams.aws.storage.StorageGatewayCachedVolume**
+- **diagrams.aws.storage.StorageGatewayNonCachedVolume**
+- **diagrams.aws.storage.StorageGatewayVirtualTapeLibrary**
- **diagrams.aws.storage.StorageGateway**
- **diagrams.aws.storage.Storage**
diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md
index 59413a08c..c6fe5852d 100644
--- a/docs/nodes/azure.md
+++ b/docs/nodes/azure.md
@@ -18,9 +18,12 @@ Node classes list of azure provider.
- **diagrams.azure.analytics.Hdinsightclusters**
- **diagrams.azure.analytics.LogAnalyticsWorkspaces**
- **diagrams.azure.analytics.StreamAnalyticsJobs**
+- **diagrams.azure.analytics.SynapseAnalytics**
## azure.compute
+- **diagrams.azure.compute.AppServices**
+- **diagrams.azure.compute.AutomanagedVM**
- **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.BatchAccounts**
- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials**
@@ -29,36 +32,51 @@ Node classes list of azure provider.
- **diagrams.azure.compute.CloudsimpleVirtualMachines**
- **diagrams.azure.compute.ContainerInstances**
- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias)
+- **diagrams.azure.compute.DiskEncryptionSets**
- **diagrams.azure.compute.DiskSnapshots**
- **diagrams.azure.compute.Disks**
- **diagrams.azure.compute.FunctionApps**
+- **diagrams.azure.compute.ImageDefinitions**
+- **diagrams.azure.compute.ImageVersions**
- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias)
- **diagrams.azure.compute.MeshApplications**
+- **diagrams.azure.compute.OsImages**
- **diagrams.azure.compute.SAPHANAOnAzure**
- **diagrams.azure.compute.ServiceFabricClusters**
+- **diagrams.azure.compute.SharedImageGalleries**
+- **diagrams.azure.compute.SpringCloud**
- **diagrams.azure.compute.VMClassic**
- **diagrams.azure.compute.VMImages**
- **diagrams.azure.compute.VMLinux**
+- **diagrams.azure.compute.VMScaleSet**, **VMSS** (alias)
- **diagrams.azure.compute.VMWindows**
- **diagrams.azure.compute.VM**
+- **diagrams.azure.compute.Workspaces**
## azure.database
- **diagrams.azure.database.BlobStorage**
- **diagrams.azure.database.CacheForRedis**
- **diagrams.azure.database.CosmosDb**
+- **diagrams.azure.database.DataExplorerClusters**
+- **diagrams.azure.database.DataFactory**
- **diagrams.azure.database.DataLake**
- **diagrams.azure.database.DatabaseForMariadbServers**
- **diagrams.azure.database.DatabaseForMysqlServers**
- **diagrams.azure.database.DatabaseForPostgresqlServers**
- **diagrams.azure.database.ElasticDatabasePools**
- **diagrams.azure.database.ElasticJobAgents**
+- **diagrams.azure.database.InstancePools**
- **diagrams.azure.database.ManagedDatabases**
- **diagrams.azure.database.SQLDatabases**
- **diagrams.azure.database.SQLDatawarehouse**
- **diagrams.azure.database.SQLManagedInstances**
- **diagrams.azure.database.SQLServerStretchDatabases**
- **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.VirtualDatacenter**
@@ -69,6 +87,7 @@ Node classes list of azure provider.
- **diagrams.azure.devops.Boards**
- **diagrams.azure.devops.Devops**
- **diagrams.azure.devops.DevtestLabs**
+- **diagrams.azure.devops.LabServices**
- **diagrams.azure.devops.Pipelines**
- **diagrams.azure.devops.Repos**
- **diagrams.azure.devops.TestPlans**
@@ -114,9 +133,11 @@ Node classes list of azure provider.
- **diagrams.azure.identity.AppRegistrations**
- **diagrams.azure.identity.ConditionalAccess**
- **diagrams.azure.identity.EnterpriseApplications**
+- **diagrams.azure.identity.Groups**
- **diagrams.azure.identity.IdentityGovernance**
- **diagrams.azure.identity.InformationProtection**
- **diagrams.azure.identity.ManagedIdentities**
+- **diagrams.azure.identity.Users**
## azure.integration
@@ -131,12 +152,14 @@ Node classes list of azure provider.
- **diagrams.azure.integration.IntegrationServiceEnvironments**
- **diagrams.azure.integration.LogicAppsCustomConnector**
- **diagrams.azure.integration.LogicApps**
+- **diagrams.azure.integration.PartnerTopic**
- **diagrams.azure.integration.SendgridAccounts**
- **diagrams.azure.integration.ServiceBusRelays**
- **diagrams.azure.integration.ServiceBus**
- **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions**
- **diagrams.azure.integration.SoftwareAsAService**
- **diagrams.azure.integration.StorsimpleDeviceManagers**
+- **diagrams.azure.integration.SystemTopic**
## azure.iot
@@ -153,6 +176,8 @@ Node classes list of azure provider.
## azure.migration
+- **diagrams.azure.migration.DataBoxEdge**
+- **diagrams.azure.migration.DataBox**
- **diagrams.azure.migration.DatabaseMigrationServices**
- **diagrams.azure.migration.MigrationProjects**
- **diagrams.azure.migration.RecoveryServicesVaults**
@@ -206,6 +231,10 @@ Node classes list of azure provider.
## 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.SecurityCenter**
- **diagrams.azure.security.Sentinel**
diff --git a/docs/nodes/custom.md b/docs/nodes/custom.md
new file mode 100644
index 000000000..8c2b1b4b3
--- /dev/null
+++ b/docs/nodes/custom.md
@@ -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).
diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md
index 39ad2e318..3a1ee4843 100644
--- a/docs/nodes/gcp.md
+++ b/docs/nodes/gcp.md
@@ -112,6 +112,10 @@ Node classes list of gcp provider.
- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias)
- **diagrams.gcp.network.VPN**
+## gcp.operations
+
+- **diagrams.gcp.operations.Monitoring**
+
## gcp.security
- **diagrams.gcp.security.Iam**
diff --git a/docs/nodes/ibm.md b/docs/nodes/ibm.md
new file mode 100644
index 000000000..15a536369
--- /dev/null
+++ b/docs/nodes/ibm.md
@@ -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**
diff --git a/docs/nodes/oci.md b/docs/nodes/oci.md
index 42fe874f6..33100d6c2 100644
--- a/docs/nodes/oci.md
+++ b/docs/nodes/oci.md
@@ -7,167 +7,124 @@ Node classes list of oci provider.
## oci.compute
-- **diagrams.oci.compute.AutoscaleWhite**
+- **diagrams.oci.compute.Apex**
- **diagrams.oci.compute.Autoscale**
-- **diagrams.oci.compute.BMWhite**, **BareMetalWhite** (alias)
- **diagrams.oci.compute.BM**, **BareMetal** (alias)
-- **diagrams.oci.compute.ContainerWhite**
- **diagrams.oci.compute.Container**
-- **diagrams.oci.compute.FunctionsWhite**
- **diagrams.oci.compute.Functions**
-- **diagrams.oci.compute.InstancePoolsWhite**
- **diagrams.oci.compute.InstancePools**
-- **diagrams.oci.compute.OCIRWhite**, **OCIRegistryWhite** (alias)
- **diagrams.oci.compute.OCIR**, **OCIRegistry** (alias)
-- **diagrams.oci.compute.OKEWhite**, **ContainerEngineWhite** (alias)
- **diagrams.oci.compute.OKE**, **ContainerEngine** (alias)
-- **diagrams.oci.compute.VMWhite**, **VirtualMachineWhite** (alias)
+- **diagrams.oci.compute.Red**
- **diagrams.oci.compute.VM**, **VirtualMachine** (alias)
## oci.connectivity
-- **diagrams.oci.connectivity.BackboneWhite**
- **diagrams.oci.connectivity.Backbone**
-- **diagrams.oci.connectivity.CDNWhite**
- **diagrams.oci.connectivity.CDN**
- **diagrams.oci.connectivity.CustomerDatacenter**
-- **diagrams.oci.connectivity.CustomerDatacntrWhite**
-- **diagrams.oci.connectivity.CustomerPremiseWhite**
- **diagrams.oci.connectivity.CustomerPremise**
-- **diagrams.oci.connectivity.DisconnectedRegionsWhite**
+- **diagrams.oci.connectivity.Datacenter**
- **diagrams.oci.connectivity.DisconnectedRegions**
-- **diagrams.oci.connectivity.DNSWhite**
- **diagrams.oci.connectivity.DNS**
-- **diagrams.oci.connectivity.FastConnectWhite**
- **diagrams.oci.connectivity.FastConnect**
-- **diagrams.oci.connectivity.NATGatewayWhite**
+- **diagrams.oci.connectivity.LocalPeeringGateway**
- **diagrams.oci.connectivity.NATGateway**
-- **diagrams.oci.connectivity.VPNWhite**
+- **diagrams.oci.connectivity.RemotePeeringGateway**
+- **diagrams.oci.connectivity.ServiceConnectorHub**
- **diagrams.oci.connectivity.VPN**
## oci.database
-- **diagrams.oci.database.AutonomousWhite**
-- **diagrams.oci.database.Autonomous**
-- **diagrams.oci.database.BigdataServiceWhite**
+- **diagrams.oci.database.AutonomousDataWarehouseCs**
+- **diagrams.oci.database.AutonomousDataWarehouse**
+- **diagrams.oci.database.AutonomousTransactionProcessing**
+- **diagrams.oci.database.Autonomous**, **ADB** (alias)
- **diagrams.oci.database.BigdataService**
-- **diagrams.oci.database.DatabaseServiceWhite**
-- **diagrams.oci.database.DatabaseService**
-- **diagrams.oci.database.DataflowApacheWhite**
+- **diagrams.oci.database.DatabaseService**, **DBService** (alias)
- **diagrams.oci.database.DataflowApache**
-- **diagrams.oci.database.DcatWhite**
- **diagrams.oci.database.Dcat**
-- **diagrams.oci.database.DisWhite**
+- **diagrams.oci.database.Dcs**
- **diagrams.oci.database.Dis**
-- **diagrams.oci.database.DMSWhite**
- **diagrams.oci.database.DMS**
-- **diagrams.oci.database.ScienceWhite**
+- **diagrams.oci.database.Exadata**
+- **diagrams.oci.database.Mysql**
+- **diagrams.oci.database.Nosql**
- **diagrams.oci.database.Science**
-- **diagrams.oci.database.StreamWhite**
- **diagrams.oci.database.Stream**
## oci.devops
-- **diagrams.oci.devops.APIGatewayWhite**
+- **diagrams.oci.devops.Analytics**
- **diagrams.oci.devops.APIGateway**
-- **diagrams.oci.devops.APIServiceWhite**
- **diagrams.oci.devops.APIService**
-- **diagrams.oci.devops.ResourceMgmtWhite**
+- **diagrams.oci.devops.MarketPlace**
- **diagrams.oci.devops.ResourceMgmt**
## oci.governance
-- **diagrams.oci.governance.AuditWhite**
- **diagrams.oci.governance.Audit**
-- **diagrams.oci.governance.CompartmentsWhite**
- **diagrams.oci.governance.Compartments**
-- **diagrams.oci.governance.GroupsWhite**
+- **diagrams.oci.governance.FlowLogs**
- **diagrams.oci.governance.Groups**
-- **diagrams.oci.governance.LoggingWhite**
- **diagrams.oci.governance.Logging**
-- **diagrams.oci.governance.OCIDWhite**
- **diagrams.oci.governance.OCID**
-- **diagrams.oci.governance.PoliciesWhite**
- **diagrams.oci.governance.Policies**
-- **diagrams.oci.governance.TaggingWhite**
- **diagrams.oci.governance.Tagging**
+- **diagrams.oci.governance.User**
+
+## oci.ml
+
+- **diagrams.oci.ml.ArtificialIntelligence**
+- **diagrams.oci.ml.MachineLearning**
## oci.monitoring
-- **diagrams.oci.monitoring.AlarmWhite**
- **diagrams.oci.monitoring.Alarm**
-- **diagrams.oci.monitoring.EmailWhite**
- **diagrams.oci.monitoring.Email**
-- **diagrams.oci.monitoring.EventsWhite**
- **diagrams.oci.monitoring.Events**
-- **diagrams.oci.monitoring.HealthCheckWhite**
- **diagrams.oci.monitoring.HealthCheck**
-- **diagrams.oci.monitoring.NotificationsWhite**
- **diagrams.oci.monitoring.Notifications**
-- **diagrams.oci.monitoring.QueueWhite**
- **diagrams.oci.monitoring.Queue**
-- **diagrams.oci.monitoring.SearchWhite**
- **diagrams.oci.monitoring.Search**
-- **diagrams.oci.monitoring.TelemetryWhite**
- **diagrams.oci.monitoring.Telemetry**
-- **diagrams.oci.monitoring.WorkflowWhite**
- **diagrams.oci.monitoring.Workflow**
## oci.network
-- **diagrams.oci.network.DrgWhite**
+- **diagrams.oci.network.CloudService**
- **diagrams.oci.network.Drg**
-- **diagrams.oci.network.FirewallWhite**
- **diagrams.oci.network.Firewall**
-- **diagrams.oci.network.InternetGatewayWhite**
- **diagrams.oci.network.InternetGateway**
-- **diagrams.oci.network.LoadBalancerWhite**
- **diagrams.oci.network.LoadBalancer**
-- **diagrams.oci.network.RouteTableWhite**
- **diagrams.oci.network.RouteTable**
-- **diagrams.oci.network.SecurityListsWhite**
+- **diagrams.oci.network.Router**
- **diagrams.oci.network.SecurityLists**
-- **diagrams.oci.network.ServiceGatewayWhite**
- **diagrams.oci.network.ServiceGateway**
-- **diagrams.oci.network.VcnWhite**
+- **diagrams.oci.network.Switch**
- **diagrams.oci.network.Vcn**
## oci.security
-- **diagrams.oci.security.CloudGuardWhite**
- **diagrams.oci.security.CloudGuard**
-- **diagrams.oci.security.DDOSWhite**
- **diagrams.oci.security.DDOS**
-- **diagrams.oci.security.EncryptionWhite**
- **diagrams.oci.security.Encryption**
-- **diagrams.oci.security.IDAccessWhite**
- **diagrams.oci.security.IDAccess**
-- **diagrams.oci.security.KeyManagementWhite**
- **diagrams.oci.security.KeyManagement**
-- **diagrams.oci.security.MaxSecurityZoneWhite**
- **diagrams.oci.security.MaxSecurityZone**
-- **diagrams.oci.security.VaultWhite**
- **diagrams.oci.security.Vault**
-- **diagrams.oci.security.WAFWhite**
- **diagrams.oci.security.WAF**
## oci.storage
-- **diagrams.oci.storage.BackupRestoreWhite**
- **diagrams.oci.storage.BackupRestore**
-- **diagrams.oci.storage.BlockStorageCloneWhite**
- **diagrams.oci.storage.BlockStorageClone**
-- **diagrams.oci.storage.BlockStorageWhite**
- **diagrams.oci.storage.BlockStorage**
-- **diagrams.oci.storage.BucketsWhite**
- **diagrams.oci.storage.Buckets**
-- **diagrams.oci.storage.DataTransferWhite**
- **diagrams.oci.storage.DataTransfer**
-- **diagrams.oci.storage.ElasticPerformanceWhite**
- **diagrams.oci.storage.ElasticPerformance**
-- **diagrams.oci.storage.FileStorageWhite**
- **diagrams.oci.storage.FileStorage**
-- **diagrams.oci.storage.ObjectStorageWhite**
+- **diagrams.oci.storage.LocalStorage**
- **diagrams.oci.storage.ObjectStorage**
-- **diagrams.oci.storage.StorageGatewayWhite**
+- **diagrams.oci.storage.PersistentVolume**
- **diagrams.oci.storage.StorageGateway**
diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md
index f5122cb8f..033c72f3b 100644
--- a/docs/nodes/onprem.md
+++ b/docs/nodes/onprem.md
@@ -20,6 +20,7 @@ Node classes list of onprem provider.
- **diagrams.onprem.analytics.Hive**
- **diagrams.onprem.analytics.Metabase**
- **diagrams.onprem.analytics.Norikra**
+- **diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias)
- **diagrams.onprem.analytics.Presto**
- **diagrams.onprem.analytics.Singer**
- **diagrams.onprem.analytics.Spark**
@@ -152,6 +153,8 @@ Node classes list of onprem provider.
- **diagrams.onprem.monitoring.Cortex**
- **diagrams.onprem.monitoring.Datadog**
- **diagrams.onprem.monitoring.Grafana**
+- **diagrams.onprem.monitoring.Humio**
+- **diagrams.onprem.monitoring.Newrelic**
- **diagrams.onprem.monitoring.PrometheusOperator**
- **diagrams.onprem.monitoring.Prometheus**
- **diagrams.onprem.monitoring.Sentry**
@@ -226,6 +229,7 @@ Node classes list of onprem provider.
## onprem.vcs
- **diagrams.onprem.vcs.Git**
+- **diagrams.onprem.vcs.Gitea**
- **diagrams.onprem.vcs.Github**
- **diagrams.onprem.vcs.Gitlab**
diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md
index 4a5cc9eae..fdd25404e 100644
--- a/docs/nodes/programming.md
+++ b/docs/nodes/programming.md
@@ -5,15 +5,44 @@ title: Programming
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
- **diagrams.programming.framework.Angular**
- **diagrams.programming.framework.Backbone**
- **diagrams.programming.framework.Django**
- **diagrams.programming.framework.Ember**
+- **diagrams.programming.framework.Fastapi**, **FastAPI** (alias)
- **diagrams.programming.framework.Flask**
- **diagrams.programming.framework.Flutter**
- **diagrams.programming.framework.Laravel**
+- **diagrams.programming.framework.Micronaut**
- **diagrams.programming.framework.Rails**
- **diagrams.programming.framework.React**
- **diagrams.programming.framework.Spring**
diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md
index 36a60adc7..146e93caa 100644
--- a/docs/nodes/saas.md
+++ b/docs/nodes/saas.md
@@ -7,6 +7,7 @@ Node classes list of saas provider.
## saas.alerting
+- **diagrams.saas.alerting.Newrelic**
- **diagrams.saas.alerting.Opsgenie**
- **diagrams.saas.alerting.Pushover**
@@ -41,6 +42,7 @@ Node classes list of saas provider.
## saas.logging
- **diagrams.saas.logging.Datadog**, **DataDog** (alias)
+- **diagrams.saas.logging.Newrelic**, **NewRelic** (alias)
- **diagrams.saas.logging.Papertrail**
## saas.media
diff --git a/poetry.lock b/poetry.lock
index 486f18a6d..7aba1d892 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -8,17 +8,16 @@ python-versions = "*"
[[package]]
name = "astroid"
-version = "2.3.3"
+version = "2.5"
description = "An abstract syntax tree for Python with inference support."
category = "dev"
optional = false
-python-versions = ">=3.5.*"
+python-versions = ">=3.6"
[package.dependencies]
-lazy-object-proxy = ">=1.4.0,<1.5.0"
-six = ">=1.12,<2.0"
+lazy-object-proxy = ">=1.4.0"
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]]
name = "atomicwrites"
@@ -91,7 +90,7 @@ immutables = ">=0.9"
[[package]]
name = "graphviz"
-version = "0.15"
+version = "0.16"
description = "Simple Python interface for Graphviz"
category = "main"
optional = false
@@ -149,7 +148,7 @@ xdg_home = ["appdirs (>=1.4.0)"]
[[package]]
name = "jinja2"
-version = "2.11.1"
+version = "2.11.3"
description = "A very fast and expressive template engine."
category = "main"
optional = false
@@ -228,17 +227,21 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "pylint"
-version = "2.4.4"
+version = "2.7.0"
description = "python code static checker"
category = "dev"
optional = false
-python-versions = ">=3.5.*"
+python-versions = "~=3.6"
[package.dependencies]
-astroid = ">=2.3.0,<2.4"
+astroid = "2.5.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
-isort = ">=4.2.5,<5"
+isort = ">=4.2.5,<6"
mccabe = ">=0.6,<0.7"
+toml = ">=0.7.1"
+
+[package.extras]
+docs = ["sphinx (>=3.2,<4.0)", "python-docs-theme"]
[[package]]
name = "pyparsing"
@@ -286,14 +289,6 @@ category = "dev"
optional = false
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]]
name = "toml"
version = "0.10.0"
@@ -333,7 +328,7 @@ testing = ["jaraco.itertools", "func-timeout"]
[metadata]
lock-version = "1.1"
python-versions = "^3.6"
-content-hash = "eaea28dae44851f383c06f8bd558a612247dac283eba0a4de6cdc55ff6b98677"
+content-hash = "441f4ec509fbee3d303586c3abba92d71c5148600632f11c7069c709fa67774c"
[metadata.files]
appdirs = [
@@ -341,8 +336,8 @@ appdirs = [
{file = "appdirs-1.4.3.tar.gz", hash = "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"},
]
astroid = [
- {file = "astroid-2.3.3-py3-none-any.whl", hash = "sha256:840947ebfa8b58f318d42301cf8c0a20fd794a33b61cc4638e28e9e61ba32f42"},
- {file = "astroid-2.3.3.tar.gz", hash = "sha256:71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a"},
+ {file = "astroid-2.5-py3-none-any.whl", hash = "sha256:87ae7f2398b8a0ae5638ddecf9987f081b756e0e9fc071aeebdca525671fc4dc"},
+ {file = "astroid-2.5.tar.gz", hash = "sha256:b31c92f545517dcc452f284bc9c044050862fbe6d93d2b3de4a215a6b384bf0d"},
]
atomicwrites = [
{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"},
]
graphviz = [
- {file = "graphviz-0.15-py2.py3-none-any.whl", hash = "sha256:403b55553b235875fa521023a06d9c29b46f3a956f960d4e0a5b956bca9eb9ce"},
- {file = "graphviz-0.15.zip", hash = "sha256:2b85f105024e229ec330fe5067abbe9aa0d7708921a585ecc2bf56000bf5e027"},
+ {file = "graphviz-0.16-py2.py3-none-any.whl", hash = "sha256:3cad5517c961090dfc679df6402a57de62d97703e2880a1a46147bb0dc1639eb"},
+ {file = "graphviz-0.16.zip", hash = "sha256:d2d25af1c199cad567ce4806f0449cb74eb30cf451fd7597251e1da099ac6e57"},
]
immutables = [
{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"},
]
jinja2 = [
- {file = "Jinja2-2.11.1-py2.py3-none-any.whl", hash = "sha256:b0eaf100007721b5c16c1fc1eecb87409464edc10469ddc9a22a27a99123be49"},
- {file = "Jinja2-2.11.1.tar.gz", hash = "sha256:93187ffbc7808079673ef52771baa950426fd664d3aad1d0fa3e95644360e250"},
+ {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"},
+ {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
]
lazy-object-proxy = [
{file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"},
@@ -447,20 +442,39 @@ markupsafe = [
{file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"},
{file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"},
+ {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"},
+ {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f"},
+ {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0"},
+ {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"},
{file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"},
+ {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"},
+ {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1"},
+ {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1"},
+ {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"},
{file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"},
{file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"},
{file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"},
{file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"},
+ {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2"},
+ {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032"},
+ {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b"},
{file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"},
{file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-win32.whl", hash = "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39"},
+ {file = "MarkupSafe-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8"},
{file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"},
]
mccabe = [
@@ -484,8 +498,8 @@ py = [
{file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"},
]
pylint = [
- {file = "pylint-2.4.4-py3-none-any.whl", hash = "sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"},
- {file = "pylint-2.4.4.tar.gz", hash = "sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd"},
+ {file = "pylint-2.7.0-py3-none-any.whl", hash = "sha256:3ea3926700db399765db1faf53860f11e4e981a090646e9eacd01ca78e020579"},
+ {file = "pylint-2.7.0.tar.gz", hash = "sha256:2e0c6749d809985e4f181c336a8f89b2b797340d8049160bf95f35a3f0ecf6fc"},
]
pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
@@ -523,10 +537,6 @@ rope = [
{file = "rope-0.14.0-py3-none-any.whl", hash = "sha256:f0dcf719b63200d492b85535ebe5ea9b29e0d0b8aebeb87fe03fc1a65924fdaf"},
{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 = [
{file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"},
{file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"},
diff --git a/pyproject.toml b/pyproject.toml
index c31a93659..7d126d54f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "diagrams"
-version = "0.18.0"
+version = "0.20.0"
description = "Diagram as Code"
license = "MIT"
authors = ["mingrammer "]
@@ -11,13 +11,13 @@ include = ["resources/**/*"]
[tool.poetry.dependencies]
python = "^3.6"
-graphviz = ">=0.13.2,<0.16.0"
+graphviz = ">=0.13.2,<0.17.0"
jinja2 = "^2.10"
contextvars = { version = "^2.4", python = "~3.6" }
[tool.poetry.dev-dependencies]
pytest = "^6.2"
-pylint = "^2.4"
+pylint = "^2.7"
black = {version = "^19.0", allow-prereleases = true}
rope = "^0.14.0"
isort = "^4.3"
diff --git a/resources/aws/analytics/data-lake-resource.png b/resources/aws/analytics/data-lake-resource.png
new file mode 100644
index 000000000..bb7c1caf0
Binary files /dev/null and b/resources/aws/analytics/data-lake-resource.png differ
diff --git a/resources/aws/analytics/emr-engine-mapr-m3.png b/resources/aws/analytics/emr-engine-mapr-m3.png
new file mode 100644
index 000000000..0547e623b
Binary files /dev/null and b/resources/aws/analytics/emr-engine-mapr-m3.png differ
diff --git a/resources/aws/analytics/emr-engine-mapr-m5.png b/resources/aws/analytics/emr-engine-mapr-m5.png
new file mode 100644
index 000000000..8abd36a3f
Binary files /dev/null and b/resources/aws/analytics/emr-engine-mapr-m5.png differ
diff --git a/resources/aws/analytics/emr-engine-mapr-m7.png b/resources/aws/analytics/emr-engine-mapr-m7.png
new file mode 100644
index 000000000..2f28f1d7f
Binary files /dev/null and b/resources/aws/analytics/emr-engine-mapr-m7.png differ
diff --git a/resources/aws/analytics/emr-engine.png b/resources/aws/analytics/emr-engine.png
new file mode 100644
index 000000000..21273e039
Binary files /dev/null and b/resources/aws/analytics/emr-engine.png differ
diff --git a/resources/aws/ar/ar-vr.png b/resources/aws/ar/ar-vr.png
new file mode 100644
index 000000000..82b009ec3
Binary files /dev/null and b/resources/aws/ar/ar-vr.png differ
diff --git a/resources/aws/blockchain/blockchain-resource.png b/resources/aws/blockchain/blockchain-resource.png
new file mode 100644
index 000000000..bd31f8587
Binary files /dev/null and b/resources/aws/blockchain/blockchain-resource.png differ
diff --git a/resources/aws/blockchain/blockchain.png b/resources/aws/blockchain/blockchain.png
new file mode 100644
index 000000000..bcf410e69
Binary files /dev/null and b/resources/aws/blockchain/blockchain.png differ
diff --git a/resources/aws/business/business-applications.png b/resources/aws/business/business-applications.png
new file mode 100644
index 000000000..c3eb299b7
Binary files /dev/null and b/resources/aws/business/business-applications.png differ
diff --git a/resources/aws/compute/compute-optimizer.png b/resources/aws/compute/compute-optimizer.png
new file mode 100644
index 000000000..3ad2dd5d8
Binary files /dev/null and b/resources/aws/compute/compute-optimizer.png differ
diff --git a/resources/aws/compute/ec2-ami.png b/resources/aws/compute/ec2-ami.png
new file mode 100644
index 000000000..e5ee34ad1
Binary files /dev/null and b/resources/aws/compute/ec2-ami.png differ
diff --git a/resources/aws/compute/ec2-auto-scaling.png b/resources/aws/compute/ec2-auto-scaling.png
new file mode 100644
index 000000000..04123663d
Binary files /dev/null and b/resources/aws/compute/ec2-auto-scaling.png differ
diff --git a/resources/aws/compute/ec2-container-registry-image.png b/resources/aws/compute/ec2-container-registry-image.png
new file mode 100644
index 000000000..7b59df3df
Binary files /dev/null and b/resources/aws/compute/ec2-container-registry-image.png differ
diff --git a/resources/aws/compute/ec2-container-registry-registry.png b/resources/aws/compute/ec2-container-registry-registry.png
new file mode 100644
index 000000000..22d0d6617
Binary files /dev/null and b/resources/aws/compute/ec2-container-registry-registry.png differ
diff --git a/resources/aws/compute/ec2-elastic-ip-address.png b/resources/aws/compute/ec2-elastic-ip-address.png
new file mode 100644
index 000000000..5b226d95b
Binary files /dev/null and b/resources/aws/compute/ec2-elastic-ip-address.png differ
diff --git a/resources/aws/compute/ec2-image-builder.png b/resources/aws/compute/ec2-image-builder.png
new file mode 100644
index 000000000..1ee4acfab
Binary files /dev/null and b/resources/aws/compute/ec2-image-builder.png differ
diff --git a/resources/aws/compute/ec2-instance.png b/resources/aws/compute/ec2-instance.png
new file mode 100644
index 000000000..fd58edcbd
Binary files /dev/null and b/resources/aws/compute/ec2-instance.png differ
diff --git a/resources/aws/compute/ec2-instances.png b/resources/aws/compute/ec2-instances.png
new file mode 100644
index 000000000..215ca26c8
Binary files /dev/null and b/resources/aws/compute/ec2-instances.png differ
diff --git a/resources/aws/compute/ec2-rescue.png b/resources/aws/compute/ec2-rescue.png
new file mode 100644
index 000000000..f5dbf2b8e
Binary files /dev/null and b/resources/aws/compute/ec2-rescue.png differ
diff --git a/resources/aws/compute/ec2-spot-instance.png b/resources/aws/compute/ec2-spot-instance.png
new file mode 100644
index 000000000..82df72d82
Binary files /dev/null and b/resources/aws/compute/ec2-spot-instance.png differ
diff --git a/resources/aws/compute/elastic-beanstalk-application.png b/resources/aws/compute/elastic-beanstalk-application.png
new file mode 100644
index 000000000..3f8f6d9de
Binary files /dev/null and b/resources/aws/compute/elastic-beanstalk-application.png differ
diff --git a/resources/aws/compute/elastic-beanstalk-deployment.png b/resources/aws/compute/elastic-beanstalk-deployment.png
new file mode 100644
index 000000000..9f1464b64
Binary files /dev/null and b/resources/aws/compute/elastic-beanstalk-deployment.png differ
diff --git a/resources/aws/compute/elastic-container-service-container.png b/resources/aws/compute/elastic-container-service-container.png
new file mode 100644
index 000000000..e88467984
Binary files /dev/null and b/resources/aws/compute/elastic-container-service-container.png differ
diff --git a/resources/aws/compute/elastic-container-service-service.png b/resources/aws/compute/elastic-container-service-service.png
new file mode 100644
index 000000000..965eb31e0
Binary files /dev/null and b/resources/aws/compute/elastic-container-service-service.png differ
diff --git a/resources/aws/compute/lambda-function.png b/resources/aws/compute/lambda-function.png
new file mode 100644
index 000000000..5c9b5e298
Binary files /dev/null and b/resources/aws/compute/lambda-function.png differ
diff --git a/resources/aws/compute/local-zones.png b/resources/aws/compute/local-zones.png
new file mode 100644
index 000000000..a97d446e2
Binary files /dev/null and b/resources/aws/compute/local-zones.png differ
diff --git a/resources/aws/compute/wavelength.png b/resources/aws/compute/wavelength.png
new file mode 100644
index 000000000..208c42d8f
Binary files /dev/null and b/resources/aws/compute/wavelength.png differ
diff --git a/resources/aws/cost/cost-management.png b/resources/aws/cost/cost-management.png
new file mode 100644
index 000000000..ec088b15f
Binary files /dev/null and b/resources/aws/cost/cost-management.png differ
diff --git a/resources/aws/database/aurora-instance.png b/resources/aws/database/aurora-instance.png
new file mode 100644
index 000000000..34877a06d
Binary files /dev/null and b/resources/aws/database/aurora-instance.png differ
diff --git a/resources/aws/database/database-migration-service-database-migration-workflow.png b/resources/aws/database/database-migration-service-database-migration-workflow.png
new file mode 100644
index 000000000..1f807c0df
Binary files /dev/null and b/resources/aws/database/database-migration-service-database-migration-workflow.png differ
diff --git a/resources/aws/database/dynamodb-attribute.png b/resources/aws/database/dynamodb-attribute.png
new file mode 100644
index 000000000..befaed800
Binary files /dev/null and b/resources/aws/database/dynamodb-attribute.png differ
diff --git a/resources/aws/database/dynamodb-attributes.png b/resources/aws/database/dynamodb-attributes.png
new file mode 100644
index 000000000..b935d517f
Binary files /dev/null and b/resources/aws/database/dynamodb-attributes.png differ
diff --git a/resources/aws/database/dynamodb-item.png b/resources/aws/database/dynamodb-item.png
new file mode 100644
index 000000000..17e152f5e
Binary files /dev/null and b/resources/aws/database/dynamodb-item.png differ
diff --git a/resources/aws/database/dynamodb-items.png b/resources/aws/database/dynamodb-items.png
new file mode 100644
index 000000000..a0bf5fffb
Binary files /dev/null and b/resources/aws/database/dynamodb-items.png differ
diff --git a/resources/aws/database/elasticache-cache-node.png b/resources/aws/database/elasticache-cache-node.png
new file mode 100644
index 000000000..21b3a8acd
Binary files /dev/null and b/resources/aws/database/elasticache-cache-node.png differ
diff --git a/resources/aws/database/elasticache-for-memcached.png b/resources/aws/database/elasticache-for-memcached.png
new file mode 100644
index 000000000..e04ac5ce1
Binary files /dev/null and b/resources/aws/database/elasticache-for-memcached.png differ
diff --git a/resources/aws/database/elasticache-for-redis.png b/resources/aws/database/elasticache-for-redis.png
new file mode 100644
index 000000000..1d882f9ac
Binary files /dev/null and b/resources/aws/database/elasticache-for-redis.png differ
diff --git a/resources/aws/database/keyspaces-managed-apache-cassandra-service.png b/resources/aws/database/keyspaces-managed-apache-cassandra-service.png
new file mode 100644
index 000000000..fdfe9a1ba
Binary files /dev/null and b/resources/aws/database/keyspaces-managed-apache-cassandra-service.png differ
diff --git a/resources/aws/database/rds-instance.png b/resources/aws/database/rds-instance.png
new file mode 100644
index 000000000..aece303d8
Binary files /dev/null and b/resources/aws/database/rds-instance.png differ
diff --git a/resources/aws/database/rds-mariadb-instance.png b/resources/aws/database/rds-mariadb-instance.png
new file mode 100644
index 000000000..1b4c5df4c
Binary files /dev/null and b/resources/aws/database/rds-mariadb-instance.png differ
diff --git a/resources/aws/database/rds-mysql-instance.png b/resources/aws/database/rds-mysql-instance.png
new file mode 100644
index 000000000..71b71adf9
Binary files /dev/null and b/resources/aws/database/rds-mysql-instance.png differ
diff --git a/resources/aws/database/rds-oracle-instance.png b/resources/aws/database/rds-oracle-instance.png
new file mode 100644
index 000000000..ddf00979a
Binary files /dev/null and b/resources/aws/database/rds-oracle-instance.png differ
diff --git a/resources/aws/database/rds-postgresql-instance.png b/resources/aws/database/rds-postgresql-instance.png
new file mode 100644
index 000000000..56f311553
Binary files /dev/null and b/resources/aws/database/rds-postgresql-instance.png differ
diff --git a/resources/aws/database/rds-sql-server-instance.png b/resources/aws/database/rds-sql-server-instance.png
new file mode 100644
index 000000000..ffa78ed29
Binary files /dev/null and b/resources/aws/database/rds-sql-server-instance.png differ
diff --git a/resources/aws/database/redshift-dense-compute-node.png b/resources/aws/database/redshift-dense-compute-node.png
new file mode 100644
index 000000000..a04a5ecd1
Binary files /dev/null and b/resources/aws/database/redshift-dense-compute-node.png differ
diff --git a/resources/aws/database/redshift-dense-storage-node.png b/resources/aws/database/redshift-dense-storage-node.png
new file mode 100644
index 000000000..73b0ecd46
Binary files /dev/null and b/resources/aws/database/redshift-dense-storage-node.png differ
diff --git a/resources/aws/devtools/cloud9-resource.png b/resources/aws/devtools/cloud9-resource.png
new file mode 100644
index 000000000..49748a603
Binary files /dev/null and b/resources/aws/devtools/cloud9-resource.png differ
diff --git a/resources/aws/enablement/customer-enablement.png b/resources/aws/enablement/customer-enablement.png
new file mode 100644
index 000000000..fa82f8be2
Binary files /dev/null and b/resources/aws/enablement/customer-enablement.png differ
diff --git a/resources/aws/enduser/desktop-and-app-streaming.png b/resources/aws/enduser/desktop-and-app-streaming.png
new file mode 100644
index 000000000..d672505fd
Binary files /dev/null and b/resources/aws/enduser/desktop-and-app-streaming.png differ
diff --git a/resources/aws/engagement/customer-engagement.png b/resources/aws/engagement/customer-engagement.png
new file mode 100644
index 000000000..fb250d40d
Binary files /dev/null and b/resources/aws/engagement/customer-engagement.png differ
diff --git a/resources/aws/engagement/simple-email-service-ses-email.png b/resources/aws/engagement/simple-email-service-ses-email.png
new file mode 100644
index 000000000..c98a3ea3a
Binary files /dev/null and b/resources/aws/engagement/simple-email-service-ses-email.png differ
diff --git a/resources/aws/game/game-tech.png b/resources/aws/game/game-tech.png
new file mode 100644
index 000000000..2de652916
Binary files /dev/null and b/resources/aws/game/game-tech.png differ
diff --git a/resources/aws/general/client.png b/resources/aws/general/client.png
new file mode 100644
index 000000000..50ae22e4d
Binary files /dev/null and b/resources/aws/general/client.png differ
diff --git a/resources/aws/general/forums.png b/resources/aws/general/forums.png
new file mode 100644
index 000000000..92252242f
Binary files /dev/null and b/resources/aws/general/forums.png differ
diff --git a/resources/aws/general/internet-alt1.png b/resources/aws/general/internet-alt1.png
new file mode 100644
index 000000000..5a5eedc87
Binary files /dev/null and b/resources/aws/general/internet-alt1.png differ
diff --git a/resources/aws/general/internet-alt2.png b/resources/aws/general/internet-alt2.png
new file mode 100644
index 000000000..b225226c5
Binary files /dev/null and b/resources/aws/general/internet-alt2.png differ
diff --git a/resources/aws/general/internet-gateway.png b/resources/aws/general/internet-gateway.png
new file mode 100644
index 000000000..a930f2bae
Binary files /dev/null and b/resources/aws/general/internet-gateway.png differ
diff --git a/resources/aws/general/mobile-client.png b/resources/aws/general/mobile-client.png
new file mode 100644
index 000000000..232b7d436
Binary files /dev/null and b/resources/aws/general/mobile-client.png differ
diff --git a/resources/aws/general/multimedia.png b/resources/aws/general/multimedia.png
new file mode 100644
index 000000000..aeab8d707
Binary files /dev/null and b/resources/aws/general/multimedia.png differ
diff --git a/resources/aws/general/office-building.png b/resources/aws/general/office-building.png
new file mode 100644
index 000000000..97e9b4e6b
Binary files /dev/null and b/resources/aws/general/office-building.png differ
diff --git a/resources/aws/general/saml-token.png b/resources/aws/general/saml-token.png
new file mode 100644
index 000000000..a882dc3a6
Binary files /dev/null and b/resources/aws/general/saml-token.png differ
diff --git a/resources/aws/general/sdk.png b/resources/aws/general/sdk.png
new file mode 100644
index 000000000..851262d4f
Binary files /dev/null and b/resources/aws/general/sdk.png differ
diff --git a/resources/aws/general/ssl-padlock.png b/resources/aws/general/ssl-padlock.png
new file mode 100644
index 000000000..d63c3c68b
Binary files /dev/null and b/resources/aws/general/ssl-padlock.png differ
diff --git a/resources/aws/general/tape-storage.png b/resources/aws/general/tape-storage.png
new file mode 100644
index 000000000..3ed66d4d8
Binary files /dev/null and b/resources/aws/general/tape-storage.png differ
diff --git a/resources/aws/general/toolkit.png b/resources/aws/general/toolkit.png
new file mode 100644
index 000000000..c6d059ae2
Binary files /dev/null and b/resources/aws/general/toolkit.png differ
diff --git a/resources/aws/integration/event-resource.png b/resources/aws/integration/event-resource.png
new file mode 100644
index 000000000..96cbd8173
Binary files /dev/null and b/resources/aws/integration/event-resource.png differ
diff --git a/resources/aws/integration/eventbridge-custom-event-bus-resource.png b/resources/aws/integration/eventbridge-custom-event-bus-resource.png
new file mode 100644
index 000000000..4053d3cf1
Binary files /dev/null and b/resources/aws/integration/eventbridge-custom-event-bus-resource.png differ
diff --git a/resources/aws/integration/eventbridge-default-event-bus-resource.png b/resources/aws/integration/eventbridge-default-event-bus-resource.png
new file mode 100644
index 000000000..e59b3e5f7
Binary files /dev/null and b/resources/aws/integration/eventbridge-default-event-bus-resource.png differ
diff --git a/resources/aws/integration/eventbridge-saas-partner-event-bus-resource.png b/resources/aws/integration/eventbridge-saas-partner-event-bus-resource.png
new file mode 100644
index 000000000..6c29642b6
Binary files /dev/null and b/resources/aws/integration/eventbridge-saas-partner-event-bus-resource.png differ
diff --git a/resources/aws/integration/express-workflows.png b/resources/aws/integration/express-workflows.png
new file mode 100644
index 000000000..1197f29f5
Binary files /dev/null and b/resources/aws/integration/express-workflows.png differ
diff --git a/resources/aws/integration/simple-notification-service-sns-email-notification.png b/resources/aws/integration/simple-notification-service-sns-email-notification.png
new file mode 100644
index 000000000..21268e2cd
Binary files /dev/null and b/resources/aws/integration/simple-notification-service-sns-email-notification.png differ
diff --git a/resources/aws/integration/simple-notification-service-sns-http-notification.png b/resources/aws/integration/simple-notification-service-sns-http-notification.png
new file mode 100644
index 000000000..87837bac0
Binary files /dev/null and b/resources/aws/integration/simple-notification-service-sns-http-notification.png differ
diff --git a/resources/aws/integration/simple-notification-service-sns-topic.png b/resources/aws/integration/simple-notification-service-sns-topic.png
new file mode 100644
index 000000000..f97c4cfd0
Binary files /dev/null and b/resources/aws/integration/simple-notification-service-sns-topic.png differ
diff --git a/resources/aws/integration/simple-queue-service-sqs-message.png b/resources/aws/integration/simple-queue-service-sqs-message.png
new file mode 100644
index 000000000..f817270db
Binary files /dev/null and b/resources/aws/integration/simple-queue-service-sqs-message.png differ
diff --git a/resources/aws/integration/simple-queue-service-sqs-queue.png b/resources/aws/integration/simple-queue-service-sqs-queue.png
new file mode 100644
index 000000000..274c56672
Binary files /dev/null and b/resources/aws/integration/simple-queue-service-sqs-queue.png differ
diff --git a/resources/aws/iot/iot-actuator.png b/resources/aws/iot/iot-actuator.png
new file mode 100644
index 000000000..99d4f8ff3
Binary files /dev/null and b/resources/aws/iot/iot-actuator.png differ
diff --git a/resources/aws/iot/iot-alexa-enabled-device.png b/resources/aws/iot/iot-alexa-enabled-device.png
new file mode 100644
index 000000000..b4b82f916
Binary files /dev/null and b/resources/aws/iot/iot-alexa-enabled-device.png differ
diff --git a/resources/aws/iot/iot-alexa-voice-service.png b/resources/aws/iot/iot-alexa-voice-service.png
new file mode 100644
index 000000000..2128b5a15
Binary files /dev/null and b/resources/aws/iot/iot-alexa-voice-service.png differ
diff --git a/resources/aws/iot/iot-analytics-channel.png b/resources/aws/iot/iot-analytics-channel.png
new file mode 100644
index 000000000..d40c6e126
Binary files /dev/null and b/resources/aws/iot/iot-analytics-channel.png differ
diff --git a/resources/aws/iot/iot-analytics-data-set.png b/resources/aws/iot/iot-analytics-data-set.png
new file mode 100644
index 000000000..f1e966b64
Binary files /dev/null and b/resources/aws/iot/iot-analytics-data-set.png differ
diff --git a/resources/aws/iot/iot-analytics-data-store.png b/resources/aws/iot/iot-analytics-data-store.png
new file mode 100644
index 000000000..7cf6c30e4
Binary files /dev/null and b/resources/aws/iot/iot-analytics-data-store.png differ
diff --git a/resources/aws/iot/iot-analytics-notebook.png b/resources/aws/iot/iot-analytics-notebook.png
new file mode 100644
index 000000000..09c5cbcc4
Binary files /dev/null and b/resources/aws/iot/iot-analytics-notebook.png differ
diff --git a/resources/aws/iot/iot-analytics-pipeline.png b/resources/aws/iot/iot-analytics-pipeline.png
new file mode 100644
index 000000000..468d48311
Binary files /dev/null and b/resources/aws/iot/iot-analytics-pipeline.png differ
diff --git a/resources/aws/iot/iot-bank.png b/resources/aws/iot/iot-bank.png
new file mode 100644
index 000000000..5efe50b0d
Binary files /dev/null and b/resources/aws/iot/iot-bank.png differ
diff --git a/resources/aws/iot/iot-bicycle.png b/resources/aws/iot/iot-bicycle.png
new file mode 100644
index 000000000..c1682dc99
Binary files /dev/null and b/resources/aws/iot/iot-bicycle.png differ
diff --git a/resources/aws/iot/iot-car.png b/resources/aws/iot/iot-car.png
new file mode 100644
index 000000000..8de358bbb
Binary files /dev/null and b/resources/aws/iot/iot-car.png differ
diff --git a/resources/aws/iot/iot-cart.png b/resources/aws/iot/iot-cart.png
new file mode 100644
index 000000000..6602fb0a5
Binary files /dev/null and b/resources/aws/iot/iot-cart.png differ
diff --git a/resources/aws/iot/iot-coffee-pot.png b/resources/aws/iot/iot-coffee-pot.png
new file mode 100644
index 000000000..c3d70b60b
Binary files /dev/null and b/resources/aws/iot/iot-coffee-pot.png differ
diff --git a/resources/aws/iot/iot-desired-state.png b/resources/aws/iot/iot-desired-state.png
new file mode 100644
index 000000000..bc8cd45a9
Binary files /dev/null and b/resources/aws/iot/iot-desired-state.png differ
diff --git a/resources/aws/iot/iot-device-gateway.png b/resources/aws/iot/iot-device-gateway.png
new file mode 100644
index 000000000..6ddbfa2d9
Binary files /dev/null and b/resources/aws/iot/iot-device-gateway.png differ
diff --git a/resources/aws/iot/iot-door-lock.png b/resources/aws/iot/iot-door-lock.png
new file mode 100644
index 000000000..b7fec7b70
Binary files /dev/null and b/resources/aws/iot/iot-door-lock.png differ
diff --git a/resources/aws/iot/iot-factory.png b/resources/aws/iot/iot-factory.png
new file mode 100644
index 000000000..d7712412f
Binary files /dev/null and b/resources/aws/iot/iot-factory.png differ
diff --git a/resources/aws/iot/iot-fire-tv-stick.png b/resources/aws/iot/iot-fire-tv-stick.png
new file mode 100644
index 000000000..b3b8b1b43
Binary files /dev/null and b/resources/aws/iot/iot-fire-tv-stick.png differ
diff --git a/resources/aws/iot/iot-fire-tv.png b/resources/aws/iot/iot-fire-tv.png
new file mode 100644
index 000000000..4c456b4e0
Binary files /dev/null and b/resources/aws/iot/iot-fire-tv.png differ
diff --git a/resources/aws/iot/iot-generic.png b/resources/aws/iot/iot-generic.png
new file mode 100644
index 000000000..ee3a6713f
Binary files /dev/null and b/resources/aws/iot/iot-generic.png differ
diff --git a/resources/aws/iot/iot-house.png b/resources/aws/iot/iot-house.png
new file mode 100644
index 000000000..324f990a4
Binary files /dev/null and b/resources/aws/iot/iot-house.png differ
diff --git a/resources/aws/iot/iot-lightbulb.png b/resources/aws/iot/iot-lightbulb.png
new file mode 100644
index 000000000..52d4591e3
Binary files /dev/null and b/resources/aws/iot/iot-lightbulb.png differ
diff --git a/resources/aws/iot/iot-medical-emergency.png b/resources/aws/iot/iot-medical-emergency.png
new file mode 100644
index 000000000..96baef6cc
Binary files /dev/null and b/resources/aws/iot/iot-medical-emergency.png differ
diff --git a/resources/aws/iot/iot-over-the-air-update.png b/resources/aws/iot/iot-over-the-air-update.png
new file mode 100644
index 000000000..9320e87e8
Binary files /dev/null and b/resources/aws/iot/iot-over-the-air-update.png differ
diff --git a/resources/aws/iot/iot-reported-state.png b/resources/aws/iot/iot-reported-state.png
new file mode 100644
index 000000000..638b80afe
Binary files /dev/null and b/resources/aws/iot/iot-reported-state.png differ
diff --git a/resources/aws/iot/iot-sensor.png b/resources/aws/iot/iot-sensor.png
new file mode 100644
index 000000000..19e299c21
Binary files /dev/null and b/resources/aws/iot/iot-sensor.png differ
diff --git a/resources/aws/iot/iot-servo.png b/resources/aws/iot/iot-servo.png
new file mode 100644
index 000000000..4aad755df
Binary files /dev/null and b/resources/aws/iot/iot-servo.png differ
diff --git a/resources/aws/iot/iot-simulator.png b/resources/aws/iot/iot-simulator.png
new file mode 100644
index 000000000..ad10b7bb5
Binary files /dev/null and b/resources/aws/iot/iot-simulator.png differ
diff --git a/resources/aws/iot/iot-thermostat.png b/resources/aws/iot/iot-thermostat.png
new file mode 100644
index 000000000..45e2b3e0a
Binary files /dev/null and b/resources/aws/iot/iot-thermostat.png differ
diff --git a/resources/aws/iot/iot-travel.png b/resources/aws/iot/iot-travel.png
new file mode 100644
index 000000000..b1890d997
Binary files /dev/null and b/resources/aws/iot/iot-travel.png differ
diff --git a/resources/aws/iot/iot-utility.png b/resources/aws/iot/iot-utility.png
new file mode 100644
index 000000000..72fa9f1d2
Binary files /dev/null and b/resources/aws/iot/iot-utility.png differ
diff --git a/resources/aws/iot/iot-windfarm.png b/resources/aws/iot/iot-windfarm.png
new file mode 100644
index 000000000..9c3fa30e9
Binary files /dev/null and b/resources/aws/iot/iot-windfarm.png differ
diff --git a/resources/aws/management/cloudformation-change-set.png b/resources/aws/management/cloudformation-change-set.png
new file mode 100644
index 000000000..de5a6d106
Binary files /dev/null and b/resources/aws/management/cloudformation-change-set.png differ
diff --git a/resources/aws/management/cloudformation-stack.png b/resources/aws/management/cloudformation-stack.png
new file mode 100644
index 000000000..7a5c4bbc0
Binary files /dev/null and b/resources/aws/management/cloudformation-stack.png differ
diff --git a/resources/aws/management/cloudformation-template.png b/resources/aws/management/cloudformation-template.png
new file mode 100644
index 000000000..22551868f
Binary files /dev/null and b/resources/aws/management/cloudformation-template.png differ
diff --git a/resources/aws/management/cloudwatch-alarm.png b/resources/aws/management/cloudwatch-alarm.png
new file mode 100644
index 000000000..239b50e05
Binary files /dev/null and b/resources/aws/management/cloudwatch-alarm.png differ
diff --git a/resources/aws/management/cloudwatch-event-event-based.png b/resources/aws/management/cloudwatch-event-event-based.png
new file mode 100644
index 000000000..b95b337af
Binary files /dev/null and b/resources/aws/management/cloudwatch-event-event-based.png differ
diff --git a/resources/aws/management/cloudwatch-event-time-based.png b/resources/aws/management/cloudwatch-event-time-based.png
new file mode 100644
index 000000000..0c5c929a7
Binary files /dev/null and b/resources/aws/management/cloudwatch-event-time-based.png differ
diff --git a/resources/aws/management/cloudwatch-rule.png b/resources/aws/management/cloudwatch-rule.png
new file mode 100644
index 000000000..2d5c59f2d
Binary files /dev/null and b/resources/aws/management/cloudwatch-rule.png differ
diff --git a/resources/aws/management/management-and-governance.png b/resources/aws/management/management-and-governance.png
new file mode 100644
index 000000000..d156a4c6c
Binary files /dev/null and b/resources/aws/management/management-and-governance.png differ
diff --git a/resources/aws/management/opsworks-apps.png b/resources/aws/management/opsworks-apps.png
new file mode 100644
index 000000000..5153f5cd7
Binary files /dev/null and b/resources/aws/management/opsworks-apps.png differ
diff --git a/resources/aws/management/opsworks-deployments.png b/resources/aws/management/opsworks-deployments.png
new file mode 100644
index 000000000..646e8bd2d
Binary files /dev/null and b/resources/aws/management/opsworks-deployments.png differ
diff --git a/resources/aws/management/opsworks-instances.png b/resources/aws/management/opsworks-instances.png
new file mode 100644
index 000000000..1e0fea5fd
Binary files /dev/null and b/resources/aws/management/opsworks-instances.png differ
diff --git a/resources/aws/management/opsworks-layers.png b/resources/aws/management/opsworks-layers.png
new file mode 100644
index 000000000..3058e88b6
Binary files /dev/null and b/resources/aws/management/opsworks-layers.png differ
diff --git a/resources/aws/management/opsworks-monitoring.png b/resources/aws/management/opsworks-monitoring.png
new file mode 100644
index 000000000..260e7c642
Binary files /dev/null and b/resources/aws/management/opsworks-monitoring.png differ
diff --git a/resources/aws/management/opsworks-permissions.png b/resources/aws/management/opsworks-permissions.png
new file mode 100644
index 000000000..9f9c7f4b4
Binary files /dev/null and b/resources/aws/management/opsworks-permissions.png differ
diff --git a/resources/aws/management/opsworks-resources.png b/resources/aws/management/opsworks-resources.png
new file mode 100644
index 000000000..a47f83a2a
Binary files /dev/null and b/resources/aws/management/opsworks-resources.png differ
diff --git a/resources/aws/management/opsworks-stack.png b/resources/aws/management/opsworks-stack.png
new file mode 100644
index 000000000..41aa7fa49
Binary files /dev/null and b/resources/aws/management/opsworks-stack.png differ
diff --git a/resources/aws/management/organizations-account.png b/resources/aws/management/organizations-account.png
new file mode 100644
index 000000000..6de49ef01
Binary files /dev/null and b/resources/aws/management/organizations-account.png differ
diff --git a/resources/aws/management/organizations-organizational-unit.png b/resources/aws/management/organizations-organizational-unit.png
new file mode 100644
index 000000000..0322b7fbe
Binary files /dev/null and b/resources/aws/management/organizations-organizational-unit.png differ
diff --git a/resources/aws/management/personal-health-dashboard.png b/resources/aws/management/personal-health-dashboard.png
new file mode 100644
index 000000000..ac34a748c
Binary files /dev/null and b/resources/aws/management/personal-health-dashboard.png differ
diff --git a/resources/aws/management/systems-manager-automation.png b/resources/aws/management/systems-manager-automation.png
new file mode 100644
index 000000000..4d2eabe7f
Binary files /dev/null and b/resources/aws/management/systems-manager-automation.png differ
diff --git a/resources/aws/management/systems-manager-documents.png b/resources/aws/management/systems-manager-documents.png
new file mode 100644
index 000000000..140732b64
Binary files /dev/null and b/resources/aws/management/systems-manager-documents.png differ
diff --git a/resources/aws/management/systems-manager-inventory.png b/resources/aws/management/systems-manager-inventory.png
new file mode 100644
index 000000000..e9db8ab49
Binary files /dev/null and b/resources/aws/management/systems-manager-inventory.png differ
diff --git a/resources/aws/management/systems-manager-maintenance-windows.png b/resources/aws/management/systems-manager-maintenance-windows.png
new file mode 100644
index 000000000..5fd58adaa
Binary files /dev/null and b/resources/aws/management/systems-manager-maintenance-windows.png differ
diff --git a/resources/aws/management/systems-manager-opscenter.png b/resources/aws/management/systems-manager-opscenter.png
new file mode 100644
index 000000000..53eb9a8a3
Binary files /dev/null and b/resources/aws/management/systems-manager-opscenter.png differ
diff --git a/resources/aws/management/systems-manager-patch-manager.png b/resources/aws/management/systems-manager-patch-manager.png
new file mode 100644
index 000000000..4a02149f7
Binary files /dev/null and b/resources/aws/management/systems-manager-patch-manager.png differ
diff --git a/resources/aws/management/systems-manager-run-command.png b/resources/aws/management/systems-manager-run-command.png
new file mode 100644
index 000000000..239710023
Binary files /dev/null and b/resources/aws/management/systems-manager-run-command.png differ
diff --git a/resources/aws/management/systems-manager-state-manager.png b/resources/aws/management/systems-manager-state-manager.png
new file mode 100644
index 000000000..003cb61dd
Binary files /dev/null and b/resources/aws/management/systems-manager-state-manager.png differ
diff --git a/resources/aws/management/trusted-advisor-checklist-cost.png b/resources/aws/management/trusted-advisor-checklist-cost.png
new file mode 100644
index 000000000..7810b957d
Binary files /dev/null and b/resources/aws/management/trusted-advisor-checklist-cost.png differ
diff --git a/resources/aws/management/trusted-advisor-checklist-fault-tolerant.png b/resources/aws/management/trusted-advisor-checklist-fault-tolerant.png
new file mode 100644
index 000000000..35f13e081
Binary files /dev/null and b/resources/aws/management/trusted-advisor-checklist-fault-tolerant.png differ
diff --git a/resources/aws/management/trusted-advisor-checklist-performance.png b/resources/aws/management/trusted-advisor-checklist-performance.png
new file mode 100644
index 000000000..e61047929
Binary files /dev/null and b/resources/aws/management/trusted-advisor-checklist-performance.png differ
diff --git a/resources/aws/management/trusted-advisor-checklist-security.png b/resources/aws/management/trusted-advisor-checklist-security.png
new file mode 100644
index 000000000..6d6cd1f85
Binary files /dev/null and b/resources/aws/management/trusted-advisor-checklist-security.png differ
diff --git a/resources/aws/management/trusted-advisor-checklist.png b/resources/aws/management/trusted-advisor-checklist.png
new file mode 100644
index 000000000..23796381e
Binary files /dev/null and b/resources/aws/management/trusted-advisor-checklist.png differ
diff --git a/resources/aws/media/kinesis-video-streams.png b/resources/aws/media/kinesis-video-streams.png
new file mode 100644
index 000000000..65ffe3fb0
Binary files /dev/null and b/resources/aws/media/kinesis-video-streams.png differ
diff --git a/resources/aws/media/media-services.png b/resources/aws/media/media-services.png
new file mode 100644
index 000000000..f3e94064e
Binary files /dev/null and b/resources/aws/media/media-services.png differ
diff --git a/resources/aws/migration/datasync-agent.png b/resources/aws/migration/datasync-agent.png
new file mode 100644
index 000000000..0fd223abe
Binary files /dev/null and b/resources/aws/migration/datasync-agent.png differ
diff --git a/resources/aws/ml/augmented-ai.png b/resources/aws/ml/augmented-ai.png
new file mode 100644
index 000000000..7a355ee85
Binary files /dev/null and b/resources/aws/ml/augmented-ai.png differ
diff --git a/resources/aws/ml/deepcomposer.png b/resources/aws/ml/deepcomposer.png
new file mode 100644
index 000000000..b9e8844b5
Binary files /dev/null and b/resources/aws/ml/deepcomposer.png differ
diff --git a/resources/aws/ml/fraud-detector.png b/resources/aws/ml/fraud-detector.png
new file mode 100644
index 000000000..7772f262c
Binary files /dev/null and b/resources/aws/ml/fraud-detector.png differ
diff --git a/resources/aws/ml/kendra.png b/resources/aws/ml/kendra.png
new file mode 100644
index 000000000..e77173f87
Binary files /dev/null and b/resources/aws/ml/kendra.png differ
diff --git a/resources/aws/ml/rekognition-image.png b/resources/aws/ml/rekognition-image.png
new file mode 100644
index 000000000..d7b0374bc
Binary files /dev/null and b/resources/aws/ml/rekognition-image.png differ
diff --git a/resources/aws/ml/rekognition-video.png b/resources/aws/ml/rekognition-video.png
new file mode 100644
index 000000000..47b539642
Binary files /dev/null and b/resources/aws/ml/rekognition-video.png differ
diff --git a/resources/aws/mobile/mobile.png b/resources/aws/mobile/mobile.png
new file mode 100644
index 000000000..fbf2c8eef
Binary files /dev/null and b/resources/aws/mobile/mobile.png differ
diff --git a/resources/aws/network/api-gateway-endpoint.png b/resources/aws/network/api-gateway-endpoint.png
new file mode 100644
index 000000000..96fcf3942
Binary files /dev/null and b/resources/aws/network/api-gateway-endpoint.png differ
diff --git a/resources/aws/network/cloudfront-download-distribution.png b/resources/aws/network/cloudfront-download-distribution.png
new file mode 100644
index 000000000..ca4b979a9
Binary files /dev/null and b/resources/aws/network/cloudfront-download-distribution.png differ
diff --git a/resources/aws/network/cloudfront-edge-location.png b/resources/aws/network/cloudfront-edge-location.png
new file mode 100644
index 000000000..e06d6b511
Binary files /dev/null and b/resources/aws/network/cloudfront-edge-location.png differ
diff --git a/resources/aws/network/cloudfront-streaming-distribution.png b/resources/aws/network/cloudfront-streaming-distribution.png
new file mode 100644
index 000000000..cbd97899f
Binary files /dev/null and b/resources/aws/network/cloudfront-streaming-distribution.png differ
diff --git a/resources/aws/network/elb-application-load-balancer.png b/resources/aws/network/elb-application-load-balancer.png
new file mode 100644
index 000000000..bad1aedfc
Binary files /dev/null and b/resources/aws/network/elb-application-load-balancer.png differ
diff --git a/resources/aws/network/elb-classic-load-balancer.png b/resources/aws/network/elb-classic-load-balancer.png
new file mode 100644
index 000000000..8957eec8c
Binary files /dev/null and b/resources/aws/network/elb-classic-load-balancer.png differ
diff --git a/resources/aws/network/elb-network-load-balancer.png b/resources/aws/network/elb-network-load-balancer.png
new file mode 100644
index 000000000..d8d880d36
Binary files /dev/null and b/resources/aws/network/elb-network-load-balancer.png differ
diff --git a/resources/aws/network/route-53-hosted-zone.png b/resources/aws/network/route-53-hosted-zone.png
new file mode 100644
index 000000000..c50c9ae63
Binary files /dev/null and b/resources/aws/network/route-53-hosted-zone.png differ
diff --git a/resources/aws/network/vpc-customer-gateway.png b/resources/aws/network/vpc-customer-gateway.png
new file mode 100644
index 000000000..9cb400305
Binary files /dev/null and b/resources/aws/network/vpc-customer-gateway.png differ
diff --git a/resources/aws/network/vpc-elastic-network-adapter.png b/resources/aws/network/vpc-elastic-network-adapter.png
new file mode 100644
index 000000000..d845ca765
Binary files /dev/null and b/resources/aws/network/vpc-elastic-network-adapter.png differ
diff --git a/resources/aws/network/vpc-elastic-network-interface.png b/resources/aws/network/vpc-elastic-network-interface.png
new file mode 100644
index 000000000..a13bec346
Binary files /dev/null and b/resources/aws/network/vpc-elastic-network-interface.png differ
diff --git a/resources/aws/network/vpc-flow-logs.png b/resources/aws/network/vpc-flow-logs.png
new file mode 100644
index 000000000..a9e7a4b58
Binary files /dev/null and b/resources/aws/network/vpc-flow-logs.png differ
diff --git a/resources/aws/network/vpc-traffic-mirroring.png b/resources/aws/network/vpc-traffic-mirroring.png
new file mode 100644
index 000000000..4606c62cc
Binary files /dev/null and b/resources/aws/network/vpc-traffic-mirroring.png differ
diff --git a/resources/aws/network/vpn-connection.png b/resources/aws/network/vpn-connection.png
new file mode 100644
index 000000000..c735cb3fc
Binary files /dev/null and b/resources/aws/network/vpn-connection.png differ
diff --git a/resources/aws/network/vpn-gateway.png b/resources/aws/network/vpn-gateway.png
new file mode 100644
index 000000000..d7e9ec54d
Binary files /dev/null and b/resources/aws/network/vpn-gateway.png differ
diff --git a/resources/aws/quantum/quantum-technologies.png b/resources/aws/quantum/quantum-technologies.png
new file mode 100644
index 000000000..931787728
Binary files /dev/null and b/resources/aws/quantum/quantum-technologies.png differ
diff --git a/resources/aws/robotics/robomaker-cloud-extension-ros.png b/resources/aws/robotics/robomaker-cloud-extension-ros.png
new file mode 100644
index 000000000..3732a5d00
Binary files /dev/null and b/resources/aws/robotics/robomaker-cloud-extension-ros.png differ
diff --git a/resources/aws/robotics/robomaker-development-environment.png b/resources/aws/robotics/robomaker-development-environment.png
new file mode 100644
index 000000000..5761f06d5
Binary files /dev/null and b/resources/aws/robotics/robomaker-development-environment.png differ
diff --git a/resources/aws/robotics/robomaker-fleet-management.png b/resources/aws/robotics/robomaker-fleet-management.png
new file mode 100644
index 000000000..3be903a98
Binary files /dev/null and b/resources/aws/robotics/robomaker-fleet-management.png differ
diff --git a/resources/aws/satellite/satellite.png b/resources/aws/satellite/satellite.png
new file mode 100644
index 000000000..e3df2df28
Binary files /dev/null and b/resources/aws/satellite/satellite.png differ
diff --git a/resources/aws/security/ad-connector.png b/resources/aws/security/ad-connector.png
new file mode 100644
index 000000000..e7c046b5a
Binary files /dev/null and b/resources/aws/security/ad-connector.png differ
diff --git a/resources/aws/security/certificate-authority.png b/resources/aws/security/certificate-authority.png
new file mode 100644
index 000000000..933b00b6f
Binary files /dev/null and b/resources/aws/security/certificate-authority.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-add-on.png b/resources/aws/security/identity-and-access-management-iam-add-on.png
new file mode 100644
index 000000000..f38aab123
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-add-on.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-aws-sts-alternate.png b/resources/aws/security/identity-and-access-management-iam-aws-sts-alternate.png
new file mode 100644
index 000000000..3976e1e64
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-aws-sts-alternate.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-data-encryption-key.png b/resources/aws/security/identity-and-access-management-iam-data-encryption-key.png
new file mode 100644
index 000000000..6cc7931ae
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-data-encryption-key.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-encrypted-data.png b/resources/aws/security/identity-and-access-management-iam-encrypted-data.png
new file mode 100644
index 000000000..5312dff40
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-encrypted-data.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-long-term-security-credential.png b/resources/aws/security/identity-and-access-management-iam-long-term-security-credential.png
new file mode 100644
index 000000000..b74afb418
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-long-term-security-credential.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-mfa-token.png b/resources/aws/security/identity-and-access-management-iam-mfa-token.png
new file mode 100644
index 000000000..ace4e451d
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-mfa-token.png differ
diff --git a/resources/aws/security/identity-and-access-management-iam-temporary-security-credential.png b/resources/aws/security/identity-and-access-management-iam-temporary-security-credential.png
new file mode 100644
index 000000000..3d3d27974
Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-temporary-security-credential.png differ
diff --git a/resources/aws/security/inspector-agent.png b/resources/aws/security/inspector-agent.png
new file mode 100644
index 000000000..1a54b1aa5
Binary files /dev/null and b/resources/aws/security/inspector-agent.png differ
diff --git a/resources/aws/security/managed-microsoft-ad.png b/resources/aws/security/managed-microsoft-ad.png
new file mode 100644
index 000000000..20e1918af
Binary files /dev/null and b/resources/aws/security/managed-microsoft-ad.png differ
diff --git a/resources/aws/security/security-hub-finding.png b/resources/aws/security/security-hub-finding.png
new file mode 100644
index 000000000..ed71748a3
Binary files /dev/null and b/resources/aws/security/security-hub-finding.png differ
diff --git a/resources/aws/security/shield-advanced.png b/resources/aws/security/shield-advanced.png
new file mode 100644
index 000000000..d530ded8b
Binary files /dev/null and b/resources/aws/security/shield-advanced.png differ
diff --git a/resources/aws/security/simple-ad.png b/resources/aws/security/simple-ad.png
new file mode 100644
index 000000000..a83492d17
Binary files /dev/null and b/resources/aws/security/simple-ad.png differ
diff --git a/resources/aws/security/waf-filtering-rule.png b/resources/aws/security/waf-filtering-rule.png
new file mode 100644
index 000000000..65c208ce8
Binary files /dev/null and b/resources/aws/security/waf-filtering-rule.png differ
diff --git a/resources/aws/storage/elastic-block-store-ebs-snapshot.png b/resources/aws/storage/elastic-block-store-ebs-snapshot.png
new file mode 100644
index 000000000..f9f45a365
Binary files /dev/null and b/resources/aws/storage/elastic-block-store-ebs-snapshot.png differ
diff --git a/resources/aws/storage/elastic-block-store-ebs-volume.png b/resources/aws/storage/elastic-block-store-ebs-volume.png
new file mode 100644
index 000000000..8bc08c55a
Binary files /dev/null and b/resources/aws/storage/elastic-block-store-ebs-volume.png differ
diff --git a/resources/aws/storage/elastic-file-system-efs-file-system.png b/resources/aws/storage/elastic-file-system-efs-file-system.png
new file mode 100644
index 000000000..93b98ee8d
Binary files /dev/null and b/resources/aws/storage/elastic-file-system-efs-file-system.png differ
diff --git a/resources/aws/storage/multiple-volumes-resource.png b/resources/aws/storage/multiple-volumes-resource.png
new file mode 100644
index 000000000..1b73423ec
Binary files /dev/null and b/resources/aws/storage/multiple-volumes-resource.png differ
diff --git a/resources/aws/storage/s3-glacier-archive.png b/resources/aws/storage/s3-glacier-archive.png
new file mode 100644
index 000000000..eed6d9f18
Binary files /dev/null and b/resources/aws/storage/s3-glacier-archive.png differ
diff --git a/resources/aws/storage/s3-glacier-vault.png b/resources/aws/storage/s3-glacier-vault.png
new file mode 100644
index 000000000..ca35dfbfd
Binary files /dev/null and b/resources/aws/storage/s3-glacier-vault.png differ
diff --git a/resources/aws/storage/simple-storage-service-s3-bucket-with-objects.png b/resources/aws/storage/simple-storage-service-s3-bucket-with-objects.png
new file mode 100644
index 000000000..88f9fa59d
Binary files /dev/null and b/resources/aws/storage/simple-storage-service-s3-bucket-with-objects.png differ
diff --git a/resources/aws/storage/simple-storage-service-s3-bucket.png b/resources/aws/storage/simple-storage-service-s3-bucket.png
new file mode 100644
index 000000000..2994e207e
Binary files /dev/null and b/resources/aws/storage/simple-storage-service-s3-bucket.png differ
diff --git a/resources/aws/storage/simple-storage-service-s3-object.png b/resources/aws/storage/simple-storage-service-s3-object.png
new file mode 100644
index 000000000..6098f067e
Binary files /dev/null and b/resources/aws/storage/simple-storage-service-s3-object.png differ
diff --git a/resources/aws/storage/snow-family-snowball-import-export.png b/resources/aws/storage/snow-family-snowball-import-export.png
new file mode 100644
index 000000000..a4710145a
Binary files /dev/null and b/resources/aws/storage/snow-family-snowball-import-export.png differ
diff --git a/resources/aws/storage/storage-gateway-cached-volume.png b/resources/aws/storage/storage-gateway-cached-volume.png
new file mode 100644
index 000000000..8b637f4a9
Binary files /dev/null and b/resources/aws/storage/storage-gateway-cached-volume.png differ
diff --git a/resources/aws/storage/storage-gateway-non-cached-volume.png b/resources/aws/storage/storage-gateway-non-cached-volume.png
new file mode 100644
index 000000000..89d13219a
Binary files /dev/null and b/resources/aws/storage/storage-gateway-non-cached-volume.png differ
diff --git a/resources/aws/storage/storage-gateway-virtual-tape-library.png b/resources/aws/storage/storage-gateway-virtual-tape-library.png
new file mode 100644
index 000000000..0c9207103
Binary files /dev/null and b/resources/aws/storage/storage-gateway-virtual-tape-library.png differ
diff --git a/resources/azure/analytics/analysis-services.png b/resources/azure/analytics/analysis-services.png
index ae5627dc8..efa3daffc 100644
Binary files a/resources/azure/analytics/analysis-services.png and b/resources/azure/analytics/analysis-services.png differ
diff --git a/resources/azure/analytics/data-lake-store-gen1.png b/resources/azure/analytics/data-lake-store-gen1.png
index b8881b0b9..6e861246c 100644
Binary files a/resources/azure/analytics/data-lake-store-gen1.png and b/resources/azure/analytics/data-lake-store-gen1.png differ
diff --git a/resources/azure/analytics/databricks.png b/resources/azure/analytics/databricks.png
index 5842e283a..42cacf602 100644
Binary files a/resources/azure/analytics/databricks.png and b/resources/azure/analytics/databricks.png differ
diff --git a/resources/azure/analytics/event-hub-clusters.png b/resources/azure/analytics/event-hub-clusters.png
index dd7e9a9bf..dde0c68db 100644
Binary files a/resources/azure/analytics/event-hub-clusters.png and b/resources/azure/analytics/event-hub-clusters.png differ
diff --git a/resources/azure/analytics/event-hubs.png b/resources/azure/analytics/event-hubs.png
index 567526b21..2677ee0ad 100644
Binary files a/resources/azure/analytics/event-hubs.png and b/resources/azure/analytics/event-hubs.png differ
diff --git a/resources/azure/analytics/hdinsightclusters.png b/resources/azure/analytics/hdinsightclusters.png
index 5d382b162..42fc1d149 100644
Binary files a/resources/azure/analytics/hdinsightclusters.png and b/resources/azure/analytics/hdinsightclusters.png differ
diff --git a/resources/azure/analytics/log-analytics-workspaces.png b/resources/azure/analytics/log-analytics-workspaces.png
index 010012124..d3f462ade 100644
Binary files a/resources/azure/analytics/log-analytics-workspaces.png and b/resources/azure/analytics/log-analytics-workspaces.png differ
diff --git a/resources/azure/analytics/stream-analytics-jobs.png b/resources/azure/analytics/stream-analytics-jobs.png
index fb957eeea..a9fceb324 100644
Binary files a/resources/azure/analytics/stream-analytics-jobs.png and b/resources/azure/analytics/stream-analytics-jobs.png differ
diff --git a/resources/azure/analytics/synapse-analytics.png b/resources/azure/analytics/synapse-analytics.png
new file mode 100644
index 000000000..7966c3255
Binary files /dev/null and b/resources/azure/analytics/synapse-analytics.png differ
diff --git a/resources/azure/compute/app-services.png b/resources/azure/compute/app-services.png
new file mode 100644
index 000000000..f7ca7fb08
Binary files /dev/null and b/resources/azure/compute/app-services.png differ
diff --git a/resources/azure/compute/automanaged-vm.png b/resources/azure/compute/automanaged-vm.png
new file mode 100644
index 000000000..ec8365b52
Binary files /dev/null and b/resources/azure/compute/automanaged-vm.png differ
diff --git a/resources/azure/compute/availability-sets.png b/resources/azure/compute/availability-sets.png
index 57664dd2f..988e9a6c4 100644
Binary files a/resources/azure/compute/availability-sets.png and b/resources/azure/compute/availability-sets.png differ
diff --git a/resources/azure/compute/batch-accounts.png b/resources/azure/compute/batch-accounts.png
index c3afcc09f..8f41434e9 100644
Binary files a/resources/azure/compute/batch-accounts.png and b/resources/azure/compute/batch-accounts.png differ
diff --git a/resources/azure/compute/cloud-services-classic.png b/resources/azure/compute/cloud-services-classic.png
index 4a784eb7b..c3fa4d1b1 100644
Binary files a/resources/azure/compute/cloud-services-classic.png and b/resources/azure/compute/cloud-services-classic.png differ
diff --git a/resources/azure/compute/container-instances.png b/resources/azure/compute/container-instances.png
index 9ec2a8c80..6be6aacc0 100644
Binary files a/resources/azure/compute/container-instances.png and b/resources/azure/compute/container-instances.png differ
diff --git a/resources/azure/compute/disk-encryption-sets.png b/resources/azure/compute/disk-encryption-sets.png
new file mode 100644
index 000000000..17b3126a0
Binary files /dev/null and b/resources/azure/compute/disk-encryption-sets.png differ
diff --git a/resources/azure/compute/disk-snapshots.png b/resources/azure/compute/disk-snapshots.png
index cc83dda94..b6f6b69b1 100644
Binary files a/resources/azure/compute/disk-snapshots.png and b/resources/azure/compute/disk-snapshots.png differ
diff --git a/resources/azure/compute/disks.png b/resources/azure/compute/disks.png
index dbaab8a63..effee0b17 100644
Binary files a/resources/azure/compute/disks.png and b/resources/azure/compute/disks.png differ
diff --git a/resources/azure/compute/function-apps.png b/resources/azure/compute/function-apps.png
index 1a34e2585..b6c7f67d6 100644
Binary files a/resources/azure/compute/function-apps.png and b/resources/azure/compute/function-apps.png differ
diff --git a/resources/azure/compute/image-definitions.png b/resources/azure/compute/image-definitions.png
new file mode 100644
index 000000000..de6a2b3d0
Binary files /dev/null and b/resources/azure/compute/image-definitions.png differ
diff --git a/resources/azure/compute/image-versions.png b/resources/azure/compute/image-versions.png
new file mode 100644
index 000000000..b62ab4301
Binary files /dev/null and b/resources/azure/compute/image-versions.png differ
diff --git a/resources/azure/compute/kubernetes-services.png b/resources/azure/compute/kubernetes-services.png
index a96f35987..11c37ef80 100644
Binary files a/resources/azure/compute/kubernetes-services.png and b/resources/azure/compute/kubernetes-services.png differ
diff --git a/resources/azure/compute/mesh-applications.png b/resources/azure/compute/mesh-applications.png
index b65ba3e7a..468f4e5c5 100644
Binary files a/resources/azure/compute/mesh-applications.png and b/resources/azure/compute/mesh-applications.png differ
diff --git a/resources/azure/compute/os-images.png b/resources/azure/compute/os-images.png
new file mode 100644
index 000000000..fbbcf8e12
Binary files /dev/null and b/resources/azure/compute/os-images.png differ
diff --git a/resources/azure/compute/service-fabric-clusters.png b/resources/azure/compute/service-fabric-clusters.png
index be522e376..a03a2194d 100644
Binary files a/resources/azure/compute/service-fabric-clusters.png and b/resources/azure/compute/service-fabric-clusters.png differ
diff --git a/resources/azure/compute/shared-image-galleries.png b/resources/azure/compute/shared-image-galleries.png
new file mode 100644
index 000000000..364a0915d
Binary files /dev/null and b/resources/azure/compute/shared-image-galleries.png differ
diff --git a/resources/azure/compute/spring-cloud.png b/resources/azure/compute/spring-cloud.png
new file mode 100644
index 000000000..58fae8154
Binary files /dev/null and b/resources/azure/compute/spring-cloud.png differ
diff --git a/resources/azure/compute/vm-classic.png b/resources/azure/compute/vm-classic.png
index e470d3a38..70cced29f 100644
Binary files a/resources/azure/compute/vm-classic.png and b/resources/azure/compute/vm-classic.png differ
diff --git a/resources/azure/compute/vm-images.png b/resources/azure/compute/vm-images.png
index 42ed01785..fbbcf8e12 100644
Binary files a/resources/azure/compute/vm-images.png and b/resources/azure/compute/vm-images.png differ
diff --git a/resources/azure/compute/vm-scale-set.png b/resources/azure/compute/vm-scale-set.png
new file mode 100644
index 000000000..d2deec750
Binary files /dev/null and b/resources/azure/compute/vm-scale-set.png differ
diff --git a/resources/azure/compute/vm.png b/resources/azure/compute/vm.png
index 5c4194763..99a055703 100644
Binary files a/resources/azure/compute/vm.png and b/resources/azure/compute/vm.png differ
diff --git a/resources/azure/compute/workspaces.png b/resources/azure/compute/workspaces.png
new file mode 100644
index 000000000..fa399bfbc
Binary files /dev/null and b/resources/azure/compute/workspaces.png differ
diff --git a/resources/azure/database/cache-for-redis.png b/resources/azure/database/cache-for-redis.png
index cbe96de05..c3919b2a9 100644
Binary files a/resources/azure/database/cache-for-redis.png and b/resources/azure/database/cache-for-redis.png differ
diff --git a/resources/azure/database/cosmos-db.png b/resources/azure/database/cosmos-db.png
index bc9cdbb46..64b9796d4 100644
Binary files a/resources/azure/database/cosmos-db.png and b/resources/azure/database/cosmos-db.png differ
diff --git a/resources/azure/database/data-explorer-clusters.png b/resources/azure/database/data-explorer-clusters.png
new file mode 100644
index 000000000..cb317abc7
Binary files /dev/null and b/resources/azure/database/data-explorer-clusters.png differ
diff --git a/resources/azure/database/data-factory.png b/resources/azure/database/data-factory.png
new file mode 100644
index 000000000..78d97d26f
Binary files /dev/null and b/resources/azure/database/data-factory.png differ
diff --git a/resources/azure/database/database-for-mariadb-servers.png b/resources/azure/database/database-for-mariadb-servers.png
index d70238718..170251e13 100644
Binary files a/resources/azure/database/database-for-mariadb-servers.png and b/resources/azure/database/database-for-mariadb-servers.png differ
diff --git a/resources/azure/database/database-for-mysql-servers.png b/resources/azure/database/database-for-mysql-servers.png
index 26dce53a9..a70b63c0f 100644
Binary files a/resources/azure/database/database-for-mysql-servers.png and b/resources/azure/database/database-for-mysql-servers.png differ
diff --git a/resources/azure/database/database-for-postgresql-servers.png b/resources/azure/database/database-for-postgresql-servers.png
index c7c5f052b..91875ae0c 100644
Binary files a/resources/azure/database/database-for-postgresql-servers.png and b/resources/azure/database/database-for-postgresql-servers.png differ
diff --git a/resources/azure/database/elastic-database-pools.png b/resources/azure/database/elastic-database-pools.png
index b53ed5f5a..d5ed1d4a6 100644
Binary files a/resources/azure/database/elastic-database-pools.png and b/resources/azure/database/elastic-database-pools.png differ
diff --git a/resources/azure/database/elastic-job-agents.png b/resources/azure/database/elastic-job-agents.png
index 4af860319..dc82cee77 100644
Binary files a/resources/azure/database/elastic-job-agents.png and b/resources/azure/database/elastic-job-agents.png differ
diff --git a/resources/azure/database/instance-pools.png b/resources/azure/database/instance-pools.png
new file mode 100644
index 000000000..ccf662875
Binary files /dev/null and b/resources/azure/database/instance-pools.png differ
diff --git a/resources/azure/database/managed-databases.png b/resources/azure/database/managed-databases.png
index 00ab82567..2035ee34a 100644
Binary files a/resources/azure/database/managed-databases.png and b/resources/azure/database/managed-databases.png differ
diff --git a/resources/azure/database/sql-databases.png b/resources/azure/database/sql-databases.png
index b5da5a4bc..60d0f1698 100644
Binary files a/resources/azure/database/sql-databases.png and b/resources/azure/database/sql-databases.png differ
diff --git a/resources/azure/database/sql-datawarehouse.png b/resources/azure/database/sql-datawarehouse.png
index c712f9295..2aeeeeaa8 100644
Binary files a/resources/azure/database/sql-datawarehouse.png and b/resources/azure/database/sql-datawarehouse.png differ
diff --git a/resources/azure/database/sql-managed-instances.png b/resources/azure/database/sql-managed-instances.png
index 62f9fb857..2cfe47e7a 100644
Binary files a/resources/azure/database/sql-managed-instances.png and b/resources/azure/database/sql-managed-instances.png differ
diff --git a/resources/azure/database/sql-server-stretch-databases.png b/resources/azure/database/sql-server-stretch-databases.png
index 8aa364c52..2aeeeeaa8 100644
Binary files a/resources/azure/database/sql-server-stretch-databases.png and b/resources/azure/database/sql-server-stretch-databases.png differ
diff --git a/resources/azure/database/sql-servers.png b/resources/azure/database/sql-servers.png
index d76abf39a..a45391ba4 100644
Binary files a/resources/azure/database/sql-servers.png and b/resources/azure/database/sql-servers.png differ
diff --git a/resources/azure/database/sql-vm.png b/resources/azure/database/sql-vm.png
new file mode 100644
index 000000000..c7ce579d6
Binary files /dev/null and b/resources/azure/database/sql-vm.png differ
diff --git a/resources/azure/database/sql.png b/resources/azure/database/sql.png
new file mode 100644
index 000000000..d3b46f09b
Binary files /dev/null and b/resources/azure/database/sql.png differ
diff --git a/resources/azure/database/ssis-lift-and-shift-ir.png b/resources/azure/database/ssis-lift-and-shift-ir.png
new file mode 100644
index 000000000..8ff629c57
Binary files /dev/null and b/resources/azure/database/ssis-lift-and-shift-ir.png differ
diff --git a/resources/azure/database/synapse-analytics.png b/resources/azure/database/synapse-analytics.png
new file mode 100644
index 000000000..7966c3255
Binary files /dev/null and b/resources/azure/database/synapse-analytics.png differ
diff --git a/resources/azure/database/virtual-clusters.png b/resources/azure/database/virtual-clusters.png
index ca559883b..c676bd50e 100644
Binary files a/resources/azure/database/virtual-clusters.png and b/resources/azure/database/virtual-clusters.png differ
diff --git a/resources/azure/devops/application-insights.png b/resources/azure/devops/application-insights.png
index 58d8f7edb..f80e01731 100644
Binary files a/resources/azure/devops/application-insights.png and b/resources/azure/devops/application-insights.png differ
diff --git a/resources/azure/devops/devtest-labs.png b/resources/azure/devops/devtest-labs.png
index 7f64b581b..75b82c12e 100644
Binary files a/resources/azure/devops/devtest-labs.png and b/resources/azure/devops/devtest-labs.png differ
diff --git a/resources/azure/devops/lab-services.png b/resources/azure/devops/lab-services.png
new file mode 100644
index 000000000..abbe48da3
Binary files /dev/null and b/resources/azure/devops/lab-services.png differ
diff --git a/resources/azure/general/allresources.png b/resources/azure/general/allresources.png
index f2d945531..d2b2ccc72 100644
Binary files a/resources/azure/general/allresources.png and b/resources/azure/general/allresources.png differ
diff --git a/resources/azure/general/helpsupport.png b/resources/azure/general/helpsupport.png
index d975d146f..d5172d375 100644
Binary files a/resources/azure/general/helpsupport.png and b/resources/azure/general/helpsupport.png differ
diff --git a/resources/azure/general/information.png b/resources/azure/general/information.png
index 3d0e8acad..34af9729d 100644
Binary files a/resources/azure/general/information.png and b/resources/azure/general/information.png differ
diff --git a/resources/azure/general/managementgroups.png b/resources/azure/general/managementgroups.png
index 1322348d7..94044f40f 100644
Binary files a/resources/azure/general/managementgroups.png and b/resources/azure/general/managementgroups.png differ
diff --git a/resources/azure/general/marketplace.png b/resources/azure/general/marketplace.png
index 1217b9d4e..311506f46 100644
Binary files a/resources/azure/general/marketplace.png and b/resources/azure/general/marketplace.png differ
diff --git a/resources/azure/general/quickstartcenter.png b/resources/azure/general/quickstartcenter.png
index c3aaa53cf..8a8d92ee9 100644
Binary files a/resources/azure/general/quickstartcenter.png and b/resources/azure/general/quickstartcenter.png differ
diff --git a/resources/azure/general/recent.png b/resources/azure/general/recent.png
index c4389d188..7d7fb4a49 100644
Binary files a/resources/azure/general/recent.png and b/resources/azure/general/recent.png differ
diff --git a/resources/azure/general/reservations.png b/resources/azure/general/reservations.png
index 2f4ba07e6..ec2ebad69 100644
Binary files a/resources/azure/general/reservations.png and b/resources/azure/general/reservations.png differ
diff --git a/resources/azure/general/resourcegroups.png b/resources/azure/general/resourcegroups.png
index eff189d95..f0177acff 100644
Binary files a/resources/azure/general/resourcegroups.png and b/resources/azure/general/resourcegroups.png differ
diff --git a/resources/azure/general/subscriptions.png b/resources/azure/general/subscriptions.png
index 72eed905f..9a510f987 100644
Binary files a/resources/azure/general/subscriptions.png and b/resources/azure/general/subscriptions.png differ
diff --git a/resources/azure/general/tag.png b/resources/azure/general/tag.png
index 92b7d10db..5d0ee16e8 100644
Binary files a/resources/azure/general/tag.png and b/resources/azure/general/tag.png differ
diff --git a/resources/azure/identity/active-directory-connect-health.png b/resources/azure/identity/active-directory-connect-health.png
index a39d673f5..5dea39e6e 100644
Binary files a/resources/azure/identity/active-directory-connect-health.png and b/resources/azure/identity/active-directory-connect-health.png differ
diff --git a/resources/azure/identity/active-directory.png b/resources/azure/identity/active-directory.png
index ed59b58aa..b12a71bb7 100644
Binary files a/resources/azure/identity/active-directory.png and b/resources/azure/identity/active-directory.png differ
diff --git a/resources/azure/identity/ad-b2c.png b/resources/azure/identity/ad-b2c.png
index 9269ae718..dab723f43 100644
Binary files a/resources/azure/identity/ad-b2c.png and b/resources/azure/identity/ad-b2c.png differ
diff --git a/resources/azure/identity/ad-domain-services.png b/resources/azure/identity/ad-domain-services.png
index 9eb472b99..c4056d91b 100644
Binary files a/resources/azure/identity/ad-domain-services.png and b/resources/azure/identity/ad-domain-services.png differ
diff --git a/resources/azure/identity/ad-identity-protection.png b/resources/azure/identity/ad-identity-protection.png
index 4d4f7a477..503df013c 100644
Binary files a/resources/azure/identity/ad-identity-protection.png and b/resources/azure/identity/ad-identity-protection.png differ
diff --git a/resources/azure/identity/app-registrations.png b/resources/azure/identity/app-registrations.png
index 9ba2c2bf5..755dc76ed 100644
Binary files a/resources/azure/identity/app-registrations.png and b/resources/azure/identity/app-registrations.png differ
diff --git a/resources/azure/identity/enterprise-applications.png b/resources/azure/identity/enterprise-applications.png
index efd78ea05..f14e0c982 100644
Binary files a/resources/azure/identity/enterprise-applications.png and b/resources/azure/identity/enterprise-applications.png differ
diff --git a/resources/azure/identity/groups.png b/resources/azure/identity/groups.png
new file mode 100644
index 000000000..b859b0149
Binary files /dev/null and b/resources/azure/identity/groups.png differ
diff --git a/resources/azure/identity/identity-governance.png b/resources/azure/identity/identity-governance.png
index b4eb671aa..fe46559a2 100644
Binary files a/resources/azure/identity/identity-governance.png and b/resources/azure/identity/identity-governance.png differ
diff --git a/resources/azure/identity/managed-identities.png b/resources/azure/identity/managed-identities.png
index 20c4093d9..d191007de 100644
Binary files a/resources/azure/identity/managed-identities.png and b/resources/azure/identity/managed-identities.png differ
diff --git a/resources/azure/identity/users.png b/resources/azure/identity/users.png
new file mode 100644
index 000000000..0da5d6d02
Binary files /dev/null and b/resources/azure/identity/users.png differ
diff --git a/resources/azure/integration/api-for-fhir.png b/resources/azure/integration/api-for-fhir.png
index c5b0a19a2..801d438b3 100644
Binary files a/resources/azure/integration/api-for-fhir.png and b/resources/azure/integration/api-for-fhir.png differ
diff --git a/resources/azure/integration/api-management.png b/resources/azure/integration/api-management.png
index 4889260e9..1d7db0b9b 100644
Binary files a/resources/azure/integration/api-management.png and b/resources/azure/integration/api-management.png differ
diff --git a/resources/azure/integration/data-catalog.png b/resources/azure/integration/data-catalog.png
index d3c2f6bf8..6f5715713 100644
Binary files a/resources/azure/integration/data-catalog.png and b/resources/azure/integration/data-catalog.png differ
diff --git a/resources/azure/integration/event-grid-domains.png b/resources/azure/integration/event-grid-domains.png
index 1d2906488..53e285a4b 100644
Binary files a/resources/azure/integration/event-grid-domains.png and b/resources/azure/integration/event-grid-domains.png differ
diff --git a/resources/azure/integration/event-grid-subscriptions.png b/resources/azure/integration/event-grid-subscriptions.png
index deaaa840d..53e285a4b 100644
Binary files a/resources/azure/integration/event-grid-subscriptions.png and b/resources/azure/integration/event-grid-subscriptions.png differ
diff --git a/resources/azure/integration/event-grid-topics.png b/resources/azure/integration/event-grid-topics.png
index f19379d33..04213c309 100644
Binary files a/resources/azure/integration/event-grid-topics.png and b/resources/azure/integration/event-grid-topics.png differ
diff --git a/resources/azure/integration/integration-accounts.png b/resources/azure/integration/integration-accounts.png
index cf3b83428..a729534f8 100644
Binary files a/resources/azure/integration/integration-accounts.png and b/resources/azure/integration/integration-accounts.png differ
diff --git a/resources/azure/integration/logic-apps.png b/resources/azure/integration/logic-apps.png
index 06369812f..b07f52c5d 100644
Binary files a/resources/azure/integration/logic-apps.png and b/resources/azure/integration/logic-apps.png differ
diff --git a/resources/azure/integration/partner-topic.png b/resources/azure/integration/partner-topic.png
new file mode 100644
index 000000000..0631a5583
Binary files /dev/null and b/resources/azure/integration/partner-topic.png differ
diff --git a/resources/azure/integration/service-bus-relays.png b/resources/azure/integration/service-bus-relays.png
index f936e8671..f255f05fa 100644
Binary files a/resources/azure/integration/service-bus-relays.png and b/resources/azure/integration/service-bus-relays.png differ
diff --git a/resources/azure/integration/software-as-a-service.png b/resources/azure/integration/software-as-a-service.png
index d44945f40..de893bc89 100644
Binary files a/resources/azure/integration/software-as-a-service.png and b/resources/azure/integration/software-as-a-service.png differ
diff --git a/resources/azure/integration/system-topic.png b/resources/azure/integration/system-topic.png
new file mode 100644
index 000000000..83e941b30
Binary files /dev/null and b/resources/azure/integration/system-topic.png differ
diff --git a/resources/azure/iot/device-provisioning-services.png b/resources/azure/iot/device-provisioning-services.png
index 95ce70262..f0fba925d 100644
Binary files a/resources/azure/iot/device-provisioning-services.png and b/resources/azure/iot/device-provisioning-services.png differ
diff --git a/resources/azure/iot/iot-central-applications.png b/resources/azure/iot/iot-central-applications.png
index e2e915138..0400504cc 100644
Binary files a/resources/azure/iot/iot-central-applications.png and b/resources/azure/iot/iot-central-applications.png differ
diff --git a/resources/azure/iot/iot-hub.png b/resources/azure/iot/iot-hub.png
index 198dec198..664bc23f4 100644
Binary files a/resources/azure/iot/iot-hub.png and b/resources/azure/iot/iot-hub.png differ
diff --git a/resources/azure/iot/maps.png b/resources/azure/iot/maps.png
index 1fcef3933..ed1c5e164 100644
Binary files a/resources/azure/iot/maps.png and b/resources/azure/iot/maps.png differ
diff --git a/resources/azure/iot/time-series-insights-environments.png b/resources/azure/iot/time-series-insights-environments.png
index 66f392348..8ddbc0ca7 100644
Binary files a/resources/azure/iot/time-series-insights-environments.png and b/resources/azure/iot/time-series-insights-environments.png differ
diff --git a/resources/azure/iot/time-series-insights-events-sources.png b/resources/azure/iot/time-series-insights-events-sources.png
index 4c4e716b7..80d33f6cb 100644
Binary files a/resources/azure/iot/time-series-insights-events-sources.png and b/resources/azure/iot/time-series-insights-events-sources.png differ
diff --git a/resources/azure/migration/data-box-edge.png b/resources/azure/migration/data-box-edge.png
new file mode 100644
index 000000000..76d556022
Binary files /dev/null and b/resources/azure/migration/data-box-edge.png differ
diff --git a/resources/azure/migration/data-box.png b/resources/azure/migration/data-box.png
new file mode 100644
index 000000000..b316d506e
Binary files /dev/null and b/resources/azure/migration/data-box.png differ
diff --git a/resources/azure/migration/database-migration-services.png b/resources/azure/migration/database-migration-services.png
index 95d699074..9f66d088e 100644
Binary files a/resources/azure/migration/database-migration-services.png and b/resources/azure/migration/database-migration-services.png differ
diff --git a/resources/azure/migration/migration-projects.png b/resources/azure/migration/migration-projects.png
index 1d9d553d0..71394c0bd 100644
Binary files a/resources/azure/migration/migration-projects.png and b/resources/azure/migration/migration-projects.png differ
diff --git a/resources/azure/migration/recovery-services-vaults.png b/resources/azure/migration/recovery-services-vaults.png
index a766c96ae..1275988ec 100644
Binary files a/resources/azure/migration/recovery-services-vaults.png and b/resources/azure/migration/recovery-services-vaults.png differ
diff --git a/resources/azure/ml/bot-services.png b/resources/azure/ml/bot-services.png
index f7c9f46c1..040367223 100644
Binary files a/resources/azure/ml/bot-services.png and b/resources/azure/ml/bot-services.png differ
diff --git a/resources/azure/ml/cognitive-services.png b/resources/azure/ml/cognitive-services.png
index 086812462..651f73031 100644
Binary files a/resources/azure/ml/cognitive-services.png and b/resources/azure/ml/cognitive-services.png differ
diff --git a/resources/azure/ml/machine-learning-studio-web-service-plans.png b/resources/azure/ml/machine-learning-studio-web-service-plans.png
index 1dbf0383f..e347017b1 100644
Binary files a/resources/azure/ml/machine-learning-studio-web-service-plans.png and b/resources/azure/ml/machine-learning-studio-web-service-plans.png differ
diff --git a/resources/azure/ml/machine-learning-studio-web-services.png b/resources/azure/ml/machine-learning-studio-web-services.png
index 77bfc1abe..6885fc3b2 100644
Binary files a/resources/azure/ml/machine-learning-studio-web-services.png and b/resources/azure/ml/machine-learning-studio-web-services.png differ
diff --git a/resources/azure/ml/machine-learning-studio-workspaces.png b/resources/azure/ml/machine-learning-studio-workspaces.png
index 7b98af9cb..781de23dd 100644
Binary files a/resources/azure/ml/machine-learning-studio-workspaces.png and b/resources/azure/ml/machine-learning-studio-workspaces.png differ
diff --git a/resources/azure/mobile/app-service---mobile.png b/resources/azure/mobile/app-service---mobile.png
deleted file mode 100644
index 28ec8b604..000000000
Binary files a/resources/azure/mobile/app-service---mobile.png and /dev/null differ
diff --git a/resources/azure/mobile/app-service-mobile.png b/resources/azure/mobile/app-service-mobile.png
new file mode 100644
index 000000000..a851bea36
Binary files /dev/null and b/resources/azure/mobile/app-service-mobile.png differ
diff --git a/resources/azure/mobile/mobile-engagement.png b/resources/azure/mobile/mobile-engagement.png
index d42a91bb7..fe02c590a 100644
Binary files a/resources/azure/mobile/mobile-engagement.png and b/resources/azure/mobile/mobile-engagement.png differ
diff --git a/resources/azure/mobile/notification-hubs.png b/resources/azure/mobile/notification-hubs.png
index 1d69e5049..ad3129f46 100644
Binary files a/resources/azure/mobile/notification-hubs.png and b/resources/azure/mobile/notification-hubs.png differ
diff --git a/resources/azure/network/application-gateway.png b/resources/azure/network/application-gateway.png
index a88f21c40..33b9bb601 100644
Binary files a/resources/azure/network/application-gateway.png and b/resources/azure/network/application-gateway.png differ
diff --git a/resources/azure/network/cdn-profiles.png b/resources/azure/network/cdn-profiles.png
index 9b1ca9e49..abf28b275 100644
Binary files a/resources/azure/network/cdn-profiles.png and b/resources/azure/network/cdn-profiles.png differ
diff --git a/resources/azure/network/connections.png b/resources/azure/network/connections.png
index cceef7a4b..ba2f81ff1 100644
Binary files a/resources/azure/network/connections.png and b/resources/azure/network/connections.png differ
diff --git a/resources/azure/network/ddos-protection-plans.png b/resources/azure/network/ddos-protection-plans.png
index 90a6a8896..a9f930032 100644
Binary files a/resources/azure/network/ddos-protection-plans.png and b/resources/azure/network/ddos-protection-plans.png differ
diff --git a/resources/azure/network/dns-zones.png b/resources/azure/network/dns-zones.png
index 37b8f0d51..cd0e05468 100644
Binary files a/resources/azure/network/dns-zones.png and b/resources/azure/network/dns-zones.png differ
diff --git a/resources/azure/network/expressroute-circuits.png b/resources/azure/network/expressroute-circuits.png
index 207646f61..cb86bb1e8 100644
Binary files a/resources/azure/network/expressroute-circuits.png and b/resources/azure/network/expressroute-circuits.png differ
diff --git a/resources/azure/network/firewall.png b/resources/azure/network/firewall.png
index dd8879ab8..d2f12c96d 100644
Binary files a/resources/azure/network/firewall.png and b/resources/azure/network/firewall.png differ
diff --git a/resources/azure/network/front-doors.png b/resources/azure/network/front-doors.png
index 0dc539d56..baa09faf1 100644
Binary files a/resources/azure/network/front-doors.png and b/resources/azure/network/front-doors.png differ
diff --git a/resources/azure/network/load-balancers.png b/resources/azure/network/load-balancers.png
index aa968112d..803c5225c 100644
Binary files a/resources/azure/network/load-balancers.png and b/resources/azure/network/load-balancers.png differ
diff --git a/resources/azure/network/local-network-gateways.png b/resources/azure/network/local-network-gateways.png
index 5a9d4223e..11e7bf9cc 100644
Binary files a/resources/azure/network/local-network-gateways.png and b/resources/azure/network/local-network-gateways.png differ
diff --git a/resources/azure/network/network-interfaces.png b/resources/azure/network/network-interfaces.png
index 1c4e0ba0c..c60606c94 100644
Binary files a/resources/azure/network/network-interfaces.png and b/resources/azure/network/network-interfaces.png differ
diff --git a/resources/azure/network/network-security-groups-classic.png b/resources/azure/network/network-security-groups-classic.png
index d9555caf9..4a7e8eeec 100644
Binary files a/resources/azure/network/network-security-groups-classic.png and b/resources/azure/network/network-security-groups-classic.png differ
diff --git a/resources/azure/network/network-watcher.png b/resources/azure/network/network-watcher.png
index 98a15adb9..1323f62c0 100644
Binary files a/resources/azure/network/network-watcher.png and b/resources/azure/network/network-watcher.png differ
diff --git a/resources/azure/network/public-ip-addresses.png b/resources/azure/network/public-ip-addresses.png
index f1c816094..2cb57240f 100644
Binary files a/resources/azure/network/public-ip-addresses.png and b/resources/azure/network/public-ip-addresses.png differ
diff --git a/resources/azure/network/reserved-ip-addresses-classic.png b/resources/azure/network/reserved-ip-addresses-classic.png
index 7a784120f..086da895a 100644
Binary files a/resources/azure/network/reserved-ip-addresses-classic.png and b/resources/azure/network/reserved-ip-addresses-classic.png differ
diff --git a/resources/azure/network/route-filters.png b/resources/azure/network/route-filters.png
index 92bcb5872..797b5119b 100644
Binary files a/resources/azure/network/route-filters.png and b/resources/azure/network/route-filters.png differ
diff --git a/resources/azure/network/route-tables.png b/resources/azure/network/route-tables.png
index 1c1ea36a8..9d7ff7790 100644
Binary files a/resources/azure/network/route-tables.png and b/resources/azure/network/route-tables.png differ
diff --git a/resources/azure/network/service-endpoint-policies.png b/resources/azure/network/service-endpoint-policies.png
index c13e57a73..e9fa41fe6 100644
Binary files a/resources/azure/network/service-endpoint-policies.png and b/resources/azure/network/service-endpoint-policies.png differ
diff --git a/resources/azure/network/traffic-manager-profiles.png b/resources/azure/network/traffic-manager-profiles.png
index 889a3d3f6..fa7fa8fe5 100644
Binary files a/resources/azure/network/traffic-manager-profiles.png and b/resources/azure/network/traffic-manager-profiles.png differ
diff --git a/resources/azure/network/virtual-network-classic.png b/resources/azure/network/virtual-network-classic.png
index 42a302597..587032496 100644
Binary files a/resources/azure/network/virtual-network-classic.png and b/resources/azure/network/virtual-network-classic.png differ
diff --git a/resources/azure/network/virtual-network-gateways.png b/resources/azure/network/virtual-network-gateways.png
index 9645786bb..5e66c9405 100644
Binary files a/resources/azure/network/virtual-network-gateways.png and b/resources/azure/network/virtual-network-gateways.png differ
diff --git a/resources/azure/network/virtual-networks.png b/resources/azure/network/virtual-networks.png
index 5066d26c6..d2f947bba 100644
Binary files a/resources/azure/network/virtual-networks.png and b/resources/azure/network/virtual-networks.png differ
diff --git a/resources/azure/network/virtual-wans.png b/resources/azure/network/virtual-wans.png
index fc5e589d5..58c172937 100644
Binary files a/resources/azure/network/virtual-wans.png and b/resources/azure/network/virtual-wans.png differ
diff --git a/resources/azure/security/application-security-groups.png b/resources/azure/security/application-security-groups.png
new file mode 100644
index 000000000..380666681
Binary files /dev/null and b/resources/azure/security/application-security-groups.png differ
diff --git a/resources/azure/security/conditional-access.png b/resources/azure/security/conditional-access.png
new file mode 100644
index 000000000..37d5ab173
Binary files /dev/null and b/resources/azure/security/conditional-access.png differ
diff --git a/resources/azure/security/defender.png b/resources/azure/security/defender.png
new file mode 100644
index 000000000..35ee099b1
Binary files /dev/null and b/resources/azure/security/defender.png differ
diff --git a/resources/azure/security/extended-security-updates.png b/resources/azure/security/extended-security-updates.png
new file mode 100644
index 000000000..b77dfda64
Binary files /dev/null and b/resources/azure/security/extended-security-updates.png differ
diff --git a/resources/azure/security/security-center.png b/resources/azure/security/security-center.png
index e0fa97e2b..2aef49913 100644
Binary files a/resources/azure/security/security-center.png and b/resources/azure/security/security-center.png differ
diff --git a/resources/azure/security/sentinel.png b/resources/azure/security/sentinel.png
index ecceee662..949a3a635 100644
Binary files a/resources/azure/security/sentinel.png and b/resources/azure/security/sentinel.png differ
diff --git a/resources/azure/storage/data-box-edge---data-box-gateway.png b/resources/azure/storage/data-box-edge---data-box-gateway.png
deleted file mode 100644
index 8eec00e43..000000000
Binary files a/resources/azure/storage/data-box-edge---data-box-gateway.png and /dev/null differ
diff --git a/resources/azure/storage/data-box-edge-data-box-gateway.png b/resources/azure/storage/data-box-edge-data-box-gateway.png
new file mode 100644
index 000000000..76d556022
Binary files /dev/null and b/resources/azure/storage/data-box-edge-data-box-gateway.png differ
diff --git a/resources/azure/storage/data-box.png b/resources/azure/storage/data-box.png
index c80eb2faf..b316d506e 100644
Binary files a/resources/azure/storage/data-box.png and b/resources/azure/storage/data-box.png differ
diff --git a/resources/azure/storage/netapp-files.png b/resources/azure/storage/netapp-files.png
index 84e1c6697..cda140e6b 100644
Binary files a/resources/azure/storage/netapp-files.png and b/resources/azure/storage/netapp-files.png differ
diff --git a/resources/azure/storage/storage-accounts-classic.png b/resources/azure/storage/storage-accounts-classic.png
index 81369a9e0..1379991dc 100644
Binary files a/resources/azure/storage/storage-accounts-classic.png and b/resources/azure/storage/storage-accounts-classic.png differ
diff --git a/resources/azure/storage/storage-accounts.png b/resources/azure/storage/storage-accounts.png
index 8f57412e2..61e3dd1c0 100644
Binary files a/resources/azure/storage/storage-accounts.png and b/resources/azure/storage/storage-accounts.png differ
diff --git a/resources/azure/storage/storage-sync-services.png b/resources/azure/storage/storage-sync-services.png
index c2ddfdaeb..6d22924a4 100644
Binary files a/resources/azure/storage/storage-sync-services.png and b/resources/azure/storage/storage-sync-services.png differ
diff --git a/resources/azure/storage/storsimple-data-managers.png b/resources/azure/storage/storsimple-data-managers.png
index 7f736062a..e66b8006d 100644
Binary files a/resources/azure/storage/storsimple-data-managers.png and b/resources/azure/storage/storsimple-data-managers.png differ
diff --git a/resources/azure/storage/storsimple-device-managers.png b/resources/azure/storage/storsimple-device-managers.png
index b29ce4558..35d26d878 100644
Binary files a/resources/azure/storage/storsimple-device-managers.png and b/resources/azure/storage/storsimple-device-managers.png differ
diff --git a/resources/azure/web/app-service-certificates.png b/resources/azure/web/app-service-certificates.png
index 66e533f93..1c63f1262 100644
Binary files a/resources/azure/web/app-service-certificates.png and b/resources/azure/web/app-service-certificates.png differ
diff --git a/resources/azure/web/app-service-domains.png b/resources/azure/web/app-service-domains.png
index 26b3b7999..afeea0c02 100644
Binary files a/resources/azure/web/app-service-domains.png and b/resources/azure/web/app-service-domains.png differ
diff --git a/resources/azure/web/app-service-environments.png b/resources/azure/web/app-service-environments.png
index 39c7a5f49..6f764a289 100644
Binary files a/resources/azure/web/app-service-environments.png and b/resources/azure/web/app-service-environments.png differ
diff --git a/resources/azure/web/app-service-plans.png b/resources/azure/web/app-service-plans.png
index 65d774daa..1be8fe617 100644
Binary files a/resources/azure/web/app-service-plans.png and b/resources/azure/web/app-service-plans.png differ
diff --git a/resources/azure/web/app-services.png b/resources/azure/web/app-services.png
index 2cb88f603..f7ca7fb08 100644
Binary files a/resources/azure/web/app-services.png and b/resources/azure/web/app-services.png differ
diff --git a/resources/azure/web/media-services.png b/resources/azure/web/media-services.png
index 38001ecc9..f787f0f64 100644
Binary files a/resources/azure/web/media-services.png and b/resources/azure/web/media-services.png differ
diff --git a/resources/azure/web/notification-hub-namespaces.png b/resources/azure/web/notification-hub-namespaces.png
index 1d69e5049..ad3129f46 100644
Binary files a/resources/azure/web/notification-hub-namespaces.png and b/resources/azure/web/notification-hub-namespaces.png differ
diff --git a/resources/azure/web/search.png b/resources/azure/web/search.png
index 5cd48eed7..c92d6582e 100644
Binary files a/resources/azure/web/search.png and b/resources/azure/web/search.png differ
diff --git a/resources/gcp/operations/monitoring.png b/resources/gcp/operations/monitoring.png
new file mode 100644
index 000000000..427babb76
Binary files /dev/null and b/resources/gcp/operations/monitoring.png differ
diff --git a/resources/ibm/analytics/analytics.png b/resources/ibm/analytics/analytics.png
new file mode 100644
index 000000000..5a0b024a3
Binary files /dev/null and b/resources/ibm/analytics/analytics.png differ
diff --git a/resources/ibm/analytics/data-integration.png b/resources/ibm/analytics/data-integration.png
new file mode 100644
index 000000000..6cba3f02f
Binary files /dev/null and b/resources/ibm/analytics/data-integration.png differ
diff --git a/resources/ibm/analytics/data-repositories.png b/resources/ibm/analytics/data-repositories.png
new file mode 100644
index 000000000..cd511228e
Binary files /dev/null and b/resources/ibm/analytics/data-repositories.png differ
diff --git a/resources/ibm/analytics/device-analytics.png b/resources/ibm/analytics/device-analytics.png
new file mode 100644
index 000000000..1f3109a24
Binary files /dev/null and b/resources/ibm/analytics/device-analytics.png differ
diff --git a/resources/ibm/analytics/streaming-computing.png b/resources/ibm/analytics/streaming-computing.png
new file mode 100644
index 000000000..4eced1065
Binary files /dev/null and b/resources/ibm/analytics/streaming-computing.png differ
diff --git a/resources/ibm/applications/actionable-insight.png b/resources/ibm/applications/actionable-insight.png
new file mode 100644
index 000000000..6cc05e129
Binary files /dev/null and b/resources/ibm/applications/actionable-insight.png differ
diff --git a/resources/ibm/applications/annotate.png b/resources/ibm/applications/annotate.png
new file mode 100644
index 000000000..07a7c9ae3
Binary files /dev/null and b/resources/ibm/applications/annotate.png differ
diff --git a/resources/ibm/applications/api-developer-portal.png b/resources/ibm/applications/api-developer-portal.png
new file mode 100644
index 000000000..e16d3dd12
Binary files /dev/null and b/resources/ibm/applications/api-developer-portal.png differ
diff --git a/resources/ibm/applications/api-polyglot-runtimes.png b/resources/ibm/applications/api-polyglot-runtimes.png
new file mode 100644
index 000000000..fc8de117e
Binary files /dev/null and b/resources/ibm/applications/api-polyglot-runtimes.png differ
diff --git a/resources/ibm/applications/app-server.png b/resources/ibm/applications/app-server.png
new file mode 100644
index 000000000..00b431459
Binary files /dev/null and b/resources/ibm/applications/app-server.png differ
diff --git a/resources/ibm/applications/application-logic.png b/resources/ibm/applications/application-logic.png
new file mode 100644
index 000000000..4d6c19fbc
Binary files /dev/null and b/resources/ibm/applications/application-logic.png differ
diff --git a/resources/ibm/applications/enterprise-applications.png b/resources/ibm/applications/enterprise-applications.png
new file mode 100644
index 000000000..e42badeab
Binary files /dev/null and b/resources/ibm/applications/enterprise-applications.png differ
diff --git a/resources/ibm/applications/index.png b/resources/ibm/applications/index.png
new file mode 100644
index 000000000..82966910f
Binary files /dev/null and b/resources/ibm/applications/index.png differ
diff --git a/resources/ibm/applications/iot-application.png b/resources/ibm/applications/iot-application.png
new file mode 100644
index 000000000..38a03e675
Binary files /dev/null and b/resources/ibm/applications/iot-application.png differ
diff --git a/resources/ibm/applications/microservice.png b/resources/ibm/applications/microservice.png
new file mode 100644
index 000000000..e0bbd371d
Binary files /dev/null and b/resources/ibm/applications/microservice.png differ
diff --git a/resources/ibm/applications/mobile-app.png b/resources/ibm/applications/mobile-app.png
new file mode 100644
index 000000000..523aa4986
Binary files /dev/null and b/resources/ibm/applications/mobile-app.png differ
diff --git a/resources/ibm/applications/ontology.png b/resources/ibm/applications/ontology.png
new file mode 100644
index 000000000..5ea679c89
Binary files /dev/null and b/resources/ibm/applications/ontology.png differ
diff --git a/resources/ibm/applications/open-source-tools.png b/resources/ibm/applications/open-source-tools.png
new file mode 100644
index 000000000..da9e0c05c
Binary files /dev/null and b/resources/ibm/applications/open-source-tools.png differ
diff --git a/resources/ibm/applications/runtime-services.png b/resources/ibm/applications/runtime-services.png
new file mode 100644
index 000000000..c70dbace1
Binary files /dev/null and b/resources/ibm/applications/runtime-services.png differ
diff --git a/resources/ibm/applications/saas-applications.png b/resources/ibm/applications/saas-applications.png
new file mode 100644
index 000000000..2250997b0
Binary files /dev/null and b/resources/ibm/applications/saas-applications.png differ
diff --git a/resources/ibm/applications/service-broker.png b/resources/ibm/applications/service-broker.png
new file mode 100644
index 000000000..218b3b75a
Binary files /dev/null and b/resources/ibm/applications/service-broker.png differ
diff --git a/resources/ibm/applications/speech-to-text.png b/resources/ibm/applications/speech-to-text.png
new file mode 100644
index 000000000..23988abae
Binary files /dev/null and b/resources/ibm/applications/speech-to-text.png differ
diff --git a/resources/ibm/applications/visual-recognition.png b/resources/ibm/applications/visual-recognition.png
new file mode 100644
index 000000000..44939c5b3
Binary files /dev/null and b/resources/ibm/applications/visual-recognition.png differ
diff --git a/resources/ibm/applications/visualization.png b/resources/ibm/applications/visualization.png
new file mode 100644
index 000000000..c0ae690a6
Binary files /dev/null and b/resources/ibm/applications/visualization.png differ
diff --git a/resources/ibm/blockchain/blockchain-developer.png b/resources/ibm/blockchain/blockchain-developer.png
new file mode 100644
index 000000000..d535ac192
Binary files /dev/null and b/resources/ibm/blockchain/blockchain-developer.png differ
diff --git a/resources/ibm/blockchain/blockchain.png b/resources/ibm/blockchain/blockchain.png
new file mode 100644
index 000000000..db0af98c4
Binary files /dev/null and b/resources/ibm/blockchain/blockchain.png differ
diff --git a/resources/ibm/blockchain/certificate-authority.png b/resources/ibm/blockchain/certificate-authority.png
new file mode 100644
index 000000000..8d5964a16
Binary files /dev/null and b/resources/ibm/blockchain/certificate-authority.png differ
diff --git a/resources/ibm/blockchain/client-application.png b/resources/ibm/blockchain/client-application.png
new file mode 100644
index 000000000..07c970362
Binary files /dev/null and b/resources/ibm/blockchain/client-application.png differ
diff --git a/resources/ibm/blockchain/communication.png b/resources/ibm/blockchain/communication.png
new file mode 100644
index 000000000..a50ed8746
Binary files /dev/null and b/resources/ibm/blockchain/communication.png differ
diff --git a/resources/ibm/blockchain/consensus.png b/resources/ibm/blockchain/consensus.png
new file mode 100644
index 000000000..764baac39
Binary files /dev/null and b/resources/ibm/blockchain/consensus.png differ
diff --git a/resources/ibm/blockchain/event-listener.png b/resources/ibm/blockchain/event-listener.png
new file mode 100644
index 000000000..9b025810f
Binary files /dev/null and b/resources/ibm/blockchain/event-listener.png differ
diff --git a/resources/ibm/blockchain/event.png b/resources/ibm/blockchain/event.png
new file mode 100644
index 000000000..1b7a39cdf
Binary files /dev/null and b/resources/ibm/blockchain/event.png differ
diff --git a/resources/ibm/blockchain/existing-enterprise-systems.png b/resources/ibm/blockchain/existing-enterprise-systems.png
new file mode 100644
index 000000000..41a18046f
Binary files /dev/null and b/resources/ibm/blockchain/existing-enterprise-systems.png differ
diff --git a/resources/ibm/blockchain/hyperledger-fabric.png b/resources/ibm/blockchain/hyperledger-fabric.png
new file mode 100644
index 000000000..916c22fd2
Binary files /dev/null and b/resources/ibm/blockchain/hyperledger-fabric.png differ
diff --git a/resources/ibm/blockchain/key-management.png b/resources/ibm/blockchain/key-management.png
new file mode 100644
index 000000000..9b81f4311
Binary files /dev/null and b/resources/ibm/blockchain/key-management.png differ
diff --git a/resources/ibm/blockchain/ledger.png b/resources/ibm/blockchain/ledger.png
new file mode 100644
index 000000000..4bb718b05
Binary files /dev/null and b/resources/ibm/blockchain/ledger.png differ
diff --git a/resources/ibm/blockchain/membership-services-provider-api.png b/resources/ibm/blockchain/membership-services-provider-api.png
new file mode 100644
index 000000000..790113f47
Binary files /dev/null and b/resources/ibm/blockchain/membership-services-provider-api.png differ
diff --git a/resources/ibm/blockchain/membership.png b/resources/ibm/blockchain/membership.png
new file mode 100644
index 000000000..c3ad05fba
Binary files /dev/null and b/resources/ibm/blockchain/membership.png differ
diff --git a/resources/ibm/blockchain/message-bus.png b/resources/ibm/blockchain/message-bus.png
new file mode 100644
index 000000000..807a14cfa
Binary files /dev/null and b/resources/ibm/blockchain/message-bus.png differ
diff --git a/resources/ibm/blockchain/node.png b/resources/ibm/blockchain/node.png
new file mode 100644
index 000000000..332c881a8
Binary files /dev/null and b/resources/ibm/blockchain/node.png differ
diff --git a/resources/ibm/blockchain/services.png b/resources/ibm/blockchain/services.png
new file mode 100644
index 000000000..9797f56ee
Binary files /dev/null and b/resources/ibm/blockchain/services.png differ
diff --git a/resources/ibm/blockchain/smart-contract.png b/resources/ibm/blockchain/smart-contract.png
new file mode 100644
index 000000000..555082180
Binary files /dev/null and b/resources/ibm/blockchain/smart-contract.png differ
diff --git a/resources/ibm/blockchain/transaction-manager.png b/resources/ibm/blockchain/transaction-manager.png
new file mode 100644
index 000000000..bb85a47a4
Binary files /dev/null and b/resources/ibm/blockchain/transaction-manager.png differ
diff --git a/resources/ibm/blockchain/wallet.png b/resources/ibm/blockchain/wallet.png
new file mode 100644
index 000000000..772e2c86b
Binary files /dev/null and b/resources/ibm/blockchain/wallet.png differ
diff --git a/resources/ibm/compute/bare-metal-server.png b/resources/ibm/compute/bare-metal-server.png
new file mode 100644
index 000000000..3dd53a056
Binary files /dev/null and b/resources/ibm/compute/bare-metal-server.png differ
diff --git a/resources/ibm/compute/image-service.png b/resources/ibm/compute/image-service.png
new file mode 100644
index 000000000..c64c97f64
Binary files /dev/null and b/resources/ibm/compute/image-service.png differ
diff --git a/resources/ibm/compute/instance.png b/resources/ibm/compute/instance.png
new file mode 100644
index 000000000..c606725fc
Binary files /dev/null and b/resources/ibm/compute/instance.png differ
diff --git a/resources/ibm/compute/key.png b/resources/ibm/compute/key.png
new file mode 100644
index 000000000..332bd123f
Binary files /dev/null and b/resources/ibm/compute/key.png differ
diff --git a/resources/ibm/compute/power-instance.png b/resources/ibm/compute/power-instance.png
new file mode 100644
index 000000000..2441e6de6
Binary files /dev/null and b/resources/ibm/compute/power-instance.png differ
diff --git a/resources/ibm/data/caches.png b/resources/ibm/data/caches.png
new file mode 100644
index 000000000..aef8a63c5
Binary files /dev/null and b/resources/ibm/data/caches.png differ
diff --git a/resources/ibm/data/cloud.png b/resources/ibm/data/cloud.png
new file mode 100644
index 000000000..3f97fa1d0
Binary files /dev/null and b/resources/ibm/data/cloud.png differ
diff --git a/resources/ibm/data/conversation-trained-deployed.png b/resources/ibm/data/conversation-trained-deployed.png
new file mode 100644
index 000000000..0df3a8625
Binary files /dev/null and b/resources/ibm/data/conversation-trained-deployed.png differ
diff --git a/resources/ibm/data/data-services.png b/resources/ibm/data/data-services.png
new file mode 100644
index 000000000..0969f7485
Binary files /dev/null and b/resources/ibm/data/data-services.png differ
diff --git a/resources/ibm/data/data-sources.png b/resources/ibm/data/data-sources.png
new file mode 100644
index 000000000..93fdfc704
Binary files /dev/null and b/resources/ibm/data/data-sources.png differ
diff --git a/resources/ibm/data/device-identity-service.png b/resources/ibm/data/device-identity-service.png
new file mode 100644
index 000000000..6e900e698
Binary files /dev/null and b/resources/ibm/data/device-identity-service.png differ
diff --git a/resources/ibm/data/device-registry.png b/resources/ibm/data/device-registry.png
new file mode 100644
index 000000000..daffdb888
Binary files /dev/null and b/resources/ibm/data/device-registry.png differ
diff --git a/resources/ibm/data/enterprise-data.png b/resources/ibm/data/enterprise-data.png
new file mode 100644
index 000000000..767c3dde6
Binary files /dev/null and b/resources/ibm/data/enterprise-data.png differ
diff --git a/resources/ibm/data/enterprise-user-directory.png b/resources/ibm/data/enterprise-user-directory.png
new file mode 100644
index 000000000..e55d76a69
Binary files /dev/null and b/resources/ibm/data/enterprise-user-directory.png differ
diff --git a/resources/ibm/data/file-repository.png b/resources/ibm/data/file-repository.png
new file mode 100644
index 000000000..f39e948f5
Binary files /dev/null and b/resources/ibm/data/file-repository.png differ
diff --git a/resources/ibm/data/ground-truth.png b/resources/ibm/data/ground-truth.png
new file mode 100644
index 000000000..8dc410f26
Binary files /dev/null and b/resources/ibm/data/ground-truth.png differ
diff --git a/resources/ibm/data/model.png b/resources/ibm/data/model.png
new file mode 100644
index 000000000..7cc6b8ce7
Binary files /dev/null and b/resources/ibm/data/model.png differ
diff --git a/resources/ibm/data/tms-data-interface.png b/resources/ibm/data/tms-data-interface.png
new file mode 100644
index 000000000..b88e20f97
Binary files /dev/null and b/resources/ibm/data/tms-data-interface.png differ
diff --git a/resources/ibm/devops/artifact-management.png b/resources/ibm/devops/artifact-management.png
new file mode 100644
index 000000000..45be3b100
Binary files /dev/null and b/resources/ibm/devops/artifact-management.png differ
diff --git a/resources/ibm/devops/build-test.png b/resources/ibm/devops/build-test.png
new file mode 100644
index 000000000..f84ca4378
Binary files /dev/null and b/resources/ibm/devops/build-test.png differ
diff --git a/resources/ibm/devops/code-editor.png b/resources/ibm/devops/code-editor.png
new file mode 100644
index 000000000..e7dabbde9
Binary files /dev/null and b/resources/ibm/devops/code-editor.png differ
diff --git a/resources/ibm/devops/collaborative-development.png b/resources/ibm/devops/collaborative-development.png
new file mode 100644
index 000000000..32e68e951
Binary files /dev/null and b/resources/ibm/devops/collaborative-development.png differ
diff --git a/resources/ibm/devops/configuration-management.png b/resources/ibm/devops/configuration-management.png
new file mode 100644
index 000000000..e80c25e5c
Binary files /dev/null and b/resources/ibm/devops/configuration-management.png differ
diff --git a/resources/ibm/devops/continuous-deploy.png b/resources/ibm/devops/continuous-deploy.png
new file mode 100644
index 000000000..6f10680c0
Binary files /dev/null and b/resources/ibm/devops/continuous-deploy.png differ
diff --git a/resources/ibm/devops/continuous-testing.png b/resources/ibm/devops/continuous-testing.png
new file mode 100644
index 000000000..a97fe57cf
Binary files /dev/null and b/resources/ibm/devops/continuous-testing.png differ
diff --git a/resources/ibm/devops/devops.png b/resources/ibm/devops/devops.png
new file mode 100644
index 000000000..f66200676
Binary files /dev/null and b/resources/ibm/devops/devops.png differ
diff --git a/resources/ibm/devops/provision.png b/resources/ibm/devops/provision.png
new file mode 100644
index 000000000..1b6edb84c
Binary files /dev/null and b/resources/ibm/devops/provision.png differ
diff --git a/resources/ibm/devops/release-management.png b/resources/ibm/devops/release-management.png
new file mode 100644
index 000000000..99d8f78d2
Binary files /dev/null and b/resources/ibm/devops/release-management.png differ
diff --git a/resources/ibm/general/cloud-messaging.png b/resources/ibm/general/cloud-messaging.png
new file mode 100644
index 000000000..f0d82943c
Binary files /dev/null and b/resources/ibm/general/cloud-messaging.png differ
diff --git a/resources/ibm/general/cloud-services.png b/resources/ibm/general/cloud-services.png
new file mode 100644
index 000000000..01b3fa397
Binary files /dev/null and b/resources/ibm/general/cloud-services.png differ
diff --git a/resources/ibm/general/cloudant.png b/resources/ibm/general/cloudant.png
new file mode 100644
index 000000000..7b62f807f
Binary files /dev/null and b/resources/ibm/general/cloudant.png differ
diff --git a/resources/ibm/general/cognitive-services.png b/resources/ibm/general/cognitive-services.png
new file mode 100644
index 000000000..51ff39b91
Binary files /dev/null and b/resources/ibm/general/cognitive-services.png differ
diff --git a/resources/ibm/general/data-security.png b/resources/ibm/general/data-security.png
new file mode 100644
index 000000000..a9471728c
Binary files /dev/null and b/resources/ibm/general/data-security.png differ
diff --git a/resources/ibm/general/enterprise.png b/resources/ibm/general/enterprise.png
new file mode 100644
index 000000000..6cc347904
Binary files /dev/null and b/resources/ibm/general/enterprise.png differ
diff --git a/resources/ibm/general/governance-risk-compliance.png b/resources/ibm/general/governance-risk-compliance.png
new file mode 100644
index 000000000..af4c2c9c9
Binary files /dev/null and b/resources/ibm/general/governance-risk-compliance.png differ
diff --git a/resources/ibm/general/ibm-containers.png b/resources/ibm/general/ibm-containers.png
new file mode 100644
index 000000000..216eae210
Binary files /dev/null and b/resources/ibm/general/ibm-containers.png differ
diff --git a/resources/ibm/general/ibm-public-cloud.png b/resources/ibm/general/ibm-public-cloud.png
new file mode 100644
index 000000000..ae95534bd
Binary files /dev/null and b/resources/ibm/general/ibm-public-cloud.png differ
diff --git a/resources/ibm/general/identity-access-management.png b/resources/ibm/general/identity-access-management.png
new file mode 100644
index 000000000..ed499fe4b
Binary files /dev/null and b/resources/ibm/general/identity-access-management.png differ
diff --git a/resources/ibm/general/identity-provider.png b/resources/ibm/general/identity-provider.png
new file mode 100644
index 000000000..0eca324ae
Binary files /dev/null and b/resources/ibm/general/identity-provider.png differ
diff --git a/resources/ibm/general/infrastructure-security.png b/resources/ibm/general/infrastructure-security.png
new file mode 100644
index 000000000..660b93b4b
Binary files /dev/null and b/resources/ibm/general/infrastructure-security.png differ
diff --git a/resources/ibm/general/internet.png b/resources/ibm/general/internet.png
new file mode 100644
index 000000000..917144675
Binary files /dev/null and b/resources/ibm/general/internet.png differ
diff --git a/resources/ibm/general/iot-cloud.png b/resources/ibm/general/iot-cloud.png
new file mode 100644
index 000000000..990fdc9f0
Binary files /dev/null and b/resources/ibm/general/iot-cloud.png differ
diff --git a/resources/ibm/general/microservices-application.png b/resources/ibm/general/microservices-application.png
new file mode 100644
index 000000000..3ddbe1086
Binary files /dev/null and b/resources/ibm/general/microservices-application.png differ
diff --git a/resources/ibm/general/microservices-mesh.png b/resources/ibm/general/microservices-mesh.png
new file mode 100644
index 000000000..0b57d52cc
Binary files /dev/null and b/resources/ibm/general/microservices-mesh.png differ
diff --git a/resources/ibm/general/monitoring-logging.png b/resources/ibm/general/monitoring-logging.png
new file mode 100644
index 000000000..33de7743e
Binary files /dev/null and b/resources/ibm/general/monitoring-logging.png differ
diff --git a/resources/ibm/general/monitoring.png b/resources/ibm/general/monitoring.png
new file mode 100644
index 000000000..1c2946d58
Binary files /dev/null and b/resources/ibm/general/monitoring.png differ
diff --git a/resources/ibm/general/object-storage.png b/resources/ibm/general/object-storage.png
new file mode 100644
index 000000000..ad26d4c48
Binary files /dev/null and b/resources/ibm/general/object-storage.png differ
diff --git a/resources/ibm/general/offline-capabilities.png b/resources/ibm/general/offline-capabilities.png
new file mode 100644
index 000000000..f36cd2ade
Binary files /dev/null and b/resources/ibm/general/offline-capabilities.png differ
diff --git a/resources/ibm/general/openwhisk.png b/resources/ibm/general/openwhisk.png
new file mode 100644
index 000000000..3eb6c02df
Binary files /dev/null and b/resources/ibm/general/openwhisk.png differ
diff --git a/resources/ibm/general/peer-cloud.png b/resources/ibm/general/peer-cloud.png
new file mode 100644
index 000000000..cf1121cbc
Binary files /dev/null and b/resources/ibm/general/peer-cloud.png differ
diff --git a/resources/ibm/general/retrieve-rank.png b/resources/ibm/general/retrieve-rank.png
new file mode 100644
index 000000000..14d8b828f
Binary files /dev/null and b/resources/ibm/general/retrieve-rank.png differ
diff --git a/resources/ibm/general/scalable.png b/resources/ibm/general/scalable.png
new file mode 100644
index 000000000..729b6169b
Binary files /dev/null and b/resources/ibm/general/scalable.png differ
diff --git a/resources/ibm/general/service-discovery-configuration.png b/resources/ibm/general/service-discovery-configuration.png
new file mode 100644
index 000000000..493e20ab0
Binary files /dev/null and b/resources/ibm/general/service-discovery-configuration.png differ
diff --git a/resources/ibm/general/text-to-speech.png b/resources/ibm/general/text-to-speech.png
new file mode 100644
index 000000000..f4f2302f7
Binary files /dev/null and b/resources/ibm/general/text-to-speech.png differ
diff --git a/resources/ibm/general/transformation-connectivity.png b/resources/ibm/general/transformation-connectivity.png
new file mode 100644
index 000000000..e0afec520
Binary files /dev/null and b/resources/ibm/general/transformation-connectivity.png differ
diff --git a/resources/ibm/infrastructure/channels.png b/resources/ibm/infrastructure/channels.png
new file mode 100644
index 000000000..62cbd9800
Binary files /dev/null and b/resources/ibm/infrastructure/channels.png differ
diff --git a/resources/ibm/infrastructure/cloud-messaging.png b/resources/ibm/infrastructure/cloud-messaging.png
new file mode 100644
index 000000000..2fb1d6784
Binary files /dev/null and b/resources/ibm/infrastructure/cloud-messaging.png differ
diff --git a/resources/ibm/infrastructure/dashboard.png b/resources/ibm/infrastructure/dashboard.png
new file mode 100644
index 000000000..1bda27ce1
Binary files /dev/null and b/resources/ibm/infrastructure/dashboard.png differ
diff --git a/resources/ibm/infrastructure/diagnostics.png b/resources/ibm/infrastructure/diagnostics.png
new file mode 100644
index 000000000..2032935d3
Binary files /dev/null and b/resources/ibm/infrastructure/diagnostics.png differ
diff --git a/resources/ibm/infrastructure/edge-services.png b/resources/ibm/infrastructure/edge-services.png
new file mode 100644
index 000000000..05a127a0e
Binary files /dev/null and b/resources/ibm/infrastructure/edge-services.png differ
diff --git a/resources/ibm/infrastructure/enterprise-messaging.png b/resources/ibm/infrastructure/enterprise-messaging.png
new file mode 100644
index 000000000..04b2f16cf
Binary files /dev/null and b/resources/ibm/infrastructure/enterprise-messaging.png differ
diff --git a/resources/ibm/infrastructure/event-feed.png b/resources/ibm/infrastructure/event-feed.png
new file mode 100644
index 000000000..bf4744122
Binary files /dev/null and b/resources/ibm/infrastructure/event-feed.png differ
diff --git a/resources/ibm/infrastructure/infrastructure-services.png b/resources/ibm/infrastructure/infrastructure-services.png
new file mode 100644
index 000000000..33719df20
Binary files /dev/null and b/resources/ibm/infrastructure/infrastructure-services.png differ
diff --git a/resources/ibm/infrastructure/interservice-communication.png b/resources/ibm/infrastructure/interservice-communication.png
new file mode 100644
index 000000000..9de547334
Binary files /dev/null and b/resources/ibm/infrastructure/interservice-communication.png differ
diff --git a/resources/ibm/infrastructure/load-balancing-routing.png b/resources/ibm/infrastructure/load-balancing-routing.png
new file mode 100644
index 000000000..b6eb6172a
Binary files /dev/null and b/resources/ibm/infrastructure/load-balancing-routing.png differ
diff --git a/resources/ibm/infrastructure/microservices-mesh.png b/resources/ibm/infrastructure/microservices-mesh.png
new file mode 100644
index 000000000..c492d17ef
Binary files /dev/null and b/resources/ibm/infrastructure/microservices-mesh.png differ
diff --git a/resources/ibm/infrastructure/mobile-backend.png b/resources/ibm/infrastructure/mobile-backend.png
new file mode 100644
index 000000000..d6b154e6f
Binary files /dev/null and b/resources/ibm/infrastructure/mobile-backend.png differ
diff --git a/resources/ibm/infrastructure/mobile-provider-network.png b/resources/ibm/infrastructure/mobile-provider-network.png
new file mode 100644
index 000000000..9080cda4f
Binary files /dev/null and b/resources/ibm/infrastructure/mobile-provider-network.png differ
diff --git a/resources/ibm/infrastructure/monitoring-logging.png b/resources/ibm/infrastructure/monitoring-logging.png
new file mode 100644
index 000000000..7fa17adb9
Binary files /dev/null and b/resources/ibm/infrastructure/monitoring-logging.png differ
diff --git a/resources/ibm/infrastructure/monitoring.png b/resources/ibm/infrastructure/monitoring.png
new file mode 100644
index 000000000..417153dec
Binary files /dev/null and b/resources/ibm/infrastructure/monitoring.png differ
diff --git a/resources/ibm/infrastructure/peer-services.png b/resources/ibm/infrastructure/peer-services.png
new file mode 100644
index 000000000..7b1f1c1f3
Binary files /dev/null and b/resources/ibm/infrastructure/peer-services.png differ
diff --git a/resources/ibm/infrastructure/service-discovery-configuration.png b/resources/ibm/infrastructure/service-discovery-configuration.png
new file mode 100644
index 000000000..c3124dc81
Binary files /dev/null and b/resources/ibm/infrastructure/service-discovery-configuration.png differ
diff --git a/resources/ibm/infrastructure/transformation-connectivity.png b/resources/ibm/infrastructure/transformation-connectivity.png
new file mode 100644
index 000000000..dbe9301df
Binary files /dev/null and b/resources/ibm/infrastructure/transformation-connectivity.png differ
diff --git a/resources/ibm/management/alert-notification.png b/resources/ibm/management/alert-notification.png
new file mode 100644
index 000000000..e2417e467
Binary files /dev/null and b/resources/ibm/management/alert-notification.png differ
diff --git a/resources/ibm/management/api-management.png b/resources/ibm/management/api-management.png
new file mode 100644
index 000000000..a1ea07f04
Binary files /dev/null and b/resources/ibm/management/api-management.png differ
diff --git a/resources/ibm/management/cloud-management.png b/resources/ibm/management/cloud-management.png
new file mode 100644
index 000000000..efc561dfa
Binary files /dev/null and b/resources/ibm/management/cloud-management.png differ
diff --git a/resources/ibm/management/cluster-management.png b/resources/ibm/management/cluster-management.png
new file mode 100644
index 000000000..14c46353d
Binary files /dev/null and b/resources/ibm/management/cluster-management.png differ
diff --git a/resources/ibm/management/content-management.png b/resources/ibm/management/content-management.png
new file mode 100644
index 000000000..de3b5b950
Binary files /dev/null and b/resources/ibm/management/content-management.png differ
diff --git a/resources/ibm/management/data-services.png b/resources/ibm/management/data-services.png
new file mode 100644
index 000000000..a470a4934
Binary files /dev/null and b/resources/ibm/management/data-services.png differ
diff --git a/resources/ibm/management/device-management.png b/resources/ibm/management/device-management.png
new file mode 100644
index 000000000..ce51b242f
Binary files /dev/null and b/resources/ibm/management/device-management.png differ
diff --git a/resources/ibm/management/information-governance.png b/resources/ibm/management/information-governance.png
new file mode 100644
index 000000000..ed822ea1d
Binary files /dev/null and b/resources/ibm/management/information-governance.png differ
diff --git a/resources/ibm/management/it-service-management.png b/resources/ibm/management/it-service-management.png
new file mode 100644
index 000000000..c15505a71
Binary files /dev/null and b/resources/ibm/management/it-service-management.png differ
diff --git a/resources/ibm/management/management.png b/resources/ibm/management/management.png
new file mode 100644
index 000000000..6e6c60ba2
Binary files /dev/null and b/resources/ibm/management/management.png differ
diff --git a/resources/ibm/management/monitoring-metrics.png b/resources/ibm/management/monitoring-metrics.png
new file mode 100644
index 000000000..d66fa2260
Binary files /dev/null and b/resources/ibm/management/monitoring-metrics.png differ
diff --git a/resources/ibm/management/process-management.png b/resources/ibm/management/process-management.png
new file mode 100644
index 000000000..7932b9386
Binary files /dev/null and b/resources/ibm/management/process-management.png differ
diff --git a/resources/ibm/management/provider-cloud-portal-service.png b/resources/ibm/management/provider-cloud-portal-service.png
new file mode 100644
index 000000000..dfefa7c53
Binary files /dev/null and b/resources/ibm/management/provider-cloud-portal-service.png differ
diff --git a/resources/ibm/management/push-notifications.png b/resources/ibm/management/push-notifications.png
new file mode 100644
index 000000000..b97e80b4c
Binary files /dev/null and b/resources/ibm/management/push-notifications.png differ
diff --git a/resources/ibm/management/service-management-tools.png b/resources/ibm/management/service-management-tools.png
new file mode 100644
index 000000000..14677bb2e
Binary files /dev/null and b/resources/ibm/management/service-management-tools.png differ
diff --git a/resources/ibm/network/bridge.png b/resources/ibm/network/bridge.png
new file mode 100644
index 000000000..43e3369b1
Binary files /dev/null and b/resources/ibm/network/bridge.png differ
diff --git a/resources/ibm/network/direct-link.png b/resources/ibm/network/direct-link.png
new file mode 100644
index 000000000..a4c4de3ff
Binary files /dev/null and b/resources/ibm/network/direct-link.png differ
diff --git a/resources/ibm/network/enterprise.png b/resources/ibm/network/enterprise.png
new file mode 100644
index 000000000..c80ee603a
Binary files /dev/null and b/resources/ibm/network/enterprise.png differ
diff --git a/resources/ibm/network/firewall.png b/resources/ibm/network/firewall.png
new file mode 100644
index 000000000..f2405d9f8
Binary files /dev/null and b/resources/ibm/network/firewall.png differ
diff --git a/resources/ibm/network/floating-ip.png b/resources/ibm/network/floating-ip.png
new file mode 100644
index 000000000..68a627b25
Binary files /dev/null and b/resources/ibm/network/floating-ip.png differ
diff --git a/resources/ibm/network/gateway.png b/resources/ibm/network/gateway.png
new file mode 100644
index 000000000..dd6400444
Binary files /dev/null and b/resources/ibm/network/gateway.png differ
diff --git a/resources/ibm/network/internet-services.png b/resources/ibm/network/internet-services.png
new file mode 100644
index 000000000..b8980aa2d
Binary files /dev/null and b/resources/ibm/network/internet-services.png differ
diff --git a/resources/ibm/network/load-balancer-listener.png b/resources/ibm/network/load-balancer-listener.png
new file mode 100644
index 000000000..c0e5f8d44
Binary files /dev/null and b/resources/ibm/network/load-balancer-listener.png differ
diff --git a/resources/ibm/network/load-balancer-pool.png b/resources/ibm/network/load-balancer-pool.png
new file mode 100644
index 000000000..376eed584
Binary files /dev/null and b/resources/ibm/network/load-balancer-pool.png differ
diff --git a/resources/ibm/network/load-balancer.png b/resources/ibm/network/load-balancer.png
new file mode 100644
index 000000000..6f53b5c27
Binary files /dev/null and b/resources/ibm/network/load-balancer.png differ
diff --git a/resources/ibm/network/load-balancing-routing.png b/resources/ibm/network/load-balancing-routing.png
new file mode 100644
index 000000000..9bcf29b25
Binary files /dev/null and b/resources/ibm/network/load-balancing-routing.png differ
diff --git a/resources/ibm/network/public-gateway.png b/resources/ibm/network/public-gateway.png
new file mode 100644
index 000000000..9bda09fd8
Binary files /dev/null and b/resources/ibm/network/public-gateway.png differ
diff --git a/resources/ibm/network/region.png b/resources/ibm/network/region.png
new file mode 100644
index 000000000..92ea7bdfc
Binary files /dev/null and b/resources/ibm/network/region.png differ
diff --git a/resources/ibm/network/router.png b/resources/ibm/network/router.png
new file mode 100644
index 000000000..b6fa9966e
Binary files /dev/null and b/resources/ibm/network/router.png differ
diff --git a/resources/ibm/network/rules.png b/resources/ibm/network/rules.png
new file mode 100644
index 000000000..df44b87ed
Binary files /dev/null and b/resources/ibm/network/rules.png differ
diff --git a/resources/ibm/network/subnet.png b/resources/ibm/network/subnet.png
new file mode 100644
index 000000000..0f0fc0d13
Binary files /dev/null and b/resources/ibm/network/subnet.png differ
diff --git a/resources/ibm/network/transit-gateway.png b/resources/ibm/network/transit-gateway.png
new file mode 100644
index 000000000..0d4c47830
Binary files /dev/null and b/resources/ibm/network/transit-gateway.png differ
diff --git a/resources/ibm/network/vpc.png b/resources/ibm/network/vpc.png
new file mode 100644
index 000000000..eabb6b25e
Binary files /dev/null and b/resources/ibm/network/vpc.png differ
diff --git a/resources/ibm/network/vpn-connection.png b/resources/ibm/network/vpn-connection.png
new file mode 100644
index 000000000..916135962
Binary files /dev/null and b/resources/ibm/network/vpn-connection.png differ
diff --git a/resources/ibm/network/vpn-gateway.png b/resources/ibm/network/vpn-gateway.png
new file mode 100644
index 000000000..c1613feff
Binary files /dev/null and b/resources/ibm/network/vpn-gateway.png differ
diff --git a/resources/ibm/network/vpn-policy.png b/resources/ibm/network/vpn-policy.png
new file mode 100644
index 000000000..6fec2da67
Binary files /dev/null and b/resources/ibm/network/vpn-policy.png differ
diff --git a/resources/ibm/security/api-security.png b/resources/ibm/security/api-security.png
new file mode 100644
index 000000000..142d1e909
Binary files /dev/null and b/resources/ibm/security/api-security.png differ
diff --git a/resources/ibm/security/blockchain-security-service.png b/resources/ibm/security/blockchain-security-service.png
new file mode 100644
index 000000000..90e07afa0
Binary files /dev/null and b/resources/ibm/security/blockchain-security-service.png differ
diff --git a/resources/ibm/security/data-security.png b/resources/ibm/security/data-security.png
new file mode 100644
index 000000000..117a10541
Binary files /dev/null and b/resources/ibm/security/data-security.png differ
diff --git a/resources/ibm/security/firewall.png b/resources/ibm/security/firewall.png
new file mode 100644
index 000000000..55e757091
Binary files /dev/null and b/resources/ibm/security/firewall.png differ
diff --git a/resources/ibm/security/gateway.png b/resources/ibm/security/gateway.png
new file mode 100644
index 000000000..54d707f98
Binary files /dev/null and b/resources/ibm/security/gateway.png differ
diff --git a/resources/ibm/security/governance-risk-compliance.png b/resources/ibm/security/governance-risk-compliance.png
new file mode 100644
index 000000000..57626ad22
Binary files /dev/null and b/resources/ibm/security/governance-risk-compliance.png differ
diff --git a/resources/ibm/security/identity-access-management.png b/resources/ibm/security/identity-access-management.png
new file mode 100644
index 000000000..c98bffd0c
Binary files /dev/null and b/resources/ibm/security/identity-access-management.png differ
diff --git a/resources/ibm/security/identity-provider.png b/resources/ibm/security/identity-provider.png
new file mode 100644
index 000000000..74325f7f0
Binary files /dev/null and b/resources/ibm/security/identity-provider.png differ
diff --git a/resources/ibm/security/infrastructure-security.png b/resources/ibm/security/infrastructure-security.png
new file mode 100644
index 000000000..3f7ab383a
Binary files /dev/null and b/resources/ibm/security/infrastructure-security.png differ
diff --git a/resources/ibm/security/physical-security.png b/resources/ibm/security/physical-security.png
new file mode 100644
index 000000000..b7377086f
Binary files /dev/null and b/resources/ibm/security/physical-security.png differ
diff --git a/resources/ibm/security/security-monitoring-intelligence.png b/resources/ibm/security/security-monitoring-intelligence.png
new file mode 100644
index 000000000..a9c2fc96e
Binary files /dev/null and b/resources/ibm/security/security-monitoring-intelligence.png differ
diff --git a/resources/ibm/security/security-services.png b/resources/ibm/security/security-services.png
new file mode 100644
index 000000000..d6a49d685
Binary files /dev/null and b/resources/ibm/security/security-services.png differ
diff --git a/resources/ibm/security/trustend-computing.png b/resources/ibm/security/trustend-computing.png
new file mode 100644
index 000000000..5c47988b0
Binary files /dev/null and b/resources/ibm/security/trustend-computing.png differ
diff --git a/resources/ibm/security/vpn.png b/resources/ibm/security/vpn.png
new file mode 100644
index 000000000..1837c350f
Binary files /dev/null and b/resources/ibm/security/vpn.png differ
diff --git a/resources/ibm/social/communities.png b/resources/ibm/social/communities.png
new file mode 100644
index 000000000..a73892f61
Binary files /dev/null and b/resources/ibm/social/communities.png differ
diff --git a/resources/ibm/social/file-sync.png b/resources/ibm/social/file-sync.png
new file mode 100644
index 000000000..99d3fe8d2
Binary files /dev/null and b/resources/ibm/social/file-sync.png differ
diff --git a/resources/ibm/social/live-collaboration.png b/resources/ibm/social/live-collaboration.png
new file mode 100644
index 000000000..b8e7d6027
Binary files /dev/null and b/resources/ibm/social/live-collaboration.png differ
diff --git a/resources/ibm/social/messaging.png b/resources/ibm/social/messaging.png
new file mode 100644
index 000000000..9307bc5b6
Binary files /dev/null and b/resources/ibm/social/messaging.png differ
diff --git a/resources/ibm/social/networking.png b/resources/ibm/social/networking.png
new file mode 100644
index 000000000..e4e55df2d
Binary files /dev/null and b/resources/ibm/social/networking.png differ
diff --git a/resources/ibm/storage/block-storage.png b/resources/ibm/storage/block-storage.png
new file mode 100644
index 000000000..c31bf5fcb
Binary files /dev/null and b/resources/ibm/storage/block-storage.png differ
diff --git a/resources/ibm/storage/object-storage.png b/resources/ibm/storage/object-storage.png
new file mode 100644
index 000000000..e239629f8
Binary files /dev/null and b/resources/ibm/storage/object-storage.png differ
diff --git a/resources/ibm/user/browser.png b/resources/ibm/user/browser.png
new file mode 100644
index 000000000..12556076d
Binary files /dev/null and b/resources/ibm/user/browser.png differ
diff --git a/resources/ibm/user/device.png b/resources/ibm/user/device.png
new file mode 100644
index 000000000..e637f1b1c
Binary files /dev/null and b/resources/ibm/user/device.png differ
diff --git a/resources/ibm/user/integrated-digital-experiences.png b/resources/ibm/user/integrated-digital-experiences.png
new file mode 100644
index 000000000..933c2a67a
Binary files /dev/null and b/resources/ibm/user/integrated-digital-experiences.png differ
diff --git a/resources/ibm/user/physical-entity.png b/resources/ibm/user/physical-entity.png
new file mode 100644
index 000000000..51304eb6c
Binary files /dev/null and b/resources/ibm/user/physical-entity.png differ
diff --git a/resources/ibm/user/sensor.png b/resources/ibm/user/sensor.png
new file mode 100644
index 000000000..ccbc9505f
Binary files /dev/null and b/resources/ibm/user/sensor.png differ
diff --git a/resources/ibm/user/user.png b/resources/ibm/user/user.png
new file mode 100644
index 000000000..2ac69c616
Binary files /dev/null and b/resources/ibm/user/user.png differ
diff --git a/resources/oci/compute/apex.png b/resources/oci/compute/apex.png
new file mode 100644
index 000000000..ecae05ed1
Binary files /dev/null and b/resources/oci/compute/apex.png differ
diff --git a/resources/oci/compute/autoscale-white.png b/resources/oci/compute/autoscale-white.png
deleted file mode 100644
index dc64d11bb..000000000
Binary files a/resources/oci/compute/autoscale-white.png and /dev/null differ
diff --git a/resources/oci/compute/autoscale.png b/resources/oci/compute/autoscale.png
index f5374d3a5..282d4219a 100644
Binary files a/resources/oci/compute/autoscale.png and b/resources/oci/compute/autoscale.png differ
diff --git a/resources/oci/compute/bm-white.png b/resources/oci/compute/bm-white.png
deleted file mode 100644
index c33833d71..000000000
Binary files a/resources/oci/compute/bm-white.png and /dev/null differ
diff --git a/resources/oci/compute/bm.png b/resources/oci/compute/bm.png
index e9d50b0a0..03a6183d9 100644
Binary files a/resources/oci/compute/bm.png and b/resources/oci/compute/bm.png differ
diff --git a/resources/oci/compute/container-white.png b/resources/oci/compute/container-white.png
deleted file mode 100644
index ba6b09a0c..000000000
Binary files a/resources/oci/compute/container-white.png and /dev/null differ
diff --git a/resources/oci/compute/container.png b/resources/oci/compute/container.png
index 949b46bd8..59fa1c266 100644
Binary files a/resources/oci/compute/container.png and b/resources/oci/compute/container.png differ
diff --git a/resources/oci/compute/functions-white.png b/resources/oci/compute/functions-white.png
deleted file mode 100644
index 6296e39b4..000000000
Binary files a/resources/oci/compute/functions-white.png and /dev/null differ
diff --git a/resources/oci/compute/functions.png b/resources/oci/compute/functions.png
index ec13a2dcd..df2e67f10 100644
Binary files a/resources/oci/compute/functions.png and b/resources/oci/compute/functions.png differ
diff --git a/resources/oci/compute/instance-pools-white.png b/resources/oci/compute/instance-pools-white.png
deleted file mode 100644
index 397bc2766..000000000
Binary files a/resources/oci/compute/instance-pools-white.png and /dev/null differ
diff --git a/resources/oci/compute/instance-pools.png b/resources/oci/compute/instance-pools.png
index d1eacf12d..4167719af 100644
Binary files a/resources/oci/compute/instance-pools.png and b/resources/oci/compute/instance-pools.png differ
diff --git a/resources/oci/compute/ocir-white.png b/resources/oci/compute/ocir-white.png
deleted file mode 100644
index 551050584..000000000
Binary files a/resources/oci/compute/ocir-white.png and /dev/null differ
diff --git a/resources/oci/compute/ocir.png b/resources/oci/compute/ocir.png
index 4f6d9ee24..5e73157da 100644
Binary files a/resources/oci/compute/ocir.png and b/resources/oci/compute/ocir.png differ
diff --git a/resources/oci/compute/oke-white.png b/resources/oci/compute/oke-white.png
deleted file mode 100644
index 645175355..000000000
Binary files a/resources/oci/compute/oke-white.png and /dev/null differ
diff --git a/resources/oci/compute/oke.png b/resources/oci/compute/oke.png
index 61dcd839f..d67b09576 100644
Binary files a/resources/oci/compute/oke.png and b/resources/oci/compute/oke.png differ
diff --git a/resources/oci/compute/red.png b/resources/oci/compute/red.png
new file mode 100644
index 000000000..d83fa62c5
Binary files /dev/null and b/resources/oci/compute/red.png differ
diff --git a/resources/oci/compute/vm-white.png b/resources/oci/compute/vm-white.png
deleted file mode 100644
index 1af7e0e77..000000000
Binary files a/resources/oci/compute/vm-white.png and /dev/null differ
diff --git a/resources/oci/compute/vm.png b/resources/oci/compute/vm.png
index 1b680b633..9b4995abd 100644
Binary files a/resources/oci/compute/vm.png and b/resources/oci/compute/vm.png differ
diff --git a/resources/oci/connectivity/backbone-white.png b/resources/oci/connectivity/backbone-white.png
deleted file mode 100644
index bfe31e80e..000000000
Binary files a/resources/oci/connectivity/backbone-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/backbone.png b/resources/oci/connectivity/backbone.png
index 106b15940..601743de9 100644
Binary files a/resources/oci/connectivity/backbone.png and b/resources/oci/connectivity/backbone.png differ
diff --git a/resources/oci/connectivity/cdn-white.png b/resources/oci/connectivity/cdn-white.png
deleted file mode 100644
index 605b695c9..000000000
Binary files a/resources/oci/connectivity/cdn-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/cdn.png b/resources/oci/connectivity/cdn.png
index 839012b74..330402ea6 100644
Binary files a/resources/oci/connectivity/cdn.png and b/resources/oci/connectivity/cdn.png differ
diff --git a/resources/oci/connectivity/customer-datacntr-white.png b/resources/oci/connectivity/customer-datacntr-white.png
deleted file mode 100644
index 70b7c8d5e..000000000
Binary files a/resources/oci/connectivity/customer-datacntr-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/customer-premise-white.png b/resources/oci/connectivity/customer-premise-white.png
deleted file mode 100644
index d557206cf..000000000
Binary files a/resources/oci/connectivity/customer-premise-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/customer-premise.png b/resources/oci/connectivity/customer-premise.png
index 59dbaf93e..fd376be78 100644
Binary files a/resources/oci/connectivity/customer-premise.png and b/resources/oci/connectivity/customer-premise.png differ
diff --git a/resources/oci/connectivity/datacenter.png b/resources/oci/connectivity/datacenter.png
new file mode 100644
index 000000000..9364d7222
Binary files /dev/null and b/resources/oci/connectivity/datacenter.png differ
diff --git a/resources/oci/connectivity/disconnected-regions-white.png b/resources/oci/connectivity/disconnected-regions-white.png
deleted file mode 100644
index 329d2956b..000000000
Binary files a/resources/oci/connectivity/disconnected-regions-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/disconnected-regions.png b/resources/oci/connectivity/disconnected-regions.png
index 59f6df902..79d5b7905 100644
Binary files a/resources/oci/connectivity/disconnected-regions.png and b/resources/oci/connectivity/disconnected-regions.png differ
diff --git a/resources/oci/connectivity/dns-white.png b/resources/oci/connectivity/dns-white.png
deleted file mode 100644
index 831f66288..000000000
Binary files a/resources/oci/connectivity/dns-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/dns.png b/resources/oci/connectivity/dns.png
index 374c1bb52..76e05b4d9 100644
Binary files a/resources/oci/connectivity/dns.png and b/resources/oci/connectivity/dns.png differ
diff --git a/resources/oci/connectivity/fast-connect-white.png b/resources/oci/connectivity/fast-connect-white.png
deleted file mode 100644
index 57827bb9b..000000000
Binary files a/resources/oci/connectivity/fast-connect-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/fast-connect.png b/resources/oci/connectivity/fast-connect.png
index 9fb1a5323..eb0b88cf0 100644
Binary files a/resources/oci/connectivity/fast-connect.png and b/resources/oci/connectivity/fast-connect.png differ
diff --git a/resources/oci/connectivity/local-peering-gateway.png b/resources/oci/connectivity/local-peering-gateway.png
new file mode 100644
index 000000000..a2f436ed1
Binary files /dev/null and b/resources/oci/connectivity/local-peering-gateway.png differ
diff --git a/resources/oci/connectivity/nat-gateway-white.png b/resources/oci/connectivity/nat-gateway-white.png
deleted file mode 100644
index 2c4d84baa..000000000
Binary files a/resources/oci/connectivity/nat-gateway-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/nat-gateway.png b/resources/oci/connectivity/nat-gateway.png
index b472878c8..1bbc2f8c7 100644
Binary files a/resources/oci/connectivity/nat-gateway.png and b/resources/oci/connectivity/nat-gateway.png differ
diff --git a/resources/oci/connectivity/remote-peering-gateway.png b/resources/oci/connectivity/remote-peering-gateway.png
new file mode 100644
index 000000000..7aba0e86f
Binary files /dev/null and b/resources/oci/connectivity/remote-peering-gateway.png differ
diff --git a/resources/oci/connectivity/service-connector-hub.png b/resources/oci/connectivity/service-connector-hub.png
new file mode 100644
index 000000000..5c74f048d
Binary files /dev/null and b/resources/oci/connectivity/service-connector-hub.png differ
diff --git a/resources/oci/connectivity/vpn-white.png b/resources/oci/connectivity/vpn-white.png
deleted file mode 100644
index be80a9917..000000000
Binary files a/resources/oci/connectivity/vpn-white.png and /dev/null differ
diff --git a/resources/oci/connectivity/vpn.png b/resources/oci/connectivity/vpn.png
index 033748599..1aa104ba3 100644
Binary files a/resources/oci/connectivity/vpn.png and b/resources/oci/connectivity/vpn.png differ
diff --git a/resources/oci/database/autonomous-data-warehouse-cs.png b/resources/oci/database/autonomous-data-warehouse-cs.png
new file mode 100644
index 000000000..85ac5cf4c
Binary files /dev/null and b/resources/oci/database/autonomous-data-warehouse-cs.png differ
diff --git a/resources/oci/database/autonomous-data-warehouse.png b/resources/oci/database/autonomous-data-warehouse.png
new file mode 100644
index 000000000..6d8713d9a
Binary files /dev/null and b/resources/oci/database/autonomous-data-warehouse.png differ
diff --git a/resources/oci/database/autonomous-transaction-processing.png b/resources/oci/database/autonomous-transaction-processing.png
new file mode 100644
index 000000000..6ccdd54b4
Binary files /dev/null and b/resources/oci/database/autonomous-transaction-processing.png differ
diff --git a/resources/oci/database/autonomous-white.png b/resources/oci/database/autonomous-white.png
deleted file mode 100644
index 693951092..000000000
Binary files a/resources/oci/database/autonomous-white.png and /dev/null differ
diff --git a/resources/oci/database/autonomous.png b/resources/oci/database/autonomous.png
index e9859e2d7..fdd4cd512 100644
Binary files a/resources/oci/database/autonomous.png and b/resources/oci/database/autonomous.png differ
diff --git a/resources/oci/database/bigdata-service-white.png b/resources/oci/database/bigdata-service-white.png
deleted file mode 100644
index 76b26db49..000000000
Binary files a/resources/oci/database/bigdata-service-white.png and /dev/null differ
diff --git a/resources/oci/database/bigdata-service.png b/resources/oci/database/bigdata-service.png
index ebb395da7..93d0ab9ee 100644
Binary files a/resources/oci/database/bigdata-service.png and b/resources/oci/database/bigdata-service.png differ
diff --git a/resources/oci/database/database-service-white.png b/resources/oci/database/database-service-white.png
deleted file mode 100644
index 552c56c7e..000000000
Binary files a/resources/oci/database/database-service-white.png and /dev/null differ
diff --git a/resources/oci/database/database-service.png b/resources/oci/database/database-service.png
index 5442cecd5..c81fa6817 100644
Binary files a/resources/oci/database/database-service.png and b/resources/oci/database/database-service.png differ
diff --git a/resources/oci/database/dataflow-apache-white.png b/resources/oci/database/dataflow-apache-white.png
deleted file mode 100644
index cf69c3b5d..000000000
Binary files a/resources/oci/database/dataflow-apache-white.png and /dev/null differ
diff --git a/resources/oci/database/dataflow-apache.png b/resources/oci/database/dataflow-apache.png
index c04b65ba9..9eba90505 100644
Binary files a/resources/oci/database/dataflow-apache.png and b/resources/oci/database/dataflow-apache.png differ
diff --git a/resources/oci/database/dcat-white.png b/resources/oci/database/dcat-white.png
deleted file mode 100644
index dbff953e8..000000000
Binary files a/resources/oci/database/dcat-white.png and /dev/null differ
diff --git a/resources/oci/database/dcat.png b/resources/oci/database/dcat.png
index c1bc05b1e..580184243 100644
Binary files a/resources/oci/database/dcat.png and b/resources/oci/database/dcat.png differ
diff --git a/resources/oci/database/dcs.png b/resources/oci/database/dcs.png
new file mode 100644
index 000000000..05dfbbda5
Binary files /dev/null and b/resources/oci/database/dcs.png differ
diff --git a/resources/oci/database/dis-white.png b/resources/oci/database/dis-white.png
deleted file mode 100644
index 63ab66383..000000000
Binary files a/resources/oci/database/dis-white.png and /dev/null differ
diff --git a/resources/oci/database/dis.png b/resources/oci/database/dis.png
index 1e0dcfe47..75eb146db 100644
Binary files a/resources/oci/database/dis.png and b/resources/oci/database/dis.png differ
diff --git a/resources/oci/database/dms-white.png b/resources/oci/database/dms-white.png
deleted file mode 100644
index 4fcf1fe72..000000000
Binary files a/resources/oci/database/dms-white.png and /dev/null differ
diff --git a/resources/oci/database/dms.png b/resources/oci/database/dms.png
index dd76cb20a..25339f7be 100644
Binary files a/resources/oci/database/dms.png and b/resources/oci/database/dms.png differ
diff --git a/resources/oci/database/exadata.png b/resources/oci/database/exadata.png
new file mode 100644
index 000000000..32216f726
Binary files /dev/null and b/resources/oci/database/exadata.png differ
diff --git a/resources/oci/database/mysql.png b/resources/oci/database/mysql.png
new file mode 100644
index 000000000..d5780b45c
Binary files /dev/null and b/resources/oci/database/mysql.png differ
diff --git a/resources/oci/database/nosql.png b/resources/oci/database/nosql.png
new file mode 100644
index 000000000..70acee6c4
Binary files /dev/null and b/resources/oci/database/nosql.png differ
diff --git a/resources/oci/database/science-white.png b/resources/oci/database/science-white.png
deleted file mode 100644
index 99d8d203c..000000000
Binary files a/resources/oci/database/science-white.png and /dev/null differ
diff --git a/resources/oci/database/science.png b/resources/oci/database/science.png
index c720667c0..854c2e875 100644
Binary files a/resources/oci/database/science.png and b/resources/oci/database/science.png differ
diff --git a/resources/oci/database/stream-white.png b/resources/oci/database/stream-white.png
deleted file mode 100644
index 1406b3069..000000000
Binary files a/resources/oci/database/stream-white.png and /dev/null differ
diff --git a/resources/oci/database/stream.png b/resources/oci/database/stream.png
index 5624c168e..997493771 100644
Binary files a/resources/oci/database/stream.png and b/resources/oci/database/stream.png differ
diff --git a/resources/oci/devops/analytics.png b/resources/oci/devops/analytics.png
new file mode 100644
index 000000000..f59e3f173
Binary files /dev/null and b/resources/oci/devops/analytics.png differ
diff --git a/resources/oci/devops/api-gateway-white.png b/resources/oci/devops/api-gateway-white.png
deleted file mode 100644
index 767a98ff3..000000000
Binary files a/resources/oci/devops/api-gateway-white.png and /dev/null differ
diff --git a/resources/oci/devops/api-gateway.png b/resources/oci/devops/api-gateway.png
index d244cabfb..96e6bc549 100644
Binary files a/resources/oci/devops/api-gateway.png and b/resources/oci/devops/api-gateway.png differ
diff --git a/resources/oci/devops/api-service-white.png b/resources/oci/devops/api-service-white.png
deleted file mode 100644
index ab50a5d66..000000000
Binary files a/resources/oci/devops/api-service-white.png and /dev/null differ
diff --git a/resources/oci/devops/api-service.png b/resources/oci/devops/api-service.png
index 208047b9a..97ae5b61e 100644
Binary files a/resources/oci/devops/api-service.png and b/resources/oci/devops/api-service.png differ
diff --git a/resources/oci/devops/market-place.png b/resources/oci/devops/market-place.png
new file mode 100644
index 000000000..52a4c00e2
Binary files /dev/null and b/resources/oci/devops/market-place.png differ
diff --git a/resources/oci/devops/resource-mgmt-white.png b/resources/oci/devops/resource-mgmt-white.png
deleted file mode 100644
index ccf19009b..000000000
Binary files a/resources/oci/devops/resource-mgmt-white.png and /dev/null differ
diff --git a/resources/oci/devops/resource-mgmt.png b/resources/oci/devops/resource-mgmt.png
index 97cc3975f..89960fad1 100644
Binary files a/resources/oci/devops/resource-mgmt.png and b/resources/oci/devops/resource-mgmt.png differ
diff --git a/resources/oci/governance/audit-white.png b/resources/oci/governance/audit-white.png
deleted file mode 100644
index dc861eb5e..000000000
Binary files a/resources/oci/governance/audit-white.png and /dev/null differ
diff --git a/resources/oci/governance/audit.png b/resources/oci/governance/audit.png
index d5d7b6176..8f0bff6d3 100644
Binary files a/resources/oci/governance/audit.png and b/resources/oci/governance/audit.png differ
diff --git a/resources/oci/governance/compartments-white.png b/resources/oci/governance/compartments-white.png
deleted file mode 100644
index c4271c34b..000000000
Binary files a/resources/oci/governance/compartments-white.png and /dev/null differ
diff --git a/resources/oci/governance/compartments.png b/resources/oci/governance/compartments.png
index 8b9a9de65..886858cdc 100644
Binary files a/resources/oci/governance/compartments.png and b/resources/oci/governance/compartments.png differ
diff --git a/resources/oci/governance/flow-logs.png b/resources/oci/governance/flow-logs.png
new file mode 100644
index 000000000..bf51ff754
Binary files /dev/null and b/resources/oci/governance/flow-logs.png differ
diff --git a/resources/oci/governance/groups-white.png b/resources/oci/governance/groups-white.png
deleted file mode 100644
index 3052cef64..000000000
Binary files a/resources/oci/governance/groups-white.png and /dev/null differ
diff --git a/resources/oci/governance/groups.png b/resources/oci/governance/groups.png
index 34f1064b8..12974eec5 100644
Binary files a/resources/oci/governance/groups.png and b/resources/oci/governance/groups.png differ
diff --git a/resources/oci/governance/logging-white.png b/resources/oci/governance/logging-white.png
deleted file mode 100644
index 99b5db2da..000000000
Binary files a/resources/oci/governance/logging-white.png and /dev/null differ
diff --git a/resources/oci/governance/logging.png b/resources/oci/governance/logging.png
index 50e6836a8..156e0407f 100644
Binary files a/resources/oci/governance/logging.png and b/resources/oci/governance/logging.png differ
diff --git a/resources/oci/governance/ocid-white.png b/resources/oci/governance/ocid-white.png
deleted file mode 100644
index a69576ae2..000000000
Binary files a/resources/oci/governance/ocid-white.png and /dev/null differ
diff --git a/resources/oci/governance/ocid.png b/resources/oci/governance/ocid.png
index c5200b34e..453bc2342 100644
Binary files a/resources/oci/governance/ocid.png and b/resources/oci/governance/ocid.png differ
diff --git a/resources/oci/governance/policies-white.png b/resources/oci/governance/policies-white.png
deleted file mode 100644
index 936271cbe..000000000
Binary files a/resources/oci/governance/policies-white.png and /dev/null differ
diff --git a/resources/oci/governance/policies.png b/resources/oci/governance/policies.png
index 988efa234..f13f79e3d 100644
Binary files a/resources/oci/governance/policies.png and b/resources/oci/governance/policies.png differ
diff --git a/resources/oci/governance/tagging-white.png b/resources/oci/governance/tagging-white.png
deleted file mode 100644
index 1d27cc470..000000000
Binary files a/resources/oci/governance/tagging-white.png and /dev/null differ
diff --git a/resources/oci/governance/tagging.png b/resources/oci/governance/tagging.png
index d8bfb7eb1..435145654 100644
Binary files a/resources/oci/governance/tagging.png and b/resources/oci/governance/tagging.png differ
diff --git a/resources/oci/governance/user.png b/resources/oci/governance/user.png
new file mode 100644
index 000000000..d4b9694b0
Binary files /dev/null and b/resources/oci/governance/user.png differ
diff --git a/resources/oci/ml/artificial-intelligence.png b/resources/oci/ml/artificial-intelligence.png
new file mode 100644
index 000000000..2c26cc951
Binary files /dev/null and b/resources/oci/ml/artificial-intelligence.png differ
diff --git a/resources/oci/ml/machine-learning.png b/resources/oci/ml/machine-learning.png
new file mode 100644
index 000000000..36cb04f8d
Binary files /dev/null and b/resources/oci/ml/machine-learning.png differ
diff --git a/resources/oci/monitoring/alarm-white.png b/resources/oci/monitoring/alarm-white.png
deleted file mode 100644
index e91831b26..000000000
Binary files a/resources/oci/monitoring/alarm-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/alarm.png b/resources/oci/monitoring/alarm.png
index 372e3590c..c484ae8c7 100644
Binary files a/resources/oci/monitoring/alarm.png and b/resources/oci/monitoring/alarm.png differ
diff --git a/resources/oci/monitoring/email-white.png b/resources/oci/monitoring/email-white.png
deleted file mode 100644
index a9201a7ae..000000000
Binary files a/resources/oci/monitoring/email-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/email.png b/resources/oci/monitoring/email.png
index f8d843c87..2dcb67932 100644
Binary files a/resources/oci/monitoring/email.png and b/resources/oci/monitoring/email.png differ
diff --git a/resources/oci/monitoring/events-white.png b/resources/oci/monitoring/events-white.png
deleted file mode 100644
index 6445a2240..000000000
Binary files a/resources/oci/monitoring/events-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/events.png b/resources/oci/monitoring/events.png
index 465be4b63..65e5fe83a 100644
Binary files a/resources/oci/monitoring/events.png and b/resources/oci/monitoring/events.png differ
diff --git a/resources/oci/monitoring/health-check-white.png b/resources/oci/monitoring/health-check-white.png
deleted file mode 100644
index 4b1dea4e2..000000000
Binary files a/resources/oci/monitoring/health-check-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/health-check.png b/resources/oci/monitoring/health-check.png
index 96794e870..cac22cd27 100644
Binary files a/resources/oci/monitoring/health-check.png and b/resources/oci/monitoring/health-check.png differ
diff --git a/resources/oci/monitoring/notifications-white.png b/resources/oci/monitoring/notifications-white.png
deleted file mode 100644
index bf74ef70a..000000000
Binary files a/resources/oci/monitoring/notifications-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/notifications.png b/resources/oci/monitoring/notifications.png
index 059ca8f5a..060704612 100644
Binary files a/resources/oci/monitoring/notifications.png and b/resources/oci/monitoring/notifications.png differ
diff --git a/resources/oci/monitoring/queue-white.png b/resources/oci/monitoring/queue-white.png
deleted file mode 100644
index 9f8751ddf..000000000
Binary files a/resources/oci/monitoring/queue-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/queue.png b/resources/oci/monitoring/queue.png
index 38da334ba..efb6b215b 100644
Binary files a/resources/oci/monitoring/queue.png and b/resources/oci/monitoring/queue.png differ
diff --git a/resources/oci/monitoring/search-white.png b/resources/oci/monitoring/search-white.png
deleted file mode 100644
index 44f6f7cc0..000000000
Binary files a/resources/oci/monitoring/search-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/search.png b/resources/oci/monitoring/search.png
index af5f951dd..1340a8d0c 100644
Binary files a/resources/oci/monitoring/search.png and b/resources/oci/monitoring/search.png differ
diff --git a/resources/oci/monitoring/telemetry-white.png b/resources/oci/monitoring/telemetry-white.png
deleted file mode 100644
index 9421c90bd..000000000
Binary files a/resources/oci/monitoring/telemetry-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/telemetry.png b/resources/oci/monitoring/telemetry.png
index a5d4931ae..fda5be4da 100644
Binary files a/resources/oci/monitoring/telemetry.png and b/resources/oci/monitoring/telemetry.png differ
diff --git a/resources/oci/monitoring/workflow-white.png b/resources/oci/monitoring/workflow-white.png
deleted file mode 100644
index 0971ed5e0..000000000
Binary files a/resources/oci/monitoring/workflow-white.png and /dev/null differ
diff --git a/resources/oci/monitoring/workflow.png b/resources/oci/monitoring/workflow.png
index 9ce2300e8..fb88961c1 100644
Binary files a/resources/oci/monitoring/workflow.png and b/resources/oci/monitoring/workflow.png differ
diff --git a/resources/oci/network/cloud-service.png b/resources/oci/network/cloud-service.png
new file mode 100644
index 000000000..66ed43ab8
Binary files /dev/null and b/resources/oci/network/cloud-service.png differ
diff --git a/resources/oci/network/drg-white.png b/resources/oci/network/drg-white.png
deleted file mode 100644
index 348489777..000000000
Binary files a/resources/oci/network/drg-white.png and /dev/null differ
diff --git a/resources/oci/network/drg.png b/resources/oci/network/drg.png
index b1aaba9b2..01d194260 100644
Binary files a/resources/oci/network/drg.png and b/resources/oci/network/drg.png differ
diff --git a/resources/oci/network/firewall-white.png b/resources/oci/network/firewall-white.png
deleted file mode 100644
index 40f6631e3..000000000
Binary files a/resources/oci/network/firewall-white.png and /dev/null differ
diff --git a/resources/oci/network/firewall.png b/resources/oci/network/firewall.png
index 6c572b43a..cd4b66f5f 100644
Binary files a/resources/oci/network/firewall.png and b/resources/oci/network/firewall.png differ
diff --git a/resources/oci/network/internet-gateway-white.png b/resources/oci/network/internet-gateway-white.png
deleted file mode 100644
index b7a8a01e0..000000000
Binary files a/resources/oci/network/internet-gateway-white.png and /dev/null differ
diff --git a/resources/oci/network/internet-gateway.png b/resources/oci/network/internet-gateway.png
index 1762239a2..60848d0c0 100644
Binary files a/resources/oci/network/internet-gateway.png and b/resources/oci/network/internet-gateway.png differ
diff --git a/resources/oci/network/load-balancer-white.png b/resources/oci/network/load-balancer-white.png
deleted file mode 100644
index 12a3d33c7..000000000
Binary files a/resources/oci/network/load-balancer-white.png and /dev/null differ
diff --git a/resources/oci/network/load-balancer.png b/resources/oci/network/load-balancer.png
index 504a5acd8..15bd2b62c 100644
Binary files a/resources/oci/network/load-balancer.png and b/resources/oci/network/load-balancer.png differ
diff --git a/resources/oci/network/route-table-white.png b/resources/oci/network/route-table-white.png
deleted file mode 100644
index 0826ba4d9..000000000
Binary files a/resources/oci/network/route-table-white.png and /dev/null differ
diff --git a/resources/oci/network/route-table.png b/resources/oci/network/route-table.png
index 3733e06b2..5c3851f81 100644
Binary files a/resources/oci/network/route-table.png and b/resources/oci/network/route-table.png differ
diff --git a/resources/oci/network/router.png b/resources/oci/network/router.png
new file mode 100644
index 000000000..1daf34020
Binary files /dev/null and b/resources/oci/network/router.png differ
diff --git a/resources/oci/network/security-lists-white.png b/resources/oci/network/security-lists-white.png
deleted file mode 100644
index 6151b8b2a..000000000
Binary files a/resources/oci/network/security-lists-white.png and /dev/null differ
diff --git a/resources/oci/network/security-lists.png b/resources/oci/network/security-lists.png
index 8bcc72fe3..fdfcd82df 100644
Binary files a/resources/oci/network/security-lists.png and b/resources/oci/network/security-lists.png differ
diff --git a/resources/oci/network/service-gateway-white.png b/resources/oci/network/service-gateway-white.png
deleted file mode 100644
index b0d820d38..000000000
Binary files a/resources/oci/network/service-gateway-white.png and /dev/null differ
diff --git a/resources/oci/network/service-gateway.png b/resources/oci/network/service-gateway.png
index 548c87aff..d276c6179 100644
Binary files a/resources/oci/network/service-gateway.png and b/resources/oci/network/service-gateway.png differ
diff --git a/resources/oci/network/switch.png b/resources/oci/network/switch.png
new file mode 100644
index 000000000..f8e20b13f
Binary files /dev/null and b/resources/oci/network/switch.png differ
diff --git a/resources/oci/network/vcn-white.png b/resources/oci/network/vcn-white.png
deleted file mode 100644
index e217effe4..000000000
Binary files a/resources/oci/network/vcn-white.png and /dev/null differ
diff --git a/resources/oci/network/vcn.png b/resources/oci/network/vcn.png
index aefa7004c..7507a96f3 100644
Binary files a/resources/oci/network/vcn.png and b/resources/oci/network/vcn.png differ
diff --git a/resources/oci/security/cloud-guard-white.png b/resources/oci/security/cloud-guard-white.png
deleted file mode 100644
index db4a78d1d..000000000
Binary files a/resources/oci/security/cloud-guard-white.png and /dev/null differ
diff --git a/resources/oci/security/cloud-guard.png b/resources/oci/security/cloud-guard.png
index 8c7c8a5ea..ff7085047 100644
Binary files a/resources/oci/security/cloud-guard.png and b/resources/oci/security/cloud-guard.png differ
diff --git a/resources/oci/security/ddos-white.png b/resources/oci/security/ddos-white.png
deleted file mode 100644
index 6657c0b95..000000000
Binary files a/resources/oci/security/ddos-white.png and /dev/null differ
diff --git a/resources/oci/security/ddos.png b/resources/oci/security/ddos.png
index e2fafae40..b3fb256a0 100644
Binary files a/resources/oci/security/ddos.png and b/resources/oci/security/ddos.png differ
diff --git a/resources/oci/security/encryption-white.png b/resources/oci/security/encryption-white.png
deleted file mode 100644
index f85f35774..000000000
Binary files a/resources/oci/security/encryption-white.png and /dev/null differ
diff --git a/resources/oci/security/encryption.png b/resources/oci/security/encryption.png
index 16c1b1252..83e7d1d1a 100644
Binary files a/resources/oci/security/encryption.png and b/resources/oci/security/encryption.png differ
diff --git a/resources/oci/security/id-access-white.png b/resources/oci/security/id-access-white.png
deleted file mode 100644
index 597db4486..000000000
Binary files a/resources/oci/security/id-access-white.png and /dev/null differ
diff --git a/resources/oci/security/id-access.png b/resources/oci/security/id-access.png
index 0beebb1bc..c44862231 100644
Binary files a/resources/oci/security/id-access.png and b/resources/oci/security/id-access.png differ
diff --git a/resources/oci/security/key-management-white.png b/resources/oci/security/key-management-white.png
deleted file mode 100644
index 26cdeeaec..000000000
Binary files a/resources/oci/security/key-management-white.png and /dev/null differ
diff --git a/resources/oci/security/key-management.png b/resources/oci/security/key-management.png
index 83e43330f..c262d744f 100644
Binary files a/resources/oci/security/key-management.png and b/resources/oci/security/key-management.png differ
diff --git a/resources/oci/security/max-security-zone-white.png b/resources/oci/security/max-security-zone-white.png
deleted file mode 100644
index 27da254a6..000000000
Binary files a/resources/oci/security/max-security-zone-white.png and /dev/null differ
diff --git a/resources/oci/security/max-security-zone.png b/resources/oci/security/max-security-zone.png
index 71f98d528..6543108b6 100644
Binary files a/resources/oci/security/max-security-zone.png and b/resources/oci/security/max-security-zone.png differ
diff --git a/resources/oci/security/vault-white.png b/resources/oci/security/vault-white.png
deleted file mode 100644
index 74c18ff86..000000000
Binary files a/resources/oci/security/vault-white.png and /dev/null differ
diff --git a/resources/oci/security/vault.png b/resources/oci/security/vault.png
index 68789b9cc..8ff88ec1d 100644
Binary files a/resources/oci/security/vault.png and b/resources/oci/security/vault.png differ
diff --git a/resources/oci/security/waf-white.png b/resources/oci/security/waf-white.png
deleted file mode 100644
index c938ec282..000000000
Binary files a/resources/oci/security/waf-white.png and /dev/null differ
diff --git a/resources/oci/security/waf.png b/resources/oci/security/waf.png
index e268c9650..34b7c46d1 100644
Binary files a/resources/oci/security/waf.png and b/resources/oci/security/waf.png differ
diff --git a/resources/oci/storage/backup-restore-white.png b/resources/oci/storage/backup-restore-white.png
deleted file mode 100644
index e322b6aa3..000000000
Binary files a/resources/oci/storage/backup-restore-white.png and /dev/null differ
diff --git a/resources/oci/storage/backup-restore.png b/resources/oci/storage/backup-restore.png
index 5d9c34152..03e626b3e 100644
Binary files a/resources/oci/storage/backup-restore.png and b/resources/oci/storage/backup-restore.png differ
diff --git a/resources/oci/storage/block-storage-clone-white.png b/resources/oci/storage/block-storage-clone-white.png
deleted file mode 100644
index a372e484d..000000000
Binary files a/resources/oci/storage/block-storage-clone-white.png and /dev/null differ
diff --git a/resources/oci/storage/block-storage-clone.png b/resources/oci/storage/block-storage-clone.png
index f97b3da82..bff6105fd 100644
Binary files a/resources/oci/storage/block-storage-clone.png and b/resources/oci/storage/block-storage-clone.png differ
diff --git a/resources/oci/storage/block-storage-white.png b/resources/oci/storage/block-storage-white.png
deleted file mode 100644
index d78a1aaa6..000000000
Binary files a/resources/oci/storage/block-storage-white.png and /dev/null differ
diff --git a/resources/oci/storage/block-storage.png b/resources/oci/storage/block-storage.png
index c2408c4ea..e03402ab1 100644
Binary files a/resources/oci/storage/block-storage.png and b/resources/oci/storage/block-storage.png differ
diff --git a/resources/oci/storage/buckets-white.png b/resources/oci/storage/buckets-white.png
deleted file mode 100644
index 2607e45f4..000000000
Binary files a/resources/oci/storage/buckets-white.png and /dev/null differ
diff --git a/resources/oci/storage/buckets.png b/resources/oci/storage/buckets.png
index c93e6910f..e1e7cfc68 100644
Binary files a/resources/oci/storage/buckets.png and b/resources/oci/storage/buckets.png differ
diff --git a/resources/oci/storage/data-transfer-white.png b/resources/oci/storage/data-transfer-white.png
deleted file mode 100644
index 06e72e0ca..000000000
Binary files a/resources/oci/storage/data-transfer-white.png and /dev/null differ
diff --git a/resources/oci/storage/data-transfer.png b/resources/oci/storage/data-transfer.png
index ebdfe816d..0b03ba675 100644
Binary files a/resources/oci/storage/data-transfer.png and b/resources/oci/storage/data-transfer.png differ
diff --git a/resources/oci/storage/elastic-performance-white.png b/resources/oci/storage/elastic-performance-white.png
deleted file mode 100644
index ce8116f99..000000000
Binary files a/resources/oci/storage/elastic-performance-white.png and /dev/null differ
diff --git a/resources/oci/storage/elastic-performance.png b/resources/oci/storage/elastic-performance.png
index 627e2397e..bd3000b50 100644
Binary files a/resources/oci/storage/elastic-performance.png and b/resources/oci/storage/elastic-performance.png differ
diff --git a/resources/oci/storage/file-storage-white.png b/resources/oci/storage/file-storage-white.png
deleted file mode 100644
index 0380d32bc..000000000
Binary files a/resources/oci/storage/file-storage-white.png and /dev/null differ
diff --git a/resources/oci/storage/file-storage.png b/resources/oci/storage/file-storage.png
index c3cb4d9b4..37bf89fb1 100644
Binary files a/resources/oci/storage/file-storage.png and b/resources/oci/storage/file-storage.png differ
diff --git a/resources/oci/storage/local-storage.png b/resources/oci/storage/local-storage.png
new file mode 100644
index 000000000..3da870da2
Binary files /dev/null and b/resources/oci/storage/local-storage.png differ
diff --git a/resources/oci/storage/object-storage-white.png b/resources/oci/storage/object-storage-white.png
deleted file mode 100644
index 838b53539..000000000
Binary files a/resources/oci/storage/object-storage-white.png and /dev/null differ
diff --git a/resources/oci/storage/object-storage.png b/resources/oci/storage/object-storage.png
index 6bba0aa63..acb946705 100644
Binary files a/resources/oci/storage/object-storage.png and b/resources/oci/storage/object-storage.png differ
diff --git a/resources/oci/storage/persistent-volume.png b/resources/oci/storage/persistent-volume.png
new file mode 100644
index 000000000..cd2d8b004
Binary files /dev/null and b/resources/oci/storage/persistent-volume.png differ
diff --git a/resources/oci/storage/storage-gateway-white.png b/resources/oci/storage/storage-gateway-white.png
deleted file mode 100644
index 8b5dad4f8..000000000
Binary files a/resources/oci/storage/storage-gateway-white.png and /dev/null differ
diff --git a/resources/oci/storage/storage-gateway.png b/resources/oci/storage/storage-gateway.png
index 642e47afd..0700a2342 100644
Binary files a/resources/oci/storage/storage-gateway.png and b/resources/oci/storage/storage-gateway.png differ
diff --git a/resources/onprem/analytics/powerbi.png b/resources/onprem/analytics/powerbi.png
new file mode 100644
index 000000000..9783fc946
Binary files /dev/null and b/resources/onprem/analytics/powerbi.png differ
diff --git a/resources/onprem/monitoring/humio.png b/resources/onprem/monitoring/humio.png
new file mode 100644
index 000000000..bd36be109
Binary files /dev/null and b/resources/onprem/monitoring/humio.png differ
diff --git a/resources/onprem/monitoring/newrelic.png b/resources/onprem/monitoring/newrelic.png
new file mode 100644
index 000000000..908ccd088
Binary files /dev/null and b/resources/onprem/monitoring/newrelic.png differ
diff --git a/resources/onprem/vcs/gitea.png b/resources/onprem/vcs/gitea.png
new file mode 100644
index 000000000..8f2e3467d
Binary files /dev/null and b/resources/onprem/vcs/gitea.png differ
diff --git a/resources/programming/flowchart/action.png b/resources/programming/flowchart/action.png
new file mode 100644
index 000000000..28205f4b6
Binary files /dev/null and b/resources/programming/flowchart/action.png differ
diff --git a/resources/programming/flowchart/collate.png b/resources/programming/flowchart/collate.png
new file mode 100644
index 000000000..2d5be1c84
Binary files /dev/null and b/resources/programming/flowchart/collate.png differ
diff --git a/resources/programming/flowchart/database.png b/resources/programming/flowchart/database.png
new file mode 100644
index 000000000..78eb1718c
Binary files /dev/null and b/resources/programming/flowchart/database.png differ
diff --git a/resources/programming/flowchart/decision.png b/resources/programming/flowchart/decision.png
new file mode 100644
index 000000000..40b9293d2
Binary files /dev/null and b/resources/programming/flowchart/decision.png differ
diff --git a/resources/programming/flowchart/delay.png b/resources/programming/flowchart/delay.png
new file mode 100644
index 000000000..b859d173d
Binary files /dev/null and b/resources/programming/flowchart/delay.png differ
diff --git a/resources/programming/flowchart/display.png b/resources/programming/flowchart/display.png
new file mode 100644
index 000000000..1d50abfc1
Binary files /dev/null and b/resources/programming/flowchart/display.png differ
diff --git a/resources/programming/flowchart/document.png b/resources/programming/flowchart/document.png
new file mode 100644
index 000000000..02bb83c8c
Binary files /dev/null and b/resources/programming/flowchart/document.png differ
diff --git a/resources/programming/flowchart/input-output.png b/resources/programming/flowchart/input-output.png
new file mode 100644
index 000000000..4211d0a7b
Binary files /dev/null and b/resources/programming/flowchart/input-output.png differ
diff --git a/resources/programming/flowchart/inspection.png b/resources/programming/flowchart/inspection.png
new file mode 100644
index 000000000..64fbdc0d5
Binary files /dev/null and b/resources/programming/flowchart/inspection.png differ
diff --git a/resources/programming/flowchart/internal-storage.png b/resources/programming/flowchart/internal-storage.png
new file mode 100644
index 000000000..65baf6ef5
Binary files /dev/null and b/resources/programming/flowchart/internal-storage.png differ
diff --git a/resources/programming/flowchart/loop-limit.png b/resources/programming/flowchart/loop-limit.png
new file mode 100644
index 000000000..29813f993
Binary files /dev/null and b/resources/programming/flowchart/loop-limit.png differ
diff --git a/resources/programming/flowchart/manual-input.png b/resources/programming/flowchart/manual-input.png
new file mode 100644
index 000000000..517786ac5
Binary files /dev/null and b/resources/programming/flowchart/manual-input.png differ
diff --git a/resources/programming/flowchart/manual-loop.png b/resources/programming/flowchart/manual-loop.png
new file mode 100644
index 000000000..13d1e9f05
Binary files /dev/null and b/resources/programming/flowchart/manual-loop.png differ
diff --git a/resources/programming/flowchart/merge.png b/resources/programming/flowchart/merge.png
new file mode 100644
index 000000000..d6a5851b6
Binary files /dev/null and b/resources/programming/flowchart/merge.png differ
diff --git a/resources/programming/flowchart/multiple-documents.png b/resources/programming/flowchart/multiple-documents.png
new file mode 100644
index 000000000..ed376aace
Binary files /dev/null and b/resources/programming/flowchart/multiple-documents.png differ
diff --git a/resources/programming/flowchart/off-page-connector-left.png b/resources/programming/flowchart/off-page-connector-left.png
new file mode 100644
index 000000000..afc8d5bb8
Binary files /dev/null and b/resources/programming/flowchart/off-page-connector-left.png differ
diff --git a/resources/programming/flowchart/off-page-connector-right.png b/resources/programming/flowchart/off-page-connector-right.png
new file mode 100644
index 000000000..a12825014
Binary files /dev/null and b/resources/programming/flowchart/off-page-connector-right.png differ
diff --git a/resources/programming/flowchart/or.png b/resources/programming/flowchart/or.png
new file mode 100644
index 000000000..2cb2402fc
Binary files /dev/null and b/resources/programming/flowchart/or.png differ
diff --git a/resources/programming/flowchart/predefined-process.png b/resources/programming/flowchart/predefined-process.png
new file mode 100644
index 000000000..f052d7bf0
Binary files /dev/null and b/resources/programming/flowchart/predefined-process.png differ
diff --git a/resources/programming/flowchart/preparation.png b/resources/programming/flowchart/preparation.png
new file mode 100644
index 000000000..50aab196d
Binary files /dev/null and b/resources/programming/flowchart/preparation.png differ
diff --git a/resources/programming/flowchart/sort.png b/resources/programming/flowchart/sort.png
new file mode 100644
index 000000000..08718b4aa
Binary files /dev/null and b/resources/programming/flowchart/sort.png differ
diff --git a/resources/programming/flowchart/start-end.png b/resources/programming/flowchart/start-end.png
new file mode 100644
index 000000000..4772c3679
Binary files /dev/null and b/resources/programming/flowchart/start-end.png differ
diff --git a/resources/programming/flowchart/stored-data.png b/resources/programming/flowchart/stored-data.png
new file mode 100644
index 000000000..972e56090
Binary files /dev/null and b/resources/programming/flowchart/stored-data.png differ
diff --git a/resources/programming/flowchart/summing-junction.png b/resources/programming/flowchart/summing-junction.png
new file mode 100644
index 000000000..47e876b35
Binary files /dev/null and b/resources/programming/flowchart/summing-junction.png differ
diff --git a/resources/programming/framework/fastapi.png b/resources/programming/framework/fastapi.png
new file mode 100644
index 000000000..d79d51bf7
Binary files /dev/null and b/resources/programming/framework/fastapi.png differ
diff --git a/resources/programming/framework/micronaut.png b/resources/programming/framework/micronaut.png
new file mode 100644
index 000000000..9bdc97806
Binary files /dev/null and b/resources/programming/framework/micronaut.png differ
diff --git a/resources/saas/alerting/newrelic.png b/resources/saas/alerting/newrelic.png
new file mode 100644
index 000000000..908ccd088
Binary files /dev/null and b/resources/saas/alerting/newrelic.png differ
diff --git a/resources/saas/logging/newrelic.png b/resources/saas/logging/newrelic.png
new file mode 100644
index 000000000..908ccd088
Binary files /dev/null and b/resources/saas/logging/newrelic.png differ
diff --git a/scripts/generate.py b/scripts/generate.py
index 747f02417..7cbfb6c6a 100644
--- a/scripts/generate.py
+++ b/scripts/generate.py
@@ -2,7 +2,7 @@
import sys
from typing import Iterable
-from jinja2 import Environment, FileSystemLoader, Template
+from jinja2 import Environment, FileSystemLoader, Template, exceptions
import config as cfg
from . import app_root_dir, doc_root_dir, resource_dir, template_dir
@@ -43,7 +43,12 @@ def _gen_class_meta(path: str) -> dict:
def gen_apidoc(pvd: str, typ_paths: dict) -> str:
- tmpl = load_tmpl(cfg.TMPL_APIDOC)
+ try:
+ default_tmp = cfg.TMPL_APIDOC.split('.')
+ tmpl_file = f"{default_tmp[0]}_{pvd}.{default_tmp[1]}"
+ tmpl = load_tmpl(tmpl_file)
+ except exceptions.TemplateNotFound:
+ tmpl = load_tmpl(cfg.TMPL_APIDOC)
# TODO: remove
def _gen_class_name(path: str) -> str:
diff --git a/scripts/resource.py b/scripts/resource.py
index 1bf58d808..164a6f2e9 100644
--- a/scripts/resource.py
+++ b/scripts/resource.py
@@ -56,6 +56,16 @@ def cleaner_gcp(f):
return f.lower()
+def cleaner_ibm(f):
+ f = f.replace("_", "-")
+ f = "-".join(f.split())
+ for p in cfg.FILE_PREFIXES["ibm"]:
+ if f.startswith(p):
+ f = f[len(p) :]
+ break
+ return f.lower()
+
+
def cleaner_firebase(f):
f = f.replace("_", "-")
f = "-".join(f.split())
@@ -126,6 +136,7 @@ def cleaner_terraform(f):
"aws": cleaner_aws,
"azure": cleaner_azure,
"gcp": cleaner_gcp,
+ "ibm": cleaner_ibm,
"firebase": cleaner_firebase,
"k8s": cleaner_k8s,
"alibabacloud": cleaner_alibabacloud,
diff --git a/templates/apidoc_custom.tmpl b/templates/apidoc_custom.tmpl
new file mode 100644
index 000000000..d3c882007
--- /dev/null
+++ b/templates/apidoc_custom.tmpl
@@ -0,0 +1,6 @@
+---
+id: {{ pvd }}
+title: {{ pvd|up_or_title(pvd) }}
+---
+
+For a full example check: [Here](https://diagrams.mingrammer.com/docs/getting-started/examples#rabbitmq-consumers-with-custom-nodes).
diff --git a/website/i18n/en.json b/website/i18n/en.json
index 00bb5536c..4a47825a1 100644
--- a/website/i18n/en.json
+++ b/website/i18n/en.json
@@ -32,6 +32,9 @@
"nodes/azure": {
"title": "Azure"
},
+ "nodes/custom": {
+ "title": "Custom"
+ },
"nodes/elastic": {
"title": "Elastic"
},
@@ -44,6 +47,9 @@
"nodes/generic": {
"title": "Generic"
},
+ "nodes/ibm": {
+ "title": "IBM"
+ },
"nodes/k8s": {
"title": "K8S"
},
diff --git a/website/sidebars.json b/website/sidebars.json
index a96971143..0f53f300f 100644
--- a/website/sidebars.json
+++ b/website/sidebars.json
@@ -24,7 +24,8 @@
"nodes/elastic",
"nodes/generic",
"nodes/programming",
- "nodes/saas"
+ "nodes/saas",
+ "nodes/custom"
]
}
-}
\ No newline at end of file
+}
diff --git a/website/static/img/custom_local.png b/website/static/img/custom_local.png
new file mode 100644
index 000000000..55b817663
Binary files /dev/null and b/website/static/img/custom_local.png differ
diff --git a/website/static/img/custom_remote.png b/website/static/img/custom_remote.png
new file mode 100644
index 000000000..31e2b1bbb
Binary files /dev/null and b/website/static/img/custom_remote.png differ