Merge branch 'master' into patch-2

pull/1088/head
gabriel-tessier 1 month ago committed by GitHub
commit b416b58bd0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1,29 @@
# 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 xdg-utils \
nodejs npm
# install go package.
RUN go install github.com/mingrammer/round@latest
# install fonts
RUN curl -O https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip \
&& mkdir -p /usr/share/fonts/NotoSansCJKjp \
&& unzip NotoSansCJKjp-hinted.zip -d /usr/share/fonts/NotoSansCJKjp/ \
&& rm NotoSansCJKjp-hinted.zip \
&& fc-cache -fv
# add go bin to path.
ENV PATH "$PATH:/root/go/bin"
# project directory.
WORKDIR /usr/src/diagrams
# Copy the rest of your app's source code from your host to your image filesystem.
COPY . .
# install python requirements.
RUN pip install black graphviz jinja2

@ -0,0 +1,38 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker
{
"name": "Diagrams",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
// "image": "mcr.microsoft.com/devcontainers/base:bullseye",
"build":{
"dockerfile": "../docker/dev/Dockerfile"
},
// Use this environment variable if you need to bind mount your local source code into a new container.
// "remoteEnv": {
// "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
// }
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "docker --version",
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.debugpy",
"mhutchie.git-graph",
"mutantdino.resourcemonitor",
"tehpeng.diagramspreviewer"
]
}
}
"workspaceMount": "source=${localWorkspaceFolder},target=/usr/src/diagrams,type=bind",
"workspaceFolder": "/usr/src/diagrams"
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}

@ -43,6 +43,45 @@ Then just run the `./autogen.sh` to generate the added or updated node classes.
[black]: https://pypi.org/project/black
[inkscape]: https://inkscape.org/ko/release
#### Update Specific Instructions for Azure Icons
Download and unzip [Azure Icons](https://learn.microsoft.com/en-us/azure/architecture/icons/)
Execute inside Azure_Public_Service_Icons/Icons/
```bash
# Rename some diretories
mv ai\ +\ machine\ learning/ aimachinelearning/
mv app\ services/ appservices
mv azure\ stack/ azurestack
mv azure\ ecosystem/ azureecosystem
mv management\ +\ governance/ managementgovernance
mv mixed\ reality mixedreality
mv new\ icons/ newicons
# Convert Name to name
rename -f 'y/A-Z/a-z/' ./*/*
# Create png files and eliminate ?????-icon-service from namefile
find . -type f -name "*.svg" -exec bash -c 'inkscape -h 256 --export-filename="${0%.svg}.png" "$0";mv "${0%.svg}.png" "$(echo "${0%.svg}.png" | sed -r 's/[0-9]{5}-icon-service-//')"' {} \;
# Delete svg files
find . -type f -name "*.svg" -exec bash -c 'rm "$0"' {} \;
```
If you get any errors with autogen, it will probably be a '+' in filename
### Add new provider
To add a new provider to Diagrams, please follow the steps below in addition to the image intructions above:
- in `autogen.sh` add in the `providers` variable the new provider code
- in `config.py`:
- in the `providers` variable, add the new provider code
- in the `FILE_PREFIXES` variable, add a new entry with your new provider code. And eventually a file prefix
- Optionnaly, update the `UPPER_WORDS` variable to a new entry with your new provider code.
- in the `ALIASES` variable, add a new entry with your new provider code. See below on how to add new aliases.
- in `scripts/resource.py`:
- add a function `cleaner_XXX` (replace XXX by your provider name). For the implementation look at the existing functions
- in the `cleaners` variable, add an entry with your new provider code and the function defined above
- in `sidebars.json`, update the `Nodes` array to add the reference of the new provider
- in the `diagrams` folder, add a new file `__init__.py` for the new provider. For the content look at the existing providers
### Update Aliases
Some node classes have alias. For example, `aws.compute.ECS` class is an alias

@ -82,6 +82,8 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md).
[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.
[KubeDiagrams](https://github.com/philippemerle/KubeDiagrams) is a tool to generate Kubernetes architecture diagrams from Kubernetes manifest files, kustomization files, Helm charts, and actual cluster state. [KubeDiagrams](https://github.com/philippemerle/KubeDiagrams) supports all Kubernetes built-in resources, any custom resources, and label-based resource clustering.
## Other languages
- If you are familiar with Go, you can use [go-diagrams](https://github.com/blushft/go-diagrams) as well.

@ -1,5 +1,5 @@
#!/bin/bash
echo "starting"
app_root_dir="diagrams"
# NOTE: azure icon set is not latest version
@ -20,6 +20,7 @@ providers=(
"generic"
"openstack"
"outscale"
"gis"
)
if ! [ -x "$(command -v round)" ]; then

@ -29,6 +29,7 @@ PROVIDERS = (
"generic",
"openstack",
"outscale",
"gis"
)
#########################
@ -59,6 +60,7 @@ FILE_PREFIXES = {
"outscale": (),
"generic": (),
"openstack": (),
"gis": (),
}
#########################
@ -76,7 +78,7 @@ TMPL_MODULE = "module.tmpl"
UPPER_WORDS = {
"aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "nat", "vpc", "waf", "sdk"),
"azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm", "vpn", "vpc"),
"gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"),
"gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ids", "ml", "nat", "os", "sdk", "sql", "ssd", "tpu", "vpn"),
"firebase": ("ab", "fcm", "ml"),
"k8s": (
"api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs",
@ -87,8 +89,9 @@ UPPER_WORDS = {
"generic": ("vpn", "ios", "xen", "sql", "lxc"),
"outscale": ("osc",),
"openstack": ("rpm", "loci", "nfv", "ec2api"),
"pve": ("pve"),
"ibm": ("ibm"),
"pve": ("pve",),
"ibm": ("ibm",),
"gis": ("gis","ban","ign","ogc","qgis","wfs","wms"),
}
TITLE_WORDS = {
@ -143,6 +146,7 @@ ALIASES = {
"Mssql": "MSSQL",
"Mysql": "MySQL",
"Postgresql": "PostgreSQL",
"Qdrant": "Qdrant",
},
"gitops": {
"Argocd": "ArgoCD",
@ -285,9 +289,10 @@ ALIASES = {
},
"compute": {
"AppEngine": "GAE",
"Functions": "GCF",
"ComputeEngine": "GCE",
"Functions": "GCF",
"KubernetesEngine": "GKE",
"Run": "CloudRun",
},
"database": {
"Bigtable": "BigTable",
@ -295,6 +300,9 @@ ALIASES = {
"devtools": {
"ContainerRegistry": "GCR",
},
"migration": {
"MigrateComputeEngine": "CE",
},
"ml": {
"Automl": "AutoML",
"NaturalLanguageAPI": "NLAPI",
@ -302,13 +310,17 @@ ALIASES = {
"TextToSpeech": "TTS",
},
"network": {
"VirtualPrivateCloud": "VPC"
"CloudIDS": "IDS",
"PrivateServiceConnect": "PSC",
"VirtualPrivateCloud": "VPC",
},
"security": {
"AccessContextManager": "ACM",
"KeyManagementService": "KMS",
"SecurityCommandCenter": "SCC",
},
"storage": {
"LocalSSD": "SSD",
"Storage": "GCS",
},
},
@ -411,6 +423,7 @@ ALIASES = {
}
},
"digitalocean": {},
"gis": {},
"oci": {
"compute": {
"VM": "VirtualMachine",

@ -528,7 +528,7 @@ class Edge:
for o in other:
if isinstance(o, Edge):
o.forward = forward if forward else o.forward
o.reverse = forward if forward else o.reverse
o.reverse = reverse if reverse else o.reverse
self._attrs = o.attrs.copy()
result.append(o)
else:

@ -10,3 +10,7 @@ class _AlibabaCloud(Node):
_icon_dir = "resources/alibabacloud"
fontcolor = "#ffffff"
class AlibabaCloud(_AlibabaCloud):
_icon = "alibabacloud.png"

@ -10,3 +10,7 @@ class _AWS(Node):
_icon_dir = "resources/aws"
fontcolor = "#ffffff"
class AWS(_AWS):
_icon = "aws.png"

@ -92,10 +92,18 @@ class ElasticContainerServiceContainer(_Compute):
_icon = "elastic-container-service-container.png"
class ElasticContainerServiceServiceConnect(_Compute):
_icon = "elastic-container-service-service-connect.png"
class ElasticContainerServiceService(_Compute):
_icon = "elastic-container-service-service.png"
class ElasticContainerServiceTask(_Compute):
_icon = "elastic-container-service-task.png"
class ElasticContainerService(_Compute):
_icon = "elastic-container-service.png"

@ -20,6 +20,10 @@ class Cloud9(_Devtools):
_icon = "cloud9.png"
class Cloudshell(_Devtools):
_icon = "cloudshell.png"
class Codeartifact(_Devtools):
_icon = "codeartifact.png"

@ -32,10 +32,30 @@ class EventbridgeDefaultEventBusResource(_Integration):
_icon = "eventbridge-default-event-bus-resource.png"
class EventbridgeEvent(_Integration):
_icon = "eventbridge-event.png"
class EventbridgePipes(_Integration):
_icon = "eventbridge-pipes.png"
class EventbridgeRule(_Integration):
_icon = "eventbridge-rule.png"
class EventbridgeSaasPartnerEventBusResource(_Integration):
_icon = "eventbridge-saas-partner-event-bus-resource.png"
class EventbridgeScheduler(_Integration):
_icon = "eventbridge-scheduler.png"
class EventbridgeSchema(_Integration):
_icon = "eventbridge-schema.png"
class Eventbridge(_Integration):
_icon = "eventbridge.png"

@ -64,6 +64,10 @@ class CloudwatchEventTimeBased(_Management):
_icon = "cloudwatch-event-time-based.png"
class CloudwatchLogs(_Management):
_icon = "cloudwatch-logs.png"
class CloudwatchRule(_Management):
_icon = "cloudwatch-rule.png"
@ -232,6 +236,10 @@ class TrustedAdvisor(_Management):
_icon = "trusted-advisor.png"
class UserNotifications(_Management):
_icon = "user-notifications.png"
class WellArchitectedTool(_Management):
_icon = "well-architected-tool.png"

@ -16,6 +16,10 @@ class AugmentedAi(_ML):
_icon = "augmented-ai.png"
class Bedrock(_ML):
_icon = "bedrock.png"
class Comprehend(_ML):
_icon = "comprehend.png"
@ -72,6 +76,10 @@ class Polly(_ML):
_icon = "polly.png"
class Q(_ML):
_icon = "q.png"
class RekognitionImage(_ML):
_icon = "rekognition-image.png"
@ -116,6 +124,10 @@ class Transcribe(_ML):
_icon = "transcribe.png"
class Transform(_ML):
_icon = "transform.png"
class Translate(_ML):
_icon = "translate.png"

@ -140,6 +140,10 @@ class SecurityIdentityAndCompliance(_Security):
_icon = "security-identity-and-compliance.png"
class SecurityLake(_Security):
_icon = "security-lake.png"
class ShieldAdvanced(_Security):
_icon = "shield-advanced.png"

@ -10,3 +10,7 @@ class _Azure(Node):
_icon_dir = "resources/azure"
fontcolor = "#ffffff"
class Azure(_Azure):
_icon = "azure.png"

@ -0,0 +1,139 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Aimachinelearning(_Azure):
_type = "aimachinelearning"
_icon_dir = "resources/azure/aimachinelearning"
class AIStudio(_Aimachinelearning):
_icon = "ai-studio.png"
class AnomalyDetector(_Aimachinelearning):
_icon = "anomaly-detector.png"
class AzureAppliedAIServices(_Aimachinelearning):
_icon = "azure-applied-ai-services.png"
class AzureExperimentationStudio(_Aimachinelearning):
_icon = "azure-experimentation-studio.png"
class AzureObjectUnderstanding(_Aimachinelearning):
_icon = "azure-object-understanding.png"
class AzureOpenai(_Aimachinelearning):
_icon = "azure-openai.png"
class BatchAI(_Aimachinelearning):
_icon = "batch-ai.png"
class Bonsai(_Aimachinelearning):
_icon = "bonsai.png"
class BotServices(_Aimachinelearning):
_icon = "bot-services.png"
class CognitiveSearch(_Aimachinelearning):
_icon = "cognitive-search.png"
class CognitiveServicesDecisions(_Aimachinelearning):
_icon = "cognitive-services-decisions.png"
class CognitiveServices(_Aimachinelearning):
_icon = "cognitive-services.png"
class ComputerVision(_Aimachinelearning):
_icon = "computer-vision.png"
class ContentModerators(_Aimachinelearning):
_icon = "content-moderators.png"
class CustomVision(_Aimachinelearning):
_icon = "custom-vision.png"
class FaceApis(_Aimachinelearning):
_icon = "face-apis.png"
class FormRecognizers(_Aimachinelearning):
_icon = "form-recognizers.png"
class GenomicsAccounts(_Aimachinelearning):
_icon = "genomics-accounts.png"
class Genomics(_Aimachinelearning):
_icon = "genomics.png"
class ImmersiveReaders(_Aimachinelearning):
_icon = "immersive-readers.png"
class LanguageUnderstanding(_Aimachinelearning):
_icon = "language-understanding.png"
class Language(_Aimachinelearning):
_icon = "language.png"
class MachineLearningStudioClassicWebServices(_Aimachinelearning):
_icon = "machine-learning-studio-classic-web-services.png"
class MachineLearningStudioWebServicePlans(_Aimachinelearning):
_icon = "machine-learning-studio-web-service-plans.png"
class MachineLearningStudioWorkspaces(_Aimachinelearning):
_icon = "machine-learning-studio-workspaces.png"
class MachineLearning(_Aimachinelearning):
_icon = "machine-learning.png"
class MetricsAdvisor(_Aimachinelearning):
_icon = "metrics-advisor.png"
class Personalizers(_Aimachinelearning):
_icon = "personalizers.png"
class QnaMakers(_Aimachinelearning):
_icon = "qna-makers.png"
class ServerlessSearch(_Aimachinelearning):
_icon = "serverless-search.png"
class SpeechServices(_Aimachinelearning):
_icon = "speech-services.png"
class TranslatorText(_Aimachinelearning):
_icon = "translator-text.png"
# Aliases

@ -12,6 +12,22 @@ class AnalysisServices(_Analytics):
_icon = "analysis-services.png"
class AzureDataExplorerClusters(_Analytics):
_icon = "azure-data-explorer-clusters.png"
class AzureDatabricks(_Analytics):
_icon = "azure-databricks.png"
class AzureSynapseAnalytics(_Analytics):
_icon = "azure-synapse-analytics.png"
class AzureWorkbooks(_Analytics):
_icon = "azure-workbooks.png"
class DataExplorerClusters(_Analytics):
_icon = "data-explorer-clusters.png"
@ -32,6 +48,10 @@ class Databricks(_Analytics):
_icon = "databricks.png"
class EndpointAnalytics(_Analytics):
_icon = "endpoint-analytics.png"
class EventHubClusters(_Analytics):
_icon = "event-hub-clusters.png"
@ -40,14 +60,26 @@ class EventHubs(_Analytics):
_icon = "event-hubs.png"
class Hdinsightclusters(_Analytics):
_icon = "hdinsightclusters.png"
class HDInsightClusters(_Analytics):
_icon = "hd-insight-clusters.png"
class LogAnalyticsWorkspaces(_Analytics):
_icon = "log-analytics-workspaces.png"
class PowerBiEmbedded(_Analytics):
_icon = "power-bi-embedded.png"
class PowerPlatform(_Analytics):
_icon = "power-platform.png"
class PrivateLinkServices(_Analytics):
_icon = "private-link-services.png"
class StreamAnalyticsJobs(_Analytics):
_icon = "stream-analytics-jobs.png"

@ -0,0 +1,43 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Appservices(_Azure):
_type = "appservices"
_icon_dir = "resources/azure/appservices"
class AppServiceCertificates(_Appservices):
_icon = "app-service-certificates.png"
class AppServiceDomains(_Appservices):
_icon = "app-service-domains.png"
class AppServiceEnvironments(_Appservices):
_icon = "app-service-environments.png"
class AppServicePlans(_Appservices):
_icon = "app-service-plans.png"
class AppServices(_Appservices):
_icon = "app-services.png"
class CDNProfiles(_Appservices):
_icon = "cdn-profiles.png"
class CognitiveSearch(_Appservices):
_icon = "cognitive-search.png"
class NotificationHubs(_Appservices):
_icon = "notification-hubs.png"
# Aliases

@ -0,0 +1,23 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Azureecosystem(_Azure):
_type = "azureecosystem"
_icon_dir = "resources/azure/azureecosystem"
class Applens(_Azureecosystem):
_icon = "applens.png"
class AzureHybridCenter(_Azureecosystem):
_icon = "azure-hybrid-center.png"
class CollaborativeService(_Azureecosystem):
_icon = "collaborative-service.png"
# Aliases

@ -0,0 +1,39 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Azurestack(_Azure):
_type = "azurestack"
_icon_dir = "resources/azure/azurestack"
class Capacity(_Azurestack):
_icon = "capacity.png"
class InfrastructureBackup(_Azurestack):
_icon = "infrastructure-backup.png"
class MultiTenancy(_Azurestack):
_icon = "multi-tenancy.png"
class Offers(_Azurestack):
_icon = "offers.png"
class Plans(_Azurestack):
_icon = "plans.png"
class Updates(_Azurestack):
_icon = "updates.png"
class UserSubscriptions(_Azurestack):
_icon = "user-subscriptions.png"
# Aliases

@ -0,0 +1,35 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Blockchain(_Azure):
_type = "blockchain"
_icon_dir = "resources/azure/blockchain"
class AbsMember(_Blockchain):
_icon = "abs-member.png"
class AzureBlockchainService(_Blockchain):
_icon = "azure-blockchain-service.png"
class AzureTokenService(_Blockchain):
_icon = "azure-token-service.png"
class BlockchainApplications(_Blockchain):
_icon = "blockchain-applications.png"
class Consortium(_Blockchain):
_icon = "consortium.png"
class OutboundConnection(_Blockchain):
_icon = "outbound-connection.png"
# Aliases

@ -12,6 +12,10 @@ class AppServices(_Compute):
_icon = "app-services.png"
class ApplicationGroup(_Compute):
_icon = "application-group.png"
class AutomanagedVM(_Compute):
_icon = "automanaged-vm.png"
@ -20,6 +24,14 @@ class AvailabilitySets(_Compute):
_icon = "availability-sets.png"
class AzureComputeGalleries(_Compute):
_icon = "azure-compute-galleries.png"
class AzureSpringApps(_Compute):
_icon = "azure-spring-apps.png"
class BatchAccounts(_Compute):
_icon = "batch-accounts.png"
@ -52,6 +64,10 @@ class ContainerRegistries(_Compute):
_icon = "container-registries.png"
class ContainerServicesDeprecated(_Compute):
_icon = "container-services-deprecated.png"
class DiskEncryptionSets(_Compute):
_icon = "disk-encryption-sets.png"
@ -60,6 +76,14 @@ class DiskSnapshots(_Compute):
_icon = "disk-snapshots.png"
class DisksClassic(_Compute):
_icon = "disks-classic.png"
class DisksSnapshots(_Compute):
_icon = "disks-snapshots.png"
class Disks(_Compute):
_icon = "disks.png"
@ -68,26 +92,70 @@ class FunctionApps(_Compute):
_icon = "function-apps.png"
class HostGroups(_Compute):
_icon = "host-groups.png"
class HostPools(_Compute):
_icon = "host-pools.png"
class Hosts(_Compute):
_icon = "hosts.png"
class ImageDefinitions(_Compute):
_icon = "image-definitions.png"
class ImageTemplates(_Compute):
_icon = "image-templates.png"
class ImageVersions(_Compute):
_icon = "image-versions.png"
class Images(_Compute):
_icon = "images.png"
class KubernetesServices(_Compute):
_icon = "kubernetes-services.png"
class MaintenanceConfiguration(_Compute):
_icon = "maintenance-configuration.png"
class ManagedServiceFabric(_Compute):
_icon = "managed-service-fabric.png"
class MeshApplications(_Compute):
_icon = "mesh-applications.png"
class MetricsAdvisor(_Compute):
_icon = "metrics-advisor.png"
class OsImagesClassic(_Compute):
_icon = "os-images-classic.png"
class OsImages(_Compute):
_icon = "os-images.png"
class RestorePointsCollections(_Compute):
_icon = "restore-points-collections.png"
class RestorePoints(_Compute):
_icon = "restore-points.png"
class SAPHANAOnAzure(_Compute):
_icon = "sap-hana-on-azure.png"
@ -104,10 +172,22 @@ class SpringCloud(_Compute):
_icon = "spring-cloud.png"
class VirtualMachine(_Compute):
_icon = "virtual-machine.png"
class VirtualMachinesClassic(_Compute):
_icon = "virtual-machines-classic.png"
class VMClassic(_Compute):
_icon = "vm-classic.png"
class VMImagesClassic(_Compute):
_icon = "vm-images-classic.png"
class VMImages(_Compute):
_icon = "vm-images.png"
@ -120,6 +200,10 @@ class VMScaleSet(_Compute):
_icon = "vm-scale-set.png"
class VMScaleSets(_Compute):
_icon = "vm-scale-sets.png"
class VMWindows(_Compute):
_icon = "vm-windows.png"
@ -128,6 +212,10 @@ class VM(_Compute):
_icon = "vm.png"
class Workspaces2(_Compute):
_icon = "workspaces-2.png"
class Workspaces(_Compute):
_icon = "workspaces.png"

@ -0,0 +1,39 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Containers(_Azure):
_type = "containers"
_icon_dir = "resources/azure/containers"
class AppServices(_Containers):
_icon = "app-services.png"
class AzureRedHatOpenshift(_Containers):
_icon = "azure-red-hat-openshift.png"
class BatchAccounts(_Containers):
_icon = "batch-accounts.png"
class ContainerInstances(_Containers):
_icon = "container-instances.png"
class ContainerRegistries(_Containers):
_icon = "container-registries.png"
class KubernetesServices(_Containers):
_icon = "kubernetes-services.png"
class ServiceFabricClusters(_Containers):
_icon = "service-fabric-clusters.png"
# Aliases

@ -0,0 +1,119 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Databases(_Azure):
_type = "databases"
_icon_dir = "resources/azure/databases"
class AzureCosmosDb(_Databases):
_icon = "azure-cosmos-db.png"
class AzureDataExplorerClusters(_Databases):
_icon = "azure-data-explorer-clusters.png"
class AzureDatabaseMariadbServer(_Databases):
_icon = "azure-database-mariadb-server.png"
class AzureDatabaseMigrationServices(_Databases):
_icon = "azure-database-migration-services.png"
class AzureDatabaseMysqlServer(_Databases):
_icon = "azure-database-mysql-server.png"
class AzureDatabasePostgresqlServerGroup(_Databases):
_icon = "azure-database-postgresql-server-group.png"
class AzureDatabasePostgresqlServer(_Databases):
_icon = "azure-database-postgresql-server.png"
class AzurePurviewAccounts(_Databases):
_icon = "azure-purview-accounts.png"
class AzureSQLEdge(_Databases):
_icon = "azure-sql-edge.png"
class AzureSQLServerStretchDatabases(_Databases):
_icon = "azure-sql-server-stretch-databases.png"
class AzureSQLVM(_Databases):
_icon = "azure-sql-vm.png"
class AzureSQL(_Databases):
_icon = "azure-sql.png"
class AzureSynapseAnalytics(_Databases):
_icon = "azure-synapse-analytics.png"
class CacheRedis(_Databases):
_icon = "cache-redis.png"
class DataFactories(_Databases):
_icon = "data-factories.png"
class ElasticJobAgents(_Databases):
_icon = "elastic-job-agents.png"
class InstancePools(_Databases):
_icon = "instance-pools.png"
class ManagedDatabase(_Databases):
_icon = "managed-database.png"
class OracleDatabase(_Databases):
_icon = "oracle-database.png"
class SQLDataWarehouses(_Databases):
_icon = "sql-data-warehouses.png"
class SQLDatabase(_Databases):
_icon = "sql-database.png"
class SQLElasticPools(_Databases):
_icon = "sql-elastic-pools.png"
class SQLManagedInstance(_Databases):
_icon = "sql-managed-instance.png"
class SQLServerRegistries(_Databases):
_icon = "sql-server-registries.png"
class SQLServer(_Databases):
_icon = "sql-server.png"
class SsisLiftAndShiftIr(_Databases):
_icon = "ssis-lift-and-shift-ir.png"
class VirtualClusters(_Databases):
_icon = "virtual-clusters.png"
# Aliases

@ -8,6 +8,14 @@ class _Devops(_Azure):
_icon_dir = "resources/azure/devops"
class APIConnections(_Devops):
_icon = "api-connections.png"
class APIManagementServices(_Devops):
_icon = "api-management-services.png"
class ApplicationInsights(_Devops):
_icon = "application-insights.png"
@ -16,10 +24,30 @@ class Artifacts(_Devops):
_icon = "artifacts.png"
class AzureDevops(_Devops):
_icon = "azure-devops.png"
class Boards(_Devops):
_icon = "boards.png"
class ChangeAnalysis(_Devops):
_icon = "change-analysis.png"
class Cloudtest(_Devops):
_icon = "cloudtest.png"
class CodeOptimization(_Devops):
_icon = "code-optimization.png"
class DevopsStarter(_Devops):
_icon = "devops-starter.png"
class Devops(_Devops):
_icon = "devops.png"
@ -28,10 +56,18 @@ class DevtestLabs(_Devops):
_icon = "devtest-labs.png"
class LabAccounts(_Devops):
_icon = "lab-accounts.png"
class LabServices(_Devops):
_icon = "lab-services.png"
class LoadTesting(_Devops):
_icon = "load-testing.png"
class Pipelines(_Devops):
_icon = "pipelines.png"

@ -8,6 +8,10 @@ class _General(_Azure):
_icon_dir = "resources/azure/general"
class AllResources(_General):
_icon = "all-resources.png"
class Allresources(_General):
_icon = "allresources.png"
@ -16,26 +20,274 @@ class Azurehome(_General):
_icon = "azurehome.png"
class Backlog(_General):
_icon = "backlog.png"
class BizTalk(_General):
_icon = "biz-talk.png"
class BlobBlock(_General):
_icon = "blob-block.png"
class BlobPage(_General):
_icon = "blob-page.png"
class Branch(_General):
_icon = "branch.png"
class Browser(_General):
_icon = "browser.png"
class Bug(_General):
_icon = "bug.png"
class Builds(_General):
_icon = "builds.png"
class Cache(_General):
_icon = "cache.png"
class Code(_General):
_icon = "code.png"
class Commit(_General):
_icon = "commit.png"
class ControlsHorizontal(_General):
_icon = "controls-horizontal.png"
class Controls(_General):
_icon = "controls.png"
class CostAlerts(_General):
_icon = "cost-alerts.png"
class CostAnalysis(_General):
_icon = "cost-analysis.png"
class CostBudgets(_General):
_icon = "cost-budgets.png"
class CostManagementAndBilling(_General):
_icon = "cost-management-and-billing.png"
class CostManagement(_General):
_icon = "cost-management.png"
class Counter(_General):
_icon = "counter.png"
class Cubes(_General):
_icon = "cubes.png"
class Dashboard(_General):
_icon = "dashboard.png"
class DevConsole(_General):
_icon = "dev-console.png"
class Developertools(_General):
_icon = "developertools.png"
class Download(_General):
_icon = "download.png"
class Error(_General):
_icon = "error.png"
class Extensions(_General):
_icon = "extensions.png"
class FeaturePreviews(_General):
_icon = "feature-previews.png"
class File(_General):
_icon = "file.png"
class Files(_General):
_icon = "files.png"
class FolderBlank(_General):
_icon = "folder-blank.png"
class FolderWebsite(_General):
_icon = "folder-website.png"
class FreeServices(_General):
_icon = "free-services.png"
class Ftp(_General):
_icon = "ftp.png"
class Gear(_General):
_icon = "gear.png"
class GlobeError(_General):
_icon = "globe-error.png"
class GlobeSuccess(_General):
_icon = "globe-success.png"
class GlobeWarning(_General):
_icon = "globe-warning.png"
class Guide(_General):
_icon = "guide.png"
class Heart(_General):
_icon = "heart.png"
class HelpAndSupport(_General):
_icon = "help-and-support.png"
class Helpsupport(_General):
_icon = "helpsupport.png"
class Image(_General):
_icon = "image.png"
class Information(_General):
_icon = "information.png"
class InputOutput(_General):
_icon = "input-output.png"
class JourneyHub(_General):
_icon = "journey-hub.png"
class LaunchPortal(_General):
_icon = "launch-portal.png"
class Learn(_General):
_icon = "learn.png"
class LoadTest(_General):
_icon = "load-test.png"
class Location(_General):
_icon = "location.png"
class LogStreaming(_General):
_icon = "log-streaming.png"
class ManagementGroups(_General):
_icon = "management-groups.png"
class ManagementPortal(_General):
_icon = "management-portal.png"
class Managementgroups(_General):
_icon = "managementgroups.png"
class MarketplaceManagement(_General):
_icon = "marketplace-management.png"
class Marketplace(_General):
_icon = "marketplace.png"
class MediaFile(_General):
_icon = "media-file.png"
class Media(_General):
_icon = "media.png"
class MobileEngagement(_General):
_icon = "mobile-engagement.png"
class Mobile(_General):
_icon = "mobile.png"
class Module(_General):
_icon = "module.png"
class PowerUp(_General):
_icon = "power-up.png"
class Power(_General):
_icon = "power.png"
class Powershell(_General):
_icon = "powershell.png"
class PreviewFeatures(_General):
_icon = "preview-features.png"
class ProcessExplorer(_General):
_icon = "process-explorer.png"
class ProductionReadyDatabase(_General):
_icon = "production-ready-database.png"
class QuickstartCenter(_General):
_icon = "quickstart-center.png"
class Quickstartcenter(_General):
_icon = "quickstartcenter.png"
@ -44,10 +296,30 @@ class Recent(_General):
_icon = "recent.png"
class RegionManagement(_General):
_icon = "region-management.png"
class Reservations(_General):
_icon = "reservations.png"
class ResourceExplorer(_General):
_icon = "resource-explorer.png"
class ResourceGroupList(_General):
_icon = "resource-group-list.png"
class ResourceGroups(_General):
_icon = "resource-groups.png"
class ResourceLinked(_General):
_icon = "resource-linked.png"
class Resource(_General):
_icon = "resource.png"
@ -56,6 +328,26 @@ class Resourcegroups(_General):
_icon = "resourcegroups.png"
class Scheduler(_General):
_icon = "scheduler.png"
class SearchGrid(_General):
_icon = "search-grid.png"
class Search(_General):
_icon = "search.png"
class ServerFarm(_General):
_icon = "server-farm.png"
class ServiceHealth(_General):
_icon = "service-health.png"
class Servicehealth(_General):
_icon = "servicehealth.png"
@ -64,6 +356,22 @@ class Shareddashboard(_General):
_icon = "shareddashboard.png"
class Ssd(_General):
_icon = "ssd.png"
class StorageAzureFiles(_General):
_icon = "storage-azure-files.png"
class StorageContainer(_General):
_icon = "storage-container.png"
class StorageQueue(_General):
_icon = "storage-queue.png"
class Subscriptions(_General):
_icon = "subscriptions.png"
@ -76,6 +384,10 @@ class Supportrequests(_General):
_icon = "supportrequests.png"
class Table(_General):
_icon = "table.png"
class Tag(_General):
_icon = "tag.png"
@ -88,6 +400,18 @@ class Templates(_General):
_icon = "templates.png"
class TfsVcRepository(_General):
_icon = "tfs-vc-repository.png"
class Toolbox(_General):
_icon = "toolbox.png"
class Troubleshoot(_General):
_icon = "troubleshoot.png"
class Twousericon(_General):
_icon = "twousericon.png"
@ -108,8 +432,36 @@ class Userresource(_General):
_icon = "userresource.png"
class Versions(_General):
_icon = "versions.png"
class WebSlots(_General):
_icon = "web-slots.png"
class WebTest(_General):
_icon = "web-test.png"
class WebsitePower(_General):
_icon = "website-power.png"
class WebsiteStaging(_General):
_icon = "website-staging.png"
class Whatsnew(_General):
_icon = "whatsnew.png"
class Workbooks(_General):
_icon = "workbooks.png"
class Workflow(_General):
_icon = "workflow.png"
# Aliases

@ -0,0 +1,31 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Hybridmulticloud(_Azure):
_type = "hybridmulticloud"
_icon_dir = "resources/azure/hybridmulticloud"
class AzureOperator5GCore(_Hybridmulticloud):
_icon = "azure-operator-5g-core.png"
class AzureOperatorInsights(_Hybridmulticloud):
_icon = "azure-operator-insights.png"
class AzureOperatorNexus(_Hybridmulticloud):
_icon = "azure-operator-nexus.png"
class AzureOperatorServiceManager(_Hybridmulticloud):
_icon = "azure-operator-service-manager.png"
class AzureProgrammableConnectivity(_Hybridmulticloud):
_icon = "azure-programmable-connectivity.png"
# Aliases

@ -8,6 +8,10 @@ class _Identity(_Azure):
_icon_dir = "resources/azure/identity"
class AadLicenses(_Identity):
_icon = "aad-licenses.png"
class AccessReview(_Identity):
_icon = "access-review.png"
@ -36,18 +40,94 @@ class ADPrivilegedIdentityManagement(_Identity):
_icon = "ad-privileged-identity-management.png"
class AdministrativeUnits(_Identity):
_icon = "administrative-units.png"
class APIProxy(_Identity):
_icon = "api-proxy.png"
class AppRegistrations(_Identity):
_icon = "app-registrations.png"
class AzureActiveDirectory(_Identity):
_icon = "azure-active-directory.png"
class AzureADB2C(_Identity):
_icon = "azure-ad-b2c.png"
class AzureADDomainServices(_Identity):
_icon = "azure-ad-domain-services.png"
class AzureADIdentityProtection(_Identity):
_icon = "azure-ad-identity-protection.png"
class AzureADPrivilegeIdentityManagement(_Identity):
_icon = "azure-ad-privilege-identity-management.png"
class AzureADPrivlegedIdentityManagement(_Identity):
_icon = "azure-ad-privleged-identity-management.png"
class AzureADRolesAndAdministrators(_Identity):
_icon = "azure-ad-roles-and-administrators.png"
class AzureInformationProtection(_Identity):
_icon = "azure-information-protection.png"
class ConditionalAccess(_Identity):
_icon = "conditional-access.png"
class CustomAzureADRoles(_Identity):
_icon = "custom-azure-ad-roles.png"
class EnterpriseApplications(_Identity):
_icon = "enterprise-applications.png"
class EntraConnect(_Identity):
_icon = "entra-connect.png"
class EntraDomainServices(_Identity):
_icon = "entra-domain-services.png"
class EntraIDProtection(_Identity):
_icon = "entra-id-protection.png"
class EntraManagedIdentities(_Identity):
_icon = "entra-managed-identities.png"
class EntraPrivlegedIdentityManagement(_Identity):
_icon = "entra-privleged-identity-management.png"
class EntraVerifiedID(_Identity):
_icon = "entra-verified-id.png"
class ExternalIdentities(_Identity):
_icon = "external-identities.png"
class GlobalSecureAccess(_Identity):
_icon = "global-secure-access.png"
class Groups(_Identity):
_icon = "groups.png"
@ -60,12 +140,36 @@ class InformationProtection(_Identity):
_icon = "information-protection.png"
class InternetAccess(_Identity):
_icon = "internet-access.png"
class ManagedIdentities(_Identity):
_icon = "managed-identities.png"
class PrivateAccess(_Identity):
_icon = "private-access.png"
class Security(_Identity):
_icon = "security.png"
class TenantProperties(_Identity):
_icon = "tenant-properties.png"
class UserSettings(_Identity):
_icon = "user-settings.png"
class Users(_Identity):
_icon = "users.png"
class VerifiableCredentials(_Identity):
_icon = "verifiable-credentials.png"
# Aliases

@ -8,10 +8,18 @@ class _Integration(_Azure):
_icon_dir = "resources/azure/integration"
class APIConnections(_Integration):
_icon = "api-connections.png"
class APIForFhir(_Integration):
_icon = "api-for-fhir.png"
class APIManagementServices(_Integration):
_icon = "api-management-services.png"
class APIManagement(_Integration):
_icon = "api-management.png"
@ -20,10 +28,38 @@ class AppConfiguration(_Integration):
_icon = "app-configuration.png"
class AzureAPIForFhir(_Integration):
_icon = "azure-api-for-fhir.png"
class AzureDataCatalog(_Integration):
_icon = "azure-data-catalog.png"
class AzureDataboxGateway(_Integration):
_icon = "azure-databox-gateway.png"
class AzureServiceBus(_Integration):
_icon = "azure-service-bus.png"
class AzureSQLServerStretchDatabases(_Integration):
_icon = "azure-sql-server-stretch-databases.png"
class AzureStackEdge(_Integration):
_icon = "azure-stack-edge.png"
class DataCatalog(_Integration):
_icon = "data-catalog.png"
class DataFactories(_Integration):
_icon = "data-factories.png"
class EventGridDomains(_Integration):
_icon = "event-grid-domains.png"
@ -40,6 +76,10 @@ class IntegrationAccounts(_Integration):
_icon = "integration-accounts.png"
class IntegrationEnvironments(_Integration):
_icon = "integration-environments.png"
class IntegrationServiceEnvironments(_Integration):
_icon = "integration-service-environments.png"
@ -52,10 +92,26 @@ class LogicApps(_Integration):
_icon = "logic-apps.png"
class PartnerNamespace(_Integration):
_icon = "partner-namespace.png"
class PartnerRegistration(_Integration):
_icon = "partner-registration.png"
class PartnerTopic(_Integration):
_icon = "partner-topic.png"
class PowerPlatform(_Integration):
_icon = "power-platform.png"
class Relays(_Integration):
_icon = "relays.png"
class SendgridAccounts(_Integration):
_icon = "sendgrid-accounts.png"
@ -76,6 +132,10 @@ class SoftwareAsAService(_Integration):
_icon = "software-as-a-service.png"
class SQLDataWarehouses(_Integration):
_icon = "sql-data-warehouses.png"
class StorsimpleDeviceManagers(_Integration):
_icon = "storsimple-device-managers.png"

@ -0,0 +1,83 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Intune(_Azure):
_type = "intune"
_icon_dir = "resources/azure/intune"
class AzureADRolesAndAdministrators(_Intune):
_icon = "azure-ad-roles-and-administrators.png"
class ClientApps(_Intune):
_icon = "client-apps.png"
class DeviceCompliance(_Intune):
_icon = "device-compliance.png"
class DeviceConfiguration(_Intune):
_icon = "device-configuration.png"
class DeviceEnrollment(_Intune):
_icon = "device-enrollment.png"
class DeviceSecurityApple(_Intune):
_icon = "device-security-apple.png"
class DeviceSecurityGoogle(_Intune):
_icon = "device-security-google.png"
class DeviceSecurityWindows(_Intune):
_icon = "device-security-windows.png"
class Devices(_Intune):
_icon = "devices.png"
class Ebooks(_Intune):
_icon = "ebooks.png"
class ExchangeAccess(_Intune):
_icon = "exchange-access.png"
class IntuneAppProtection(_Intune):
_icon = "intune-app-protection.png"
class IntuneForEducation(_Intune):
_icon = "intune-for-education.png"
class Intune(_Intune):
_icon = "intune.png"
class Mindaro(_Intune):
_icon = "mindaro.png"
class SecurityBaselines(_Intune):
_icon = "security-baselines.png"
class SoftwareUpdates(_Intune):
_icon = "software-updates.png"
class TenantStatus(_Intune):
_icon = "tenant-status.png"
# Aliases

@ -8,6 +8,26 @@ class _Iot(_Azure):
_icon_dir = "resources/azure/iot"
class AzureCosmosDb(_Iot):
_icon = "azure-cosmos-db.png"
class AzureDataboxGateway(_Iot):
_icon = "azure-databox-gateway.png"
class AzureIotOperations(_Iot):
_icon = "azure-iot-operations.png"
class AzureMapsAccounts(_Iot):
_icon = "azure-maps-accounts.png"
class AzureStack(_Iot):
_icon = "azure-stack.png"
class DeviceProvisioningServices(_Iot):
_icon = "device-provisioning-services.png"
@ -16,10 +36,34 @@ class DigitalTwins(_Iot):
_icon = "digital-twins.png"
class EventGridSubscriptions(_Iot):
_icon = "event-grid-subscriptions.png"
class EventHubClusters(_Iot):
_icon = "event-hub-clusters.png"
class EventHubs(_Iot):
_icon = "event-hubs.png"
class FunctionApps(_Iot):
_icon = "function-apps.png"
class IndustrialIot(_Iot):
_icon = "industrial-iot.png"
class IotCentralApplications(_Iot):
_icon = "iot-central-applications.png"
class IotEdge(_Iot):
_icon = "iot-edge.png"
class IotHubSecurity(_Iot):
_icon = "iot-hub-security.png"
@ -28,18 +72,62 @@ class IotHub(_Iot):
_icon = "iot-hub.png"
class LogicApps(_Iot):
_icon = "logic-apps.png"
class MachineLearningStudioClassicWebServices(_Iot):
_icon = "machine-learning-studio-classic-web-services.png"
class MachineLearningStudioWebServicePlans(_Iot):
_icon = "machine-learning-studio-web-service-plans.png"
class MachineLearningStudioWorkspaces(_Iot):
_icon = "machine-learning-studio-workspaces.png"
class Maps(_Iot):
_icon = "maps.png"
class NotificationHubNamespaces(_Iot):
_icon = "notification-hub-namespaces.png"
class NotificationHubs(_Iot):
_icon = "notification-hubs.png"
class Sphere(_Iot):
_icon = "sphere.png"
class StackHciPremium(_Iot):
_icon = "stack-hci-premium.png"
class StreamAnalyticsJobs(_Iot):
_icon = "stream-analytics-jobs.png"
class TimeSeriesDataSets(_Iot):
_icon = "time-series-data-sets.png"
class TimeSeriesInsightsAccessPolicies(_Iot):
_icon = "time-series-insights-access-policies.png"
class TimeSeriesInsightsEnvironments(_Iot):
_icon = "time-series-insights-environments.png"
class TimeSeriesInsightsEventSources(_Iot):
_icon = "time-series-insights-event-sources.png"
class TimeSeriesInsightsEventsSources(_Iot):
_icon = "time-series-insights-events-sources.png"
@ -48,4 +136,8 @@ class Windows10IotCoreServices(_Iot):
_icon = "windows-10-iot-core-services.png"
class Windows10CoreServices(_Iot):
_icon = "windows10-core-services.png"
# Aliases

@ -0,0 +1,143 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Managementgovernance(_Azure):
_type = "managementgovernance"
_icon_dir = "resources/azure/managementgovernance"
class ActivityLog(_Managementgovernance):
_icon = "activity-log.png"
class Advisor(_Managementgovernance):
_icon = "advisor.png"
class Alerts(_Managementgovernance):
_icon = "alerts.png"
class ApplicationInsights(_Managementgovernance):
_icon = "application-insights.png"
class ArcMachines(_Managementgovernance):
_icon = "arc-machines.png"
class AutomationAccounts(_Managementgovernance):
_icon = "automation-accounts.png"
class AzureArc(_Managementgovernance):
_icon = "azure-arc.png"
class AzureLighthouse(_Managementgovernance):
_icon = "azure-lighthouse.png"
class Blueprints(_Managementgovernance):
_icon = "blueprints.png"
class Compliance(_Managementgovernance):
_icon = "compliance.png"
class CostManagementAndBilling(_Managementgovernance):
_icon = "cost-management-and-billing.png"
class CustomerLockboxForMicrosoftAzure(_Managementgovernance):
_icon = "customer-lockbox-for-microsoft-azure.png"
class DiagnosticsSettings(_Managementgovernance):
_icon = "diagnostics-settings.png"
class Education(_Managementgovernance):
_icon = "education.png"
class IntuneTrends(_Managementgovernance):
_icon = "intune-trends.png"
class LogAnalyticsWorkspaces(_Managementgovernance):
_icon = "log-analytics-workspaces.png"
class Machinesazurearc(_Managementgovernance):
_icon = "machinesazurearc.png"
class ManagedApplicationsCenter(_Managementgovernance):
_icon = "managed-applications-center.png"
class ManagedDesktop(_Managementgovernance):
_icon = "managed-desktop.png"
class Metrics(_Managementgovernance):
_icon = "metrics.png"
class Monitor(_Managementgovernance):
_icon = "monitor.png"
class MyCustomers(_Managementgovernance):
_icon = "my-customers.png"
class OperationLogClassic(_Managementgovernance):
_icon = "operation-log-classic.png"
class Policy(_Managementgovernance):
_icon = "policy.png"
class RecoveryServicesVaults(_Managementgovernance):
_icon = "recovery-services-vaults.png"
class ResourceGraphExplorer(_Managementgovernance):
_icon = "resource-graph-explorer.png"
class ResourcesProvider(_Managementgovernance):
_icon = "resources-provider.png"
class SchedulerJobCollections(_Managementgovernance):
_icon = "scheduler-job-collections.png"
class ServiceCatalogMad(_Managementgovernance):
_icon = "service-catalog-mad.png"
class ServiceProviders(_Managementgovernance):
_icon = "service-providers.png"
class Solutions(_Managementgovernance):
_icon = "solutions.png"
class UniversalPrint(_Managementgovernance):
_icon = "universal-print.png"
class UserPrivacy(_Managementgovernance):
_icon = "user-privacy.png"
# Aliases

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Menu(_Azure):
_type = "menu"
_icon_dir = "resources/azure/menu"
class Keys(_Menu):
_icon = "keys.png"
# Aliases

@ -0,0 +1,35 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Migrate(_Azure):
_type = "migrate"
_icon_dir = "resources/azure/migrate"
class AzureDataboxGateway(_Migrate):
_icon = "azure-databox-gateway.png"
class AzureMigrate(_Migrate):
_icon = "azure-migrate.png"
class AzureStackEdge(_Migrate):
_icon = "azure-stack-edge.png"
class CostManagementAndBilling(_Migrate):
_icon = "cost-management-and-billing.png"
class DataBox(_Migrate):
_icon = "data-box.png"
class RecoveryServicesVaults(_Migrate):
_icon = "recovery-services-vaults.png"
# Aliases

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

@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Mixedreality(_Azure):
_type = "mixedreality"
_icon_dir = "resources/azure/mixedreality"
class RemoteRendering(_Mixedreality):
_icon = "remote-rendering.png"
class SpatialAnchorAccounts(_Mixedreality):
_icon = "spatial-anchor-accounts.png"
# Aliases

@ -12,8 +12,8 @@ class AzureOpenAI(_Ml):
_icon = "azure-open-ai.png"
class AzureSpeedToText(_Ml):
_icon = "azure-speed-to-text.png"
class AzureSpeechService(_Ml):
_icon = "azure-speech-service.png"
class BatchAI(_Ml):

@ -12,6 +12,10 @@ class AppServiceMobile(_Mobile):
_icon = "app-service-mobile.png"
class AppServices(_Mobile):
_icon = "app-services.png"
class MobileEngagement(_Mobile):
_icon = "mobile-engagement.png"
@ -20,4 +24,8 @@ class NotificationHubs(_Mobile):
_icon = "notification-hubs.png"
class PowerPlatform(_Mobile):
_icon = "power-platform.png"
# Aliases

@ -8,10 +8,36 @@ class _Monitor(_Azure):
_icon_dir = "resources/azure/monitor"
class ActivityLog(_Monitor):
_icon = "activity-log.png"
class ApplicationInsights(_Monitor):
_icon = "application-insights.png"
class AutoScale(_Monitor):
_icon = "auto-scale.png"
class AzureMonitorsForSAPSolutions(_Monitor):
_icon = "azure-monitors-for-sap-solutions.png"
class AzureWorkbooks(_Monitor):
_icon = "azure-workbooks.png"
class ChangeAnalysis(_Monitor):
_icon = "change-analysis.png"
class DiagnosticsSettings(_Monitor):
_icon = "diagnostics-settings.png"
class LogAnalyticsWorkspaces(_Monitor):
_icon = "log-analytics-workspaces.png"
class Logs(_Monitor):
_icon = "logs.png"
@ -24,4 +50,8 @@ class Monitor(_Monitor):
_icon = "monitor.png"
class NetworkWatcher(_Monitor):
_icon = "network-watcher.png"
# Aliases

@ -0,0 +1,215 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Networking(_Azure):
_type = "networking"
_icon_dir = "resources/azure/networking"
class ApplicationGateways(_Networking):
_icon = "application-gateways.png"
class AtmMultistack(_Networking):
_icon = "atm-multistack.png"
class AzureCommunicationsGateway(_Networking):
_icon = "azure-communications-gateway.png"
class AzureFirewallManager(_Networking):
_icon = "azure-firewall-manager.png"
class AzureFirewallPolicy(_Networking):
_icon = "azure-firewall-policy.png"
class Bastions(_Networking):
_icon = "bastions.png"
class CDNProfiles(_Networking):
_icon = "cdn-profiles.png"
class ConnectedCache(_Networking):
_icon = "connected-cache.png"
class Connections(_Networking):
_icon = "connections.png"
class DDOSProtectionPlans(_Networking):
_icon = "ddos-protection-plans.png"
class DNSMultistack(_Networking):
_icon = "dns-multistack.png"
class DNSPrivateResolver(_Networking):
_icon = "dns-private-resolver.png"
class DNSSecurityPolicy(_Networking):
_icon = "dns-security-policy.png"
class DNSZones(_Networking):
_icon = "dns-zones.png"
class ExpressrouteCircuits(_Networking):
_icon = "expressroute-circuits.png"
class Firewalls(_Networking):
_icon = "firewalls.png"
class FrontDoorAndCDNProfiles(_Networking):
_icon = "front-door-and-cdn-profiles.png"
class IpAddressManager(_Networking):
_icon = "ip-address-manager.png"
class IpGroups(_Networking):
_icon = "ip-groups.png"
class LoadBalancerHub(_Networking):
_icon = "load-balancer-hub.png"
class LoadBalancers(_Networking):
_icon = "load-balancers.png"
class LocalNetworkGateways(_Networking):
_icon = "local-network-gateways.png"
class Nat(_Networking):
_icon = "nat.png"
class NetworkInterfaces(_Networking):
_icon = "network-interfaces.png"
class NetworkSecurityGroups(_Networking):
_icon = "network-security-groups.png"
class NetworkWatcher(_Networking):
_icon = "network-watcher.png"
class OnPremisesDataGateways(_Networking):
_icon = "on-premises-data-gateways.png"
class PrivateLinkService(_Networking):
_icon = "private-link-service.png"
class PrivateLinkServices(_Networking):
_icon = "private-link-services.png"
class PrivateLink(_Networking):
_icon = "private-link.png"
class ProximityPlacementGroups(_Networking):
_icon = "proximity-placement-groups.png"
class PublicIpAddressesClassic(_Networking):
_icon = "public-ip-addresses-classic.png"
class PublicIpAddresses(_Networking):
_icon = "public-ip-addresses.png"
class PublicIpPrefixes(_Networking):
_icon = "public-ip-prefixes.png"
class ReservedIpAddressesClassic(_Networking):
_icon = "reserved-ip-addresses-classic.png"
class ResourceManagementPrivateLink(_Networking):
_icon = "resource-management-private-link.png"
class RouteFilters(_Networking):
_icon = "route-filters.png"
class RouteTables(_Networking):
_icon = "route-tables.png"
class ServiceEndpointPolicies(_Networking):
_icon = "service-endpoint-policies.png"
class SpotVM(_Networking):
_icon = "spot-vm.png"
class SpotVmss(_Networking):
_icon = "spot-vmss.png"
class Subnet(_Networking):
_icon = "subnet.png"
class TrafficController(_Networking):
_icon = "traffic-controller.png"
class TrafficManagerProfiles(_Networking):
_icon = "traffic-manager-profiles.png"
class VirtualNetworkGateways(_Networking):
_icon = "virtual-network-gateways.png"
class VirtualNetworksClassic(_Networking):
_icon = "virtual-networks-classic.png"
class VirtualNetworks(_Networking):
_icon = "virtual-networks.png"
class VirtualRouter(_Networking):
_icon = "virtual-router.png"
class VirtualWanHub(_Networking):
_icon = "virtual-wan-hub.png"
class VirtualWans(_Networking):
_icon = "virtual-wans.png"
class WebApplicationFirewallPolicieswaf(_Networking):
_icon = "web-application-firewall-policieswaf.png"
# Aliases

@ -0,0 +1,39 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Newicons(_Azure):
_type = "newicons"
_icon_dir = "resources/azure/newicons"
class AzureSustainability(_Newicons):
_icon = "azure-sustainability.png"
class ConnectedVehiclePlatform(_Newicons):
_icon = "connected-vehicle-platform.png"
class EntraConnectHealth(_Newicons):
_icon = "entra-connect-health.png"
class EntraConnectSync(_Newicons):
_icon = "entra-connect-sync.png"
class IcmTroubleshooting(_Newicons):
_icon = "icm-troubleshooting.png"
class Osconfig(_Newicons):
_icon = "osconfig.png"
class StorageActions(_Newicons):
_icon = "storage-actions.png"
# Aliases

@ -0,0 +1,523 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Azure
class _Other(_Azure):
_type = "other"
_icon_dir = "resources/azure/other"
class AadLicenses(_Other):
_icon = "aad-licenses.png"
class AksIstio(_Other):
_icon = "aks-istio.png"
class AppComplianceAutomation(_Other):
_icon = "app-compliance-automation.png"
class AppRegistrations(_Other):
_icon = "app-registrations.png"
class Aquila(_Other):
_icon = "aquila.png"
class ArcDataServices(_Other):
_icon = "arc-data-services.png"
class ArcKubernetes(_Other):
_icon = "arc-kubernetes.png"
class ArcPostgresql(_Other):
_icon = "arc-postgresql-.png"
class ArcSQLManagedInstance(_Other):
_icon = "arc-sql-managed-instance.png"
class ArcSQLServer(_Other):
_icon = "arc-sql-server.png"
class AvsVM(_Other):
_icon = "avs-vm.png"
class AzureA(_Other):
_icon = "azure-a.png"
class AzureBackupCenter(_Other):
_icon = "azure-backup-center.png"
class AzureCenterForSAP(_Other):
_icon = "azure-center-for-sap.png"
class AzureChaosStudio(_Other):
_icon = "azure-chaos-studio.png"
class AzureCloudShell(_Other):
_icon = "azure-cloud-shell.png"
class AzureCommunicationServices(_Other):
_icon = "azure-communication-services.png"
class AzureComputeGalleries(_Other):
_icon = "azure-compute-galleries.png"
class AzureDeploymentEnvironments(_Other):
_icon = "azure-deployment-environments.png"
class AzureDevTunnels(_Other):
_icon = "azure-dev-tunnels.png"
class AzureEdgeHardwareCenter(_Other):
_icon = "azure-edge-hardware-center.png"
class AzureHpcWorkbenches(_Other):
_icon = "azure-hpc-workbenches.png"
class AzureLoadTesting(_Other):
_icon = "azure-load-testing.png"
class AzureManagedGrafana(_Other):
_icon = "azure-managed-grafana.png"
class AzureMonitorDashboard(_Other):
_icon = "azure-monitor-dashboard.png"
class AzureNetworkFunctionManagerFunctions(_Other):
_icon = "azure-network-function-manager-functions.png"
class AzureNetworkFunctionManager(_Other):
_icon = "azure-network-function-manager.png"
class AzureOrbital(_Other):
_icon = "azure-orbital.png"
class AzureQuotas(_Other):
_icon = "azure-quotas.png"
class AzureSphere(_Other):
_icon = "azure-sphere.png"
class AzureStorageMover(_Other):
_icon = "azure-storage-mover.png"
class AzureSupportCenterBlue(_Other):
_icon = "azure-support-center-blue.png"
class AzureVideoIndexer(_Other):
_icon = "azure-video-indexer.png"
class AzureVirtualDesktop(_Other):
_icon = "azure-virtual-desktop.png"
class AzureVmwareSolution(_Other):
_icon = "azure-vmware-solution.png"
class Azureattestation(_Other):
_icon = "azureattestation.png"
class Azurite(_Other):
_icon = "azurite.png"
class BackupVault(_Other):
_icon = "backup-vault.png"
class BareMetalInfrastructure(_Other):
_icon = "bare-metal-infrastructure.png"
class CapacityReservationGroups(_Other):
_icon = "capacity-reservation-groups.png"
class CentralServiceInstanceForSAP(_Other):
_icon = "central-service-instance-for-sap.png"
class Ceres(_Other):
_icon = "ceres.png"
class CloudServicesExtendedSupport(_Other):
_icon = "cloud-services-extended-support.png"
class CommunityImages(_Other):
_icon = "community-images.png"
class ComplianceCenter(_Other):
_icon = "compliance-center.png"
class ConfidentialLedgers(_Other):
_icon = "confidential-ledgers.png"
class ContainerAppsEnvironments(_Other):
_icon = "container-apps-environments.png"
class CostExport(_Other):
_icon = "cost-export.png"
class CustomIpPrefix(_Other):
_icon = "custom-ip-prefix.png"
class DashboardHub(_Other):
_icon = "dashboard-hub.png"
class DataCollectionRules(_Other):
_icon = "data-collection-rules.png"
class DatabaseInstanceForSAP(_Other):
_icon = "database-instance-for-sap.png"
class DedicatedHsm(_Other):
_icon = "dedicated-hsm.png"
class DefenderCmLocalManager(_Other):
_icon = "defender-cm-local-manager.png"
class DefenderDcsController(_Other):
_icon = "defender-dcs-controller.png"
class DefenderDistributerControlSystem(_Other):
_icon = "defender-distributer-control-system.png"
class DefenderEngineeringStation(_Other):
_icon = "defender-engineering-station.png"
class DefenderExternalManagement(_Other):
_icon = "defender-external-management.png"
class DefenderFreezerMonitor(_Other):
_icon = "defender-freezer-monitor.png"
class DefenderHistorian(_Other):
_icon = "defender-historian.png"
class DefenderHmi(_Other):
_icon = "defender-hmi.png"
class DefenderIndustrialPackagingSystem(_Other):
_icon = "defender-industrial-packaging-system.png"
class DefenderIndustrialPrinter(_Other):
_icon = "defender-industrial-printer.png"
class DefenderIndustrialRobot(_Other):
_icon = "defender-industrial-robot.png"
class DefenderIndustrialScaleSystem(_Other):
_icon = "defender-industrial-scale-system.png"
class DefenderMarquee(_Other):
_icon = "defender-marquee.png"
class DefenderMeter(_Other):
_icon = "defender-meter.png"
class DefenderPlc(_Other):
_icon = "defender-plc.png"
class DefenderPneumaticDevice(_Other):
_icon = "defender-pneumatic-device.png"
class DefenderProgramableBoard(_Other):
_icon = "defender-programable-board.png"
class DefenderRelay(_Other):
_icon = "defender-relay.png"
class DefenderRobotController(_Other):
_icon = "defender-robot-controller.png"
class DefenderRtu(_Other):
_icon = "defender-rtu.png"
class DefenderSensor(_Other):
_icon = "defender-sensor.png"
class DefenderSlot(_Other):
_icon = "defender-slot.png"
class DefenderWebGuidingSystem(_Other):
_icon = "defender-web-guiding-system.png"
class DeviceUpdateIotHub(_Other):
_icon = "device-update-iot-hub.png"
class DiskPool(_Other):
_icon = "disk-pool.png"
class EdgeManagement(_Other):
_icon = "edge-management.png"
class ElasticSan(_Other):
_icon = "elastic-san.png"
class ExchangeOnPremisesAccess(_Other):
_icon = "exchange-on-premises-access.png"
class ExpressRouteTrafficCollector(_Other):
_icon = "express-route-traffic-collector.png"
class ExpressrouteDirect(_Other):
_icon = "expressroute-direct.png"
class FhirService(_Other):
_icon = "fhir-service.png"
class Fiji(_Other):
_icon = "fiji.png"
class HdiAksCluster(_Other):
_icon = "hdi-aks-cluster.png"
class InstancePools(_Other):
_icon = "instance-pools.png"
class InternetAnalyzerProfiles(_Other):
_icon = "internet-analyzer-profiles.png"
class KubernetesFleetManager(_Other):
_icon = "kubernetes-fleet-manager.png"
class LocalNetworkGateways(_Other):
_icon = "local-network-gateways.png"
class LogAnalyticsQueryPack(_Other):
_icon = "log-analytics-query-pack.png"
class ManagedInstanceApacheCassandra(_Other):
_icon = "managed-instance-apache-cassandra.png"
class MedtechService(_Other):
_icon = "medtech-service.png"
class MicrosoftDevBox(_Other):
_icon = "microsoft-dev-box.png"
class MissionLandingZone(_Other):
_icon = "mission-landing-zone.png"
class MobileNetworks(_Other):
_icon = "mobile-networks.png"
class ModularDataCenter(_Other):
_icon = "modular-data-center.png"
class NetworkManagers(_Other):
_icon = "network-managers.png"
class NetworkSecurityPerimeters(_Other):
_icon = "network-security-perimeters.png"
class OpenSupplyChainPlatform(_Other):
_icon = "open-supply-chain-platform.png"
class PeeringService(_Other):
_icon = "peering-service.png"
class Peerings(_Other):
_icon = "peerings.png"
class PrivateEndpoints(_Other):
_icon = "private-endpoints.png"
class ReservedCapacity(_Other):
_icon = "reserved-capacity.png"
class ResourceGuard(_Other):
_icon = "resource-guard.png"
class ResourceMover(_Other):
_icon = "resource-mover.png"
class Rtos(_Other):
_icon = "rtos.png"
class SavingsPlans(_Other):
_icon = "savings-plans.png"
class ScvmmManagementServers(_Other):
_icon = "scvmm-management-servers.png"
class SonicDash(_Other):
_icon = "sonic-dash.png"
class SshKeys(_Other):
_icon = "ssh-keys.png"
class StorageFunctions(_Other):
_icon = "storage-functions.png"
class TargetsManagement(_Other):
_icon = "targets-management.png"
class TemplateSpecs(_Other):
_icon = "template-specs.png"
class TestBase(_Other):
_icon = "test-base.png"
class UpdateManagementCenter(_Other):
_icon = "update-management-center.png"
class VideoAnalyzers(_Other):
_icon = "video-analyzers.png"
class VirtualEnclaves(_Other):
_icon = "virtual-enclaves.png"
class VirtualInstanceForSAP(_Other):
_icon = "virtual-instance-for-sap.png"
class VirtualVisitsBuilder(_Other):
_icon = "virtual-visits-builder.png"
class VMAppDefinitions(_Other):
_icon = "vm-app-definitions.png"
class VMAppVersions(_Other):
_icon = "vm-app-versions.png"
class VMImageVersion(_Other):
_icon = "vm-image-version.png"
class Wac(_Other):
_icon = "wac.png"
class WebAppDatabase(_Other):
_icon = "web-app-database.png"
class WebJobs(_Other):
_icon = "web-jobs.png"
class WindowsNotificationServices(_Other):
_icon = "windows-notification-services.png"
class WorkerContainerApp(_Other):
_icon = "worker-container-app.png"
# Aliases

@ -12,6 +12,34 @@ class ApplicationSecurityGroups(_Security):
_icon = "application-security-groups.png"
class AzureADAuthenticationMethods(_Security):
_icon = "azure-ad-authentication-methods.png"
class AzureADIdentityProtection(_Security):
_icon = "azure-ad-identity-protection.png"
class AzureADPrivlegedIdentityManagement(_Security):
_icon = "azure-ad-privleged-identity-management.png"
class AzureADRiskySignins(_Security):
_icon = "azure-ad-risky-signins.png"
class AzureADRiskyUsers(_Security):
_icon = "azure-ad-risky-users.png"
class AzureInformationProtection(_Security):
_icon = "azure-information-protection.png"
class AzureSentinel(_Security):
_icon = "azure-sentinel.png"
class ConditionalAccess(_Security):
_icon = "conditional-access.png"
@ -20,14 +48,42 @@ class Defender(_Security):
_icon = "defender.png"
class Detonation(_Security):
_icon = "detonation.png"
class ExtendedSecurityUpdates(_Security):
_icon = "extended-security-updates.png"
class Extendedsecurityupdates(_Security):
_icon = "extendedsecurityupdates.png"
class IdentitySecureScore(_Security):
_icon = "identity-secure-score.png"
class KeyVaults(_Security):
_icon = "key-vaults.png"
class MicrosoftDefenderEasm(_Security):
_icon = "microsoft-defender-easm.png"
class MicrosoftDefenderForCloud(_Security):
_icon = "microsoft-defender-for-cloud.png"
class MicrosoftDefenderForIot(_Security):
_icon = "microsoft-defender-for-iot.png"
class MultifactorAuthentication(_Security):
_icon = "multifactor-authentication.png"
class SecurityCenter(_Security):
_icon = "security-center.png"
@ -36,4 +92,8 @@ class Sentinel(_Security):
_icon = "sentinel.png"
class UserSettings(_Security):
_icon = "user-settings.png"
# Aliases

@ -12,6 +12,26 @@ class ArchiveStorage(_Storage):
_icon = "archive-storage.png"
class AzureDataboxGateway(_Storage):
_icon = "azure-databox-gateway.png"
class AzureFileshares(_Storage):
_icon = "azure-fileshares.png"
class AzureHcpCache(_Storage):
_icon = "azure-hcp-cache.png"
class AzureNetappFiles(_Storage):
_icon = "azure-netapp-files.png"
class AzureStackEdge(_Storage):
_icon = "azure-stack-edge.png"
class Azurefxtedgefiler(_Storage):
_icon = "azurefxtedgefiler.png"
@ -28,14 +48,30 @@ class DataBox(_Storage):
_icon = "data-box.png"
class DataLakeStorageGen1(_Storage):
_icon = "data-lake-storage-gen1.png"
class DataLakeStorage(_Storage):
_icon = "data-lake-storage.png"
class DataShareInvitations(_Storage):
_icon = "data-share-invitations.png"
class DataShares(_Storage):
_icon = "data-shares.png"
class GeneralStorage(_Storage):
_icon = "general-storage.png"
class ImportExportJobs(_Storage):
_icon = "import-export-jobs.png"
class NetappFiles(_Storage):
_icon = "netapp-files.png"
@ -44,6 +80,10 @@ class QueuesStorage(_Storage):
_icon = "queues-storage.png"
class RecoveryServicesVaults(_Storage):
_icon = "recovery-services-vaults.png"
class StorageAccountsClassic(_Storage):
_icon = "storage-accounts-classic.png"

@ -8,10 +8,18 @@ class _Web(_Azure):
_icon_dir = "resources/azure/web"
class APICenter(_Web):
_icon = "api-center.png"
class APIConnections(_Web):
_icon = "api-connections.png"
class APIManagementServices(_Web):
_icon = "api-management-services.png"
class AppServiceCertificates(_Web):
_icon = "app-service-certificates.png"
@ -32,6 +40,30 @@ class AppServices(_Web):
_icon = "app-services.png"
class AppSpace(_Web):
_icon = "app-space.png"
class AzureMediaService(_Web):
_icon = "azure-media-service.png"
class AzureSpringApps(_Web):
_icon = "azure-spring-apps.png"
class CognitiveSearch(_Web):
_icon = "cognitive-search.png"
class CognitiveServices(_Web):
_icon = "cognitive-services.png"
class FrontDoorAndCDNProfiles(_Web):
_icon = "front-door-and-cdn-profiles.png"
class MediaServices(_Web):
_icon = "media-services.png"
@ -40,6 +72,10 @@ class NotificationHubNamespaces(_Web):
_icon = "notification-hub-namespaces.png"
class PowerPlatform(_Web):
_icon = "power-platform.png"
class Search(_Web):
_icon = "search.png"
@ -48,4 +84,8 @@ class Signalr(_Web):
_icon = "signalr.png"
class StaticApps(_Web):
_icon = "static-apps.png"
# Aliases

@ -0,0 +1,38 @@
import argparse
import sys
def run() -> int:
"""
Run diagrams code files in a diagrams environment.
Args:
paths: A list of paths to Python files containing diagrams code.
Returns:
The exit code.
"""
parser = argparse.ArgumentParser(
description="Run diagrams code files in a diagrams environment.",
)
parser.add_argument(
"paths",
metavar="path",
type=str,
nargs="+",
help="a Python file containing diagrams code",
)
args = parser.parse_args()
for path in args.paths:
with open(path, encoding='utf-8') as f:
exec(f.read())
return 0
def main():
sys.exit(run())
if __name__ == "__main__":
main()

@ -10,3 +10,7 @@ class _DigitalOcean(Node):
_icon_dir = "resources/digitalocean"
fontcolor = "#ffffff"
class DigitalOcean(_DigitalOcean):
_icon = "digitalocean.png"

@ -10,3 +10,7 @@ class _Elastic(Node):
_icon_dir = "resources/elastic"
fontcolor = "#ffffff"
class Elastic(_Elastic):
_icon = "elastic.png"

@ -10,3 +10,7 @@ class _Firebase(Node):
_icon_dir = "resources/firebase"
fontcolor = "#ffffff"
class Firebase(_Firebase):
_icon = "firebase.png"

@ -10,3 +10,7 @@ class _GCP(Node):
_icon_dir = "resources/gcp"
fontcolor = "#2d3436"
class GCP(_GCP):
_icon = "gcp.png"

@ -44,6 +44,10 @@ class Genomics(_Analytics):
_icon = "genomics.png"
class Looker(_Analytics):
_icon = "looker.png"
class Pubsub(_Analytics):
_icon = "pubsub.png"

@ -12,6 +12,10 @@ class AppEngine(_Compute):
_icon = "app-engine.png"
class BinaryAuthorization(_Compute):
_icon = "binary-authorization.png"
class ComputeEngine(_Compute):
_icon = "compute-engine.png"
@ -36,6 +40,18 @@ class KubernetesEngine(_Compute):
_icon = "kubernetes-engine.png"
class OSConfigurationManagement(_Compute):
_icon = "os-configuration-management.png"
class OSInventoryManagement(_Compute):
_icon = "os-inventory-management.png"
class OSPatchManagement(_Compute):
_icon = "os-patch-management.png"
class Run(_Compute):
_icon = "run.png"
@ -43,6 +59,7 @@ class Run(_Compute):
# Aliases
GAE = AppEngine
GCF = Functions
GCE = ComputeEngine
GCF = Functions
GKE = KubernetesEngine
CloudRun = Run

@ -12,6 +12,10 @@ class Build(_Devtools):
_icon = "build.png"
class CloudShell(_Devtools):
_icon = "cloud-shell.png"
class CodeForIntellij(_Devtools):
_icon = "code-for-intellij.png"
@ -44,6 +48,10 @@ class SDK(_Devtools):
_icon = "sdk.png"
class ServiceCatalog(_Devtools):
_icon = "service-catalog.png"
class SourceRepositories(_Devtools):
_icon = "source-repositories.png"

@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GCP
class _Management(_GCP):
_type = "management"
_icon_dir = "resources/gcp/management"
class Billing(_Management):
_icon = "billing.png"
class Project(_Management):
_icon = "project.png"
class Quotas(_Management):
_icon = "quotas.png"
class Support(_Management):
_icon = "support.png"
# Aliases

@ -8,8 +8,14 @@ class _Migration(_GCP):
_icon_dir = "resources/gcp/migration"
class MigrateComputeEngine(_Migration):
_icon = "migrate-compute-engine.png"
class TransferAppliance(_Migration):
_icon = "transfer-appliance.png"
# Aliases
CE = MigrateComputeEngine

@ -84,6 +84,10 @@ class TranslationAPI(_ML):
_icon = "translation-api.png"
class VertexAI(_ML):
_icon = "vertex-ai.png"
class VideoIntelligenceAPI(_ML):
_icon = "video-intelligence-api.png"

@ -16,6 +16,10 @@ class CDN(_Network):
_icon = "cdn.png"
class CloudIDS(_Network):
_icon = "cloud-ids.png"
class DedicatedInterconnect(_Network):
_icon = "dedicated-interconnect.png"
@ -40,6 +44,26 @@ class NAT(_Network):
_icon = "nat.png"
class NetworkConnectivityCenter(_Network):
_icon = "network-connectivity-center.png"
class NetworkIntelligenceCenter(_Network):
_icon = "network-intelligence-center.png"
class NetworkSecurity(_Network):
_icon = "network-security.png"
class NetworkTiers(_Network):
_icon = "network-tiers.png"
class NetworkTopology(_Network):
_icon = "network-topology.png"
class Network(_Network):
_icon = "network.png"
@ -52,6 +76,10 @@ class PremiumNetworkTier(_Network):
_icon = "premium-network-tier.png"
class PrivateServiceConnect(_Network):
_icon = "private-service-connect.png"
class Router(_Network):
_icon = "router.png"
@ -60,6 +88,10 @@ class Routes(_Network):
_icon = "routes.png"
class ServiceMesh(_Network):
_icon = "service-mesh.png"
class StandardNetworkTier(_Network):
_icon = "standard-network-tier.png"
@ -78,4 +110,6 @@ class VPN(_Network):
# Aliases
IDS = CloudIDS
PSC = PrivateServiceConnect
VPC = VirtualPrivateCloud

@ -8,6 +8,26 @@ class _Security(_GCP):
_icon_dir = "resources/gcp/security"
class AccessContextManager(_Security):
_icon = "access-context-manager.png"
class AssuredWorkloads(_Security):
_icon = "assured-workloads.png"
class CertificateAuthorityService(_Security):
_icon = "certificate-authority-service.png"
class CertificateManager(_Security):
_icon = "certificate-manager.png"
class CloudAssetInventory(_Security):
_icon = "cloud-asset-inventory.png"
class Iam(_Security):
_icon = "iam.png"
@ -24,15 +44,24 @@ class ResourceManager(_Security):
_icon = "resource-manager.png"
class SecretManager(_Security):
_icon = "secret-manager.png"
class SecurityCommandCenter(_Security):
_icon = "security-command-center.png"
class SecurityHealthAdvisor(_Security):
_icon = "security-health-advisor.png"
class SecurityScanner(_Security):
_icon = "security-scanner.png"
# Aliases
ACM = AccessContextManager
KMS = KeyManagementService
SCC = SecurityCommandCenter

@ -12,6 +12,10 @@ class Filestore(_Storage):
_icon = "filestore.png"
class LocalSSD(_Storage):
_icon = "local-ssd.png"
class PersistentDisk(_Storage):
_icon = "persistent-disk.png"
@ -22,4 +26,5 @@ class Storage(_Storage):
# Aliases
SSD = LocalSSD
GCS = Storage

@ -10,3 +10,7 @@ class _Generic(Node):
_icon_dir = "resources/generic"
fontcolor = "#ffffff"
class Generic(_Generic):
_icon = "generic.png"

@ -0,0 +1,12 @@
"""
GIS provides a set of services for Geographic Information Systems provider.
"""
from diagrams import Node
class _GIS(Node):
_provider = "gis"
_icon_dir = "resources/gis"
fontcolor = "#2d3436"

@ -0,0 +1,35 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Cli(_GIS):
_type = "cli"
_icon_dir = "resources/gis/cli"
class Gdal(_Cli):
_icon = "gdal.png"
class Imposm(_Cli):
_icon = "imposm.png"
class Lastools(_Cli):
_icon = "lastools.png"
class Mapnik(_Cli):
_icon = "mapnik.png"
class Mdal(_Cli):
_icon = "mdal.png"
class Pdal(_Cli):
_icon = "pdal.png"
# Aliases

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Cplusplus(_GIS):
_type = "cplusplus"
_icon_dir = "resources/gis/cplusplus"
class Mapnik(_Cplusplus):
_icon = "mapnik.png"
# Aliases

@ -0,0 +1,31 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Data(_GIS):
_type = "data"
_icon_dir = "resources/gis/data"
class BAN(_Data):
_icon = "ban.png"
class Here(_Data):
_icon = "here.png"
class IGN(_Data):
_icon = "ign.png"
class Openstreetmap(_Data):
_icon = "openstreetmap.png"
class Overturemaps(_Data):
_icon = "overturemaps.png"
# Aliases

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Database(_GIS):
_type = "database"
_icon_dir = "resources/gis/database"
class Postgis(_Database):
_icon = "postgis.png"
# Aliases

@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Desktop(_GIS):
_type = "desktop"
_icon_dir = "resources/gis/desktop"
class Maptunik(_Desktop):
_icon = "maptunik.png"
class QGIS(_Desktop):
_icon = "qgis.png"
# Aliases

@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Format(_GIS):
_type = "format"
_icon_dir = "resources/gis/format"
class Geopackage(_Format):
_icon = "geopackage.png"
class Geoparquet(_Format):
_icon = "geoparquet.png"
# Aliases

@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Geocoding(_GIS):
_type = "geocoding"
_icon_dir = "resources/gis/geocoding"
class Addok(_Geocoding):
_icon = "addok.png"
class Gisgraphy(_Geocoding):
_icon = "gisgraphy.png"
class Nominatim(_Geocoding):
_icon = "nominatim.png"
class Pelias(_Geocoding):
_icon = "pelias.png"
# Aliases

@ -0,0 +1,11 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Georchestra(_GIS):
_type = "georchestra"
_icon_dir = "resources/gis/georchestra"
# Aliases

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Java(_GIS):
_type = "java"
_icon_dir = "resources/gis/java"
class Geotools(_Java):
_icon = "geotools.png"
# Aliases

@ -0,0 +1,43 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Javascript(_GIS):
_type = "javascript"
_icon_dir = "resources/gis/javascript"
class Cesium(_Javascript):
_icon = "cesium.png"
class Geostyler(_Javascript):
_icon = "geostyler.png"
class Keplerjs(_Javascript):
_icon = "keplerjs.png"
class Leaflet(_Javascript):
_icon = "leaflet.png"
class Maplibre(_Javascript):
_icon = "maplibre.png"
class OlExt(_Javascript):
_icon = "ol-ext.png"
class Openlayers(_Javascript):
_icon = "openlayers.png"
class Turfjs(_Javascript):
_icon = "turfjs.png"
# Aliases

@ -0,0 +1,23 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Mobile(_GIS):
_type = "mobile"
_icon_dir = "resources/gis/mobile"
class Mergin(_Mobile):
_icon = "mergin.png"
class Qfield(_Mobile):
_icon = "qfield.png"
class Smash(_Mobile):
_icon = "smash.png"
# Aliases

@ -0,0 +1,23 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _OGC(_GIS):
_type = "ogc"
_icon_dir = "resources/gis/ogc"
class OGC(_OGC):
_icon = "ogc.png"
class WFS(_OGC):
_icon = "wfs.png"
class WMS(_OGC):
_icon = "wms.png"
# Aliases

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Organization(_GIS):
_type = "organization"
_icon_dir = "resources/gis/organization"
class Osgeo(_Organization):
_icon = "osgeo.png"
# Aliases

@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Python(_GIS):
_type = "python"
_icon_dir = "resources/gis/python"
class Geopandas(_Python):
_icon = "geopandas.png"
class Pysal(_Python):
_icon = "pysal.png"
# Aliases

@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Routing(_GIS):
_type = "routing"
_icon_dir = "resources/gis/routing"
class Graphhopper(_Routing):
_icon = "graphhopper.png"
class Osrm(_Routing):
_icon = "osrm.png"
class Pgrouting(_Routing):
_icon = "pgrouting.png"
class Valhalla(_Routing):
_icon = "valhalla.png"
# Aliases

@ -0,0 +1,99 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Server(_GIS):
_type = "server"
_icon_dir = "resources/gis/server"
class Actinia(_Server):
_icon = "actinia.png"
class Baremaps(_Server):
_icon = "baremaps.png"
class Deegree(_Server):
_icon = "deegree.png"
class G3WSuite(_Server):
_icon = "g3w-suite.png"
class Geohealthcheck(_Server):
_icon = "geohealthcheck.png"
class Geomapfish(_Server):
_icon = "geomapfish.png"
class Geomesa(_Server):
_icon = "geomesa.png"
class Geonetwork(_Server):
_icon = "geonetwork.png"
class Geonode(_Server):
_icon = "geonode.png"
class Georchestra(_Server):
_icon = "georchestra.png"
class Geoserver(_Server):
_icon = "geoserver.png"
class Geowebcache(_Server):
_icon = "geowebcache.png"
class Kepler(_Server):
_icon = "kepler.png"
class Mapproxy(_Server):
_icon = "mapproxy.png"
class Mapserver(_Server):
_icon = "mapserver.png"
class Mapstore(_Server):
_icon = "mapstore.png"
class Mviewer(_Server):
_icon = "mviewer.png"
class Pg_Tileserv(_Server):
_icon = "pg_tileserv.png"
class Pycsw(_Server):
_icon = "pycsw.png"
class Pygeoapi(_Server):
_icon = "pygeoapi.png"
class QGISServer(_Server):
_icon = "qgis-server.png"
class Zooproject(_Server):
_icon = "zooproject.png"
# Aliases

@ -0,0 +1,11 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _GIS
class _Toolkit(_GIS):
_type = "toolkit"
_icon_dir = "resources/gis/toolkit"
# Aliases

@ -10,3 +10,7 @@ class _IBM(Node):
_icon_dir = "resources/ibm"
fontcolor = "#ffffff"
class IBM(_IBM):
_icon = "ibm.png"

@ -10,3 +10,7 @@ class _K8S(Node):
_icon_dir = "resources/k8s"
fontcolor = "#2d3436"
class K8S(_K8S):
_icon = "k8s.png"

@ -10,3 +10,7 @@ class _OCI(Node):
_icon_dir = "resources/oci"
fontcolor = "#312D2A"
class OCI(_OCI):
_icon = "oci.png"

@ -10,3 +10,7 @@ class _OnPrem(Node):
_icon_dir = "resources/onprem"
fontcolor = "#ffffff"
class OnPrem(_OnPrem):
_icon = "onprem.png"

@ -36,6 +36,10 @@ class Druid(_Database):
_icon = "druid.png"
class Duckdb(_Database):
_icon = "duckdb.png"
class Hbase(_Database):
_icon = "hbase.png"
@ -76,6 +80,10 @@ class Postgresql(_Database):
_icon = "postgresql.png"
class Qdrant(_Database):
_icon = "qdrant.png"
class Scylla(_Database):
_icon = "scylla.png"
@ -93,3 +101,4 @@ MongoDB = Mongodb
MSSQL = Mssql
MySQL = Mysql
PostgreSQL = Postgresql
Qdrant = Qdrant

@ -20,6 +20,10 @@ class Awx(_Iac):
_icon = "awx.png"
class Pulumi(_Iac):
_icon = "pulumi.png"
class Puppet(_Iac):
_icon = "puppet.png"

@ -24,6 +24,18 @@ class Caddy(_Network):
_icon = "caddy.png"
class CiscoRouter(_Network):
_icon = "cisco-router.png"
class CiscoSwitchL2(_Network):
_icon = "cisco-switch-l2.png"
class CiscoSwitchL3(_Network):
_icon = "cisco-switch-l3.png"
class Consul(_Network):
_icon = "consul.png"

@ -10,3 +10,7 @@ class _OpenStack(Node):
_icon_dir = "resources/openstack"
fontcolor = "#ffffff"
class OpenStack(_OpenStack):
_icon = "openstack.png"

@ -6,3 +6,7 @@ class _Outscale(Node):
_icon_dir = "resources/outscale"
fontcolor = "#ffffff"
class Outscale(_Outscale):
_icon = "outscale.png"

@ -10,3 +10,7 @@ class _Programming(Node):
_icon_dir = "resources/programming"
fontcolor = "#ffffff"
class Programming(_Programming):
_icon = "programming.png"

@ -10,3 +10,7 @@ class _Saas(Node):
_icon_dir = "resources/saas"
fontcolor = "#ffffff"
class Saas(_Saas):
_icon = "saas.png"

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Saas
class _Automation(_Saas):
_type = "automation"
_icon_dir = "resources/saas/automation"
class N8N(_Automation):
_icon = "n8n.png"
# Aliases

@ -20,4 +20,8 @@ class Fastly(_Cdn):
_icon = "fastly.png"
class Imperva(_Cdn):
_icon = "imperva.png"
# Aliases

@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Saas
class _Payment(_Saas):
_type = "payment"
_icon_dir = "resources/saas/payment"
class Adyen(_Payment):
_icon = "adyen.png"
class AmazonPay(_Payment):
_icon = "amazon-pay.png"
class Paypal(_Payment):
_icon = "paypal.png"
class Stripe(_Payment):
_icon = "stripe.png"
# Aliases

@ -1,5 +1,5 @@
# use latest python alpine image.
FROM python:3.13.1-alpine3.20
FROM python:3.13.3-alpine3.20
# install system dependencies.
RUN apk update && apk add --no-cache \

@ -211,9 +211,9 @@ with Diagram("Advanced Web Service with On-Premises", show=False):
ingress >> grpcsvc >> aggregator
```
![advanced web service with on-premise diagram](/img/advanced_web_service_with_on-premise.png)
![advanced web service with on-premises diagram](/img/advanced_web_service_with_on-premises.png)
## Advanced Web Service with On-Premise (with colors and labels)
## Advanced Web Service with On-Premises (with colors and labels)
```python
from diagrams import Cluster, Diagram, Edge
@ -226,7 +226,7 @@ from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka
with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False):
with Diagram(name="Advanced Web Service with On-Premises (colored)", show=False):
ingress = Nginx("ingress")
metrics = Prometheus("metric")
@ -254,7 +254,7 @@ with Diagram(name="Advanced Web Service with On-Premise (colored)", show=False):
ingress >> Edge(color="darkgreen") << grpcsvc >> Edge(color="darkorange") >> aggregator
```
![advanced web service with on-premise diagram colored](/img/advanced_web_service_with_on-premise_colored.png)
![advanced web service with on-premises diagram colored](/img/advanced_web_service_with_on-premises_colored.png)
## RabbitMQ Consumers with Custom Nodes

@ -7,7 +7,7 @@ title: Installation
**diagrams** uses [Graphviz](https://www.graphviz.org/) to render the diagram, so you need to [install Graphviz](https://graphviz.gitlab.io/download/) to use it.
> macOS users using [Homebrew](https://brew.sh) can install Graphviz via `brew install graphviz` . Similarly, Windows users with [Chocolatey](https://chocolatey.org) installed can run `choco install graphviz`.
> macOS users using [Homebrew](https://brew.sh) can install Graphviz via `brew install graphviz` . Similarly, Windows users with [Chocolatey](https://chocolatey.org) installed can run `choco install graphviz` or use [Winget](https://learn.microsoft.com/windows/package-manager/) via `winget install Graphviz.Graphviz -i`.
After installing Graphviz (or if you already have it), install **diagrams**:
@ -20,6 +20,9 @@ $ pipenv install diagrams
# using poetry
$ poetry add diagrams
# using uv
$ uv tool install diagrams
```
## Quick Start
@ -47,6 +50,14 @@ This generates the diagram below:
It will be saved as `web_service.png` in your working directory.
### CLI
With the `diagrams` CLI you can process one or more diagram files at once.
```shell
$ diagrams diagram1.py diagram2.py
```
## Next
See more [Examples](/docs/getting-started/examples) or see the [Guides](/docs/guides/diagram) page for more details.

@ -65,5 +65,131 @@ with Diagram(name="Advanced Web Service with On-Premises (colored)", show=False)
>> Edge(color="darkorange") \
>> aggregator
```
![advanced web service with on-premise diagram colored](/img/advanced_web_service_with_on-premise_colored.png)
![advanced web service with on-premises diagram colored](/img/advanced_web_service_with_on-premises_colored.png)
## Less Edges
As you can see on the previous graph the edges can quickly become noisy. Below are two examples to solve this problem.
One approach is to get creative with the Node class to create blank placeholders, together with named nodes within Clusters, and then only pointing to single named elements within those Clusters.
Compare the output below to the example output above .
```python
from diagrams import Cluster, Diagram, Node
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.aggregator import Fluentd
from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka
with Diagram("\nAdvanced Web Service with On-Premise Less edges", show=False) as diag:
ingress = Nginx("ingress")
with Cluster("Service Cluster"):
serv1 = Server("grpc1")
serv2 = Server("grpc2")
serv3 = Server("grpc3")
with Cluster(""):
blankHA = Node("", shape="plaintext", width="0", height="0")
metrics = Prometheus("metric")
metrics << Grafana("monitoring")
aggregator = Fluentd("logging")
blankHA >> aggregator >> Kafka("stream") >> Spark("analytics")
with Cluster("Database HA"):
db = PostgreSQL("users")
db - PostgreSQL("replica") << metrics
blankHA >> db
with Cluster("Sessions HA"):
sess = Redis("session")
sess - Redis("replica") << metrics
blankHA >> sess
ingress >> serv2 >> blankHA
diag
```
![advanced web service with on-premise less edges](/img/advanced_web_service_with_on-premise_less_edges.png)
## Merged Edges
Yet another option is to set the graph_attr dictionary key "concentrate" to "true".
Note the following restrictions:
1. the Edge must end at the same headport
2. This only works when the "splines" graph_attr key is set to the value "spline". It has no effect when the value was set to "ortho", which is the default for the diagrams library.
3. this will only work with the "dot" layout engine, which is the default for the diagrams library.
For more information see:
https://graphviz.gitlab.io/doc/info/attrs.html#d:concentrate
https://www.graphviz.org/pdf/dotguide.pdf Section 3.3 Concentrators
```python
from diagrams import Cluster, Diagram, Edge, Node
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.aggregator import Fluentd
from diagrams.onprem.monitoring import Grafana, Prometheus
from diagrams.onprem.network import Nginx
from diagrams.onprem.queue import Kafka
graph_attr = {
"concentrate": "true",
"splines": "spline",
}
edge_attr = {
"minlen":"3",
}
with Diagram("\n\nAdvanced Web Service with On-Premise Merged edges", show=False,
graph_attr=graph_attr,
edge_attr=edge_attr) as diag:
ingress = Nginx("ingress")
metrics = Prometheus("metric")
metrics << Edge(minlen="0") << Grafana("monitoring")
with Cluster("Service Cluster"):
grpsrv = [
Server("grpc1"),
Server("grpc2"),
Server("grpc3")]
blank = Node("", shape="plaintext", height="0.0", width="0.0")
with Cluster("Sessions HA"):
sess = Redis("session")
sess - Redis("replica") << metrics
with Cluster("Database HA"):
db = PostgreSQL("users")
db - PostgreSQL("replica") << metrics
aggregator = Fluentd("logging")
aggregator >> Kafka("stream") >> Spark("analytics")
ingress >> [grpsrv[0], grpsrv[1], grpsrv[2],]
[grpsrv[0], grpsrv[1], grpsrv[2],] - Edge(headport="w", minlen="1") - blank
blank >> Edge(headport="w", minlen="2") >> [sess, db, aggregator]
diag
```
![advanced web service with on-premise merged edges](/img/advanced_web_service_with_on-premise_merged_edges.png)

@ -200,9 +200,15 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/compute/elastic-container-service-container.png" alt="ElasticContainerServiceContainer" style="float: left; padding-right: 5px;" >
**diagrams.aws.compute.ElasticContainerServiceContainer**
<img width="30" src="/img/resources/aws/compute/elastic-container-service-service-connect.png" alt="ElasticContainerServiceServiceConnect" style="float: left; padding-right: 5px;" >
**diagrams.aws.compute.ElasticContainerServiceServiceConnect**
<img width="30" src="/img/resources/aws/compute/elastic-container-service-service.png" alt="ElasticContainerServiceService" style="float: left; padding-right: 5px;" >
**diagrams.aws.compute.ElasticContainerServiceService**
<img width="30" src="/img/resources/aws/compute/elastic-container-service-task.png" alt="ElasticContainerServiceTask" style="float: left; padding-right: 5px;" >
**diagrams.aws.compute.ElasticContainerServiceTask**
<img width="30" src="/img/resources/aws/compute/elastic-container-service.png" alt="ElasticContainerService" style="float: left; padding-right: 5px;" >
**diagrams.aws.compute.ElasticContainerService**, **ECS** (alias)
@ -395,6 +401,9 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/devtools/cloud9.png" alt="Cloud9" style="float: left; padding-right: 5px;" >
**diagrams.aws.devtools.Cloud9**
<img width="30" src="/img/resources/aws/devtools/cloudshell.png" alt="Cloudshell" style="float: left; padding-right: 5px;" >
**diagrams.aws.devtools.Cloudshell**
<img width="30" src="/img/resources/aws/devtools/codeartifact.png" alt="Codeartifact" style="float: left; padding-right: 5px;" >
**diagrams.aws.devtools.Codeartifact**
@ -584,9 +593,24 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/integration/eventbridge-default-event-bus-resource.png" alt="EventbridgeDefaultEventBusResource" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.EventbridgeDefaultEventBusResource**
<img width="30" src="/img/resources/aws/integration/eventbridge-event.png" alt="EventbridgeEvent" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.EventbridgeEvent**
<img width="30" src="/img/resources/aws/integration/eventbridge-pipes.png" alt="EventbridgePipes" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.EventbridgePipes**
<img width="30" src="/img/resources/aws/integration/eventbridge-rule.png" alt="EventbridgeRule" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.EventbridgeRule**
<img width="30" src="/img/resources/aws/integration/eventbridge-saas-partner-event-bus-resource.png" alt="EventbridgeSaasPartnerEventBusResource" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.EventbridgeSaasPartnerEventBusResource**
<img width="30" src="/img/resources/aws/integration/eventbridge-scheduler.png" alt="EventbridgeScheduler" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.EventbridgeScheduler**
<img width="30" src="/img/resources/aws/integration/eventbridge-schema.png" alt="EventbridgeSchema" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.EventbridgeSchema**
<img width="30" src="/img/resources/aws/integration/eventbridge.png" alt="Eventbridge" style="float: left; padding-right: 5px;" >
**diagrams.aws.integration.Eventbridge**
@ -851,6 +875,9 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/management/cloudwatch-event-time-based.png" alt="CloudwatchEventTimeBased" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.CloudwatchEventTimeBased**
<img width="30" src="/img/resources/aws/management/cloudwatch-logs.png" alt="CloudwatchLogs" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.CloudwatchLogs**
<img width="30" src="/img/resources/aws/management/cloudwatch-rule.png" alt="CloudwatchRule" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.CloudwatchRule**
@ -977,6 +1004,9 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/management/trusted-advisor.png" alt="TrustedAdvisor" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.TrustedAdvisor**
<img width="30" src="/img/resources/aws/management/user-notifications.png" alt="UserNotifications" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.UserNotifications**
<img width="30" src="/img/resources/aws/management/well-architected-tool.png" alt="WellArchitectedTool" style="float: left; padding-right: 5px;" >
**diagrams.aws.management.WellArchitectedTool**
@ -1070,6 +1100,9 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/ml/augmented-ai.png" alt="AugmentedAi" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.AugmentedAi**
<img width="30" src="/img/resources/aws/ml/bedrock.png" alt="Bedrock" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.Bedrock**
<img width="30" src="/img/resources/aws/ml/comprehend.png" alt="Comprehend" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.Comprehend**
@ -1112,6 +1145,9 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/ml/polly.png" alt="Polly" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.Polly**
<img width="30" src="/img/resources/aws/ml/q.png" alt="Q" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.Q**
<img width="30" src="/img/resources/aws/ml/rekognition-image.png" alt="RekognitionImage" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.RekognitionImage**
@ -1145,6 +1181,9 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/ml/transcribe.png" alt="Transcribe" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.Transcribe**
<img width="30" src="/img/resources/aws/ml/transform.png" alt="Transform" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.Transform**
<img width="30" src="/img/resources/aws/ml/translate.png" alt="Translate" style="float: left; padding-right: 5px;" >
**diagrams.aws.ml.Translate**
@ -1436,6 +1475,9 @@ Node classes list of the aws provider.
<img width="30" src="/img/resources/aws/security/security-identity-and-compliance.png" alt="SecurityIdentityAndCompliance" style="float: left; padding-right: 5px;" >
**diagrams.aws.security.SecurityIdentityAndCompliance**
<img width="30" src="/img/resources/aws/security/security-lake.png" alt="SecurityLake" style="float: left; padding-right: 5px;" >
**diagrams.aws.security.SecurityLake**
<img width="30" src="/img/resources/aws/security/shield-advanced.png" alt="ShieldAdvanced" style="float: left; padding-right: 5px;" >
**diagrams.aws.security.ShieldAdvanced**

File diff suppressed because it is too large Load Diff

@ -35,6 +35,9 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/analytics/genomics.png" alt="Genomics" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Genomics**
<img width="30" src="/img/resources/gcp/analytics/looker.png" alt="Looker" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Looker**
<img width="30" src="/img/resources/gcp/analytics/pubsub.png" alt="Pubsub" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Pubsub**, **PubSub** (alias)
@ -56,6 +59,9 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/compute/app-engine.png" alt="AppEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.AppEngine**, **GAE** (alias)
<img width="30" src="/img/resources/gcp/compute/binary-authorization.png" alt="BinaryAuthorization" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.BinaryAuthorization**
<img width="30" src="/img/resources/gcp/compute/compute-engine.png" alt="ComputeEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.ComputeEngine**, **GCE** (alias)
@ -74,8 +80,17 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/compute/kubernetes-engine.png" alt="KubernetesEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias)
<img width="30" src="/img/resources/gcp/compute/os-configuration-management.png" alt="OSConfigurationManagement" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.OSConfigurationManagement**
<img width="30" src="/img/resources/gcp/compute/os-inventory-management.png" alt="OSInventoryManagement" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.OSInventoryManagement**
<img width="30" src="/img/resources/gcp/compute/os-patch-management.png" alt="OSPatchManagement" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.OSPatchManagement**
<img width="30" src="/img/resources/gcp/compute/run.png" alt="Run" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.Run**
**diagrams.gcp.compute.Run**, **CloudRun** (alias)
## gcp.database
@ -104,6 +119,9 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/devtools/build.png" alt="Build" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.Build**
<img width="30" src="/img/resources/gcp/devtools/cloud-shell.png" alt="CloudShell" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.CloudShell**
<img width="30" src="/img/resources/gcp/devtools/code-for-intellij.png" alt="CodeForIntellij" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.CodeForIntellij**
@ -128,6 +146,9 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/devtools/sdk.png" alt="SDK" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.SDK**
<img width="30" src="/img/resources/gcp/devtools/service-catalog.png" alt="ServiceCatalog" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ServiceCatalog**
<img width="30" src="/img/resources/gcp/devtools/source-repositories.png" alt="SourceRepositories" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.SourceRepositories**
@ -152,9 +173,27 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/iot/iot-core.png" alt="IotCore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.iot.IotCore**
## gcp.management
<img width="30" src="/img/resources/gcp/management/billing.png" alt="Billing" style="float: left; padding-right: 5px;" >
**diagrams.gcp.management.Billing**
<img width="30" src="/img/resources/gcp/management/project.png" alt="Project" style="float: left; padding-right: 5px;" >
**diagrams.gcp.management.Project**
<img width="30" src="/img/resources/gcp/management/quotas.png" alt="Quotas" style="float: left; padding-right: 5px;" >
**diagrams.gcp.management.Quotas**
<img width="30" src="/img/resources/gcp/management/support.png" alt="Support" style="float: left; padding-right: 5px;" >
**diagrams.gcp.management.Support**
## gcp.migration
<img width="30" src="/img/resources/gcp/migration/migrate-compute-engine.png" alt="MigrateComputeEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.migration.MigrateComputeEngine**, **CE** (alias)
<img width="30" src="/img/resources/gcp/migration/transfer-appliance.png" alt="TransferAppliance" style="float: left; padding-right: 5px;" >
**diagrams.gcp.migration.TransferAppliance**
@ -218,6 +257,9 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/ml/translation-api.png" alt="TranslationAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.TranslationAPI**
<img width="30" src="/img/resources/gcp/ml/vertex-ai.png" alt="VertexAI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.VertexAI**
<img width="30" src="/img/resources/gcp/ml/video-intelligence-api.png" alt="VideoIntelligenceAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.VideoIntelligenceAPI**
@ -233,6 +275,9 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/network/cdn.png" alt="CDN" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.CDN**
<img width="30" src="/img/resources/gcp/network/cloud-ids.png" alt="CloudIDS" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.CloudIDS**, **IDS** (alias)
<img width="30" src="/img/resources/gcp/network/dedicated-interconnect.png" alt="DedicatedInterconnect" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.DedicatedInterconnect**
@ -251,6 +296,21 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/network/nat.png" alt="NAT" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NAT**
<img width="30" src="/img/resources/gcp/network/network-connectivity-center.png" alt="NetworkConnectivityCenter" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NetworkConnectivityCenter**
<img width="30" src="/img/resources/gcp/network/network-intelligence-center.png" alt="NetworkIntelligenceCenter" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NetworkIntelligenceCenter**
<img width="30" src="/img/resources/gcp/network/network-security.png" alt="NetworkSecurity" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NetworkSecurity**
<img width="30" src="/img/resources/gcp/network/network-tiers.png" alt="NetworkTiers" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NetworkTiers**
<img width="30" src="/img/resources/gcp/network/network-topology.png" alt="NetworkTopology" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NetworkTopology**
<img width="30" src="/img/resources/gcp/network/network.png" alt="Network" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Network**
@ -260,12 +320,18 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/network/premium-network-tier.png" alt="PremiumNetworkTier" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.PremiumNetworkTier**
<img width="30" src="/img/resources/gcp/network/private-service-connect.png" alt="PrivateServiceConnect" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.PrivateServiceConnect**, **PSC** (alias)
<img width="30" src="/img/resources/gcp/network/router.png" alt="Router" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Router**
<img width="30" src="/img/resources/gcp/network/routes.png" alt="Routes" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Routes**
<img width="30" src="/img/resources/gcp/network/service-mesh.png" alt="ServiceMesh" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.ServiceMesh**
<img width="30" src="/img/resources/gcp/network/standard-network-tier.png" alt="StandardNetworkTier" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.StandardNetworkTier**
@ -290,6 +356,21 @@ Node classes list of the gcp provider.
## gcp.security
<img width="30" src="/img/resources/gcp/security/access-context-manager.png" alt="AccessContextManager" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.AccessContextManager**, **ACM** (alias)
<img width="30" src="/img/resources/gcp/security/assured-workloads.png" alt="AssuredWorkloads" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.AssuredWorkloads**
<img width="30" src="/img/resources/gcp/security/certificate-authority-service.png" alt="CertificateAuthorityService" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.CertificateAuthorityService**
<img width="30" src="/img/resources/gcp/security/certificate-manager.png" alt="CertificateManager" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.CertificateManager**
<img width="30" src="/img/resources/gcp/security/cloud-asset-inventory.png" alt="CloudAssetInventory" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.CloudAssetInventory**
<img width="30" src="/img/resources/gcp/security/iam.png" alt="Iam" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.Iam**
@ -302,9 +383,15 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/security/resource-manager.png" alt="ResourceManager" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.ResourceManager**
<img width="30" src="/img/resources/gcp/security/secret-manager.png" alt="SecretManager" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecretManager**
<img width="30" src="/img/resources/gcp/security/security-command-center.png" alt="SecurityCommandCenter" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias)
<img width="30" src="/img/resources/gcp/security/security-health-advisor.png" alt="SecurityHealthAdvisor" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecurityHealthAdvisor**
<img width="30" src="/img/resources/gcp/security/security-scanner.png" alt="SecurityScanner" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecurityScanner**
@ -314,6 +401,9 @@ Node classes list of the gcp provider.
<img width="30" src="/img/resources/gcp/storage/filestore.png" alt="Filestore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.Filestore**
<img width="30" src="/img/resources/gcp/storage/local-ssd.png" alt="LocalSSD" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.LocalSSD**, **SSD** (alias)
<img width="30" src="/img/resources/gcp/storage/persistent-disk.png" alt="PersistentDisk" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.PersistentDisk**

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

Loading…
Cancel
Save