Added DigitalOcean provider

pull/621/head
Chris Skaaning 4 years ago
parent e43c860732
commit 94e509449f

@ -4,7 +4,7 @@ set -e
app_root_dir="diagrams"
# NOTE: azure icon set is not latest version
providers=("onprem" "aws" "azure" "gcp" "ibm" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" )
providers=("onprem" "aws" "azure" "digitalocean" "gcp" "ibm" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic" "openstack" "outscale" )
if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed'

@ -12,8 +12,8 @@ DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates"
PROVIDERS = (
"base", "onprem", "aws", "azure", "gcp", "ibm", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic",
"generic", "openstack", "outscale")
"base", "onprem", "aws", "azure", "digitalocean", "gcp", "ibm", "firebase", "k8s", "alibabacloud", "oci",
"programming", "saas", "elastic", "generic", "openstack", "outscale")
#########################
# Resource Processing #
@ -30,6 +30,7 @@ FILE_PREFIXES = {
"onprem": (),
"aws": ("Amazon-", "AWS-"),
"azure": ("Azure-",),
"digitalocean": (),
"gcp": ("Cloud-",),
"firebase": ("Cloud-",),
"ibm": (),
@ -59,6 +60,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"),
"azure": ("vpn", "vpc"),
"gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"),
"firebase": ("ab", "fcm", "ml"),
"k8s": (
@ -84,6 +86,9 @@ TITLE_WORDS = {
"aws": {
"cloudfront": "CloudFront"
},
"digitalocean": {
"digitalocean": "DigitalOcean"
},
"openstack": {
"openstack": "OpenStack"
},
@ -386,6 +391,7 @@ ALIASES = {
"ObjectTableStore": "OTS",
}
},
"digitalocean": {},
"oci": {
"compute": {
"VM": "VirtualMachine",

@ -8,10 +8,6 @@ class _General(_AWS):
_icon_dir = "resources/aws/general"
class InternetGateway(_General):
_icon = "Internet-gateway.png"
class Client(_General):
_icon = "client.png"
@ -56,6 +52,10 @@ class InternetAlt2(_General):
_icon = "internet-alt2.png"
class InternetGateway(_General):
_icon = "internet-gateway.png"
class Marketplace(_General):
_icon = "marketplace.png"

@ -12,7 +12,7 @@ class AppServices(_Compute):
_icon = "app-services.png"
class AutomanagedVM(_Compute):
class AutomanagedVm(_Compute):
_icon = "automanaged-vm.png"
@ -84,7 +84,7 @@ class OsImages(_Compute):
_icon = "os-images.png"
class SAPHANAOnAzure(_Compute):
class SapHanaOnAzure(_Compute):
_icon = "sap-hana-on-azure.png"
@ -100,27 +100,27 @@ class SpringCloud(_Compute):
_icon = "spring-cloud.png"
class VMClassic(_Compute):
class VmClassic(_Compute):
_icon = "vm-classic.png"
class VMImages(_Compute):
class VmImages(_Compute):
_icon = "vm-images.png"
class VMLinux(_Compute):
class VmLinux(_Compute):
_icon = "vm-linux.png"
class VMScaleSet(_Compute):
class VmScaleSet(_Compute):
_icon = "vm-scale-set.png"
class VMWindows(_Compute):
class VmWindows(_Compute):
_icon = "vm-windows.png"
class VM(_Compute):
class Vm(_Compute):
_icon = "vm.png"

@ -60,31 +60,31 @@ class ManagedDatabases(_Database):
_icon = "managed-databases.png"
class SQLDatabases(_Database):
class SqlDatabases(_Database):
_icon = "sql-databases.png"
class SQLDatawarehouse(_Database):
class SqlDatawarehouse(_Database):
_icon = "sql-datawarehouse.png"
class SQLManagedInstances(_Database):
class SqlManagedInstances(_Database):
_icon = "sql-managed-instances.png"
class SQLServerStretchDatabases(_Database):
class SqlServerStretchDatabases(_Database):
_icon = "sql-server-stretch-databases.png"
class SQLServers(_Database):
class SqlServers(_Database):
_icon = "sql-servers.png"
class SQLVM(_Database):
class SqlVm(_Database):
_icon = "sql-vm.png"
class SQL(_Database):
class Sql(_Database):
_icon = "sql.png"

@ -20,19 +20,19 @@ class ActiveDirectory(_Identity):
_icon = "active-directory.png"
class ADB2C(_Identity):
class AdB2C(_Identity):
_icon = "ad-b2c.png"
class ADDomainServices(_Identity):
class AdDomainServices(_Identity):
_icon = "ad-domain-services.png"
class ADIdentityProtection(_Identity):
class AdIdentityProtection(_Identity):
_icon = "ad-identity-protection.png"
class ADPrivilegedIdentityManagement(_Identity):
class AdPrivilegedIdentityManagement(_Identity):
_icon = "ad-privileged-identity-management.png"

@ -8,11 +8,11 @@ class _Integration(_Azure):
_icon_dir = "resources/azure/integration"
class APIForFhir(_Integration):
class ApiForFhir(_Integration):
_icon = "api-for-fhir.png"
class APIManagement(_Integration):
class ApiManagement(_Integration):
_icon = "api-management.png"

@ -8,7 +8,7 @@ class _Ml(_Azure):
_icon_dir = "resources/azure/ml"
class BatchAI(_Ml):
class BatchAi(_Ml):
_icon = "batch-ai.png"

@ -16,7 +16,7 @@ class ApplicationSecurityGroups(_Network):
_icon = "application-security-groups.png"
class CDNProfiles(_Network):
class CdnProfiles(_Network):
_icon = "cdn-profiles.png"
@ -24,15 +24,15 @@ class Connections(_Network):
_icon = "connections.png"
class DDOSProtectionPlans(_Network):
class DdosProtectionPlans(_Network):
_icon = "ddos-protection-plans.png"
class DNSPrivateZones(_Network):
class DnsPrivateZones(_Network):
_icon = "dns-private-zones.png"
class DNSZones(_Network):
class DnsZones(_Network):
_icon = "dns-zones.png"

@ -8,7 +8,7 @@ class _Web(_Azure):
_icon_dir = "resources/azure/web"
class APIConnections(_Web):
class ApiConnections(_Web):
_icon = "api-connections.png"

@ -0,0 +1,43 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _DigitalOcean
class _Compute(_DigitalOcean):
_type = "compute"
_icon_dir = "resources/digitalocean/compute"
class Containers(_Compute):
_icon = "containers.png"
class Docker(_Compute):
_icon = "docker.png"
class DropletConnect(_Compute):
_icon = "droplet-connect.png"
class DropletSnapshot(_Compute):
_icon = "droplet-snapshot.png"
class Droplet(_Compute):
_icon = "droplet.png"
class K8SCluster(_Compute):
_icon = "k8s-cluster.png"
class K8SNodePool(_Compute):
_icon = "k8s-node-pool.png"
class K8SNode(_Compute):
_icon = "k8s-node.png"
# Aliases

@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _DigitalOcean
class _Database(_DigitalOcean):
_type = "database"
_icon_dir = "resources/digitalocean/database"
class DbaasPrimaryStandbyMore(_Database):
_icon = "dbaas-primary-standby-more.png"
class DbaasPrimary(_Database):
_icon = "dbaas-primary.png"
class DbaasReadOnly(_Database):
_icon = "dbaas-read-only.png"
class DbaasStandby(_Database):
_icon = "dbaas-standby.png"
# Aliases

@ -0,0 +1,47 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _DigitalOcean
class _Network(_DigitalOcean):
_type = "network"
_icon_dir = "resources/digitalocean/network"
class Certificate(_Network):
_icon = "certificate.png"
class DomainRegistration(_Network):
_icon = "domain-registration.png"
class Domain(_Network):
_icon = "domain.png"
class Firewall(_Network):
_icon = "firewall.png"
class FloatingIp(_Network):
_icon = "floating-ip.png"
class InternetGateway(_Network):
_icon = "internet-gateway.png"
class LoadBalancer(_Network):
_icon = "load-balancer.png"
class ManagedVpn(_Network):
_icon = "managed-vpn.png"
class Vpc(_Network):
_icon = "vpc.png"
# Aliases

@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _DigitalOcean
class _Storage(_DigitalOcean):
_type = "storage"
_icon_dir = "resources/digitalocean/storage"
class Folder(_Storage):
_icon = "folder.png"
class Space(_Storage):
_icon = "space.png"
class VolumeSnapshot(_Storage):
_icon = "volume-snapshot.png"
class Volume(_Storage):
_icon = "volume.png"
# Aliases

@ -188,7 +188,6 @@ Node classes list of aws provider.
## aws.general
- **diagrams.aws.general.InternetGateway**
- **diagrams.aws.general.Client**
- **diagrams.aws.general.Disk**
- **diagrams.aws.general.Forums**
@ -200,6 +199,7 @@ Node classes list of aws provider.
- **diagrams.aws.general.GenericSDK**
- **diagrams.aws.general.InternetAlt1**
- **diagrams.aws.general.InternetAlt2**
- **diagrams.aws.general.InternetGateway**
- **diagrams.aws.general.Marketplace**
- **diagrams.aws.general.MobileClient**
- **diagrams.aws.general.Multimedia**

@ -23,7 +23,7 @@ Node classes list of azure provider.
## azure.compute
- **diagrams.azure.compute.AppServices**
- **diagrams.azure.compute.AutomanagedVM**
- **diagrams.azure.compute.AutomanagedVm**
- **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.BatchAccounts**
- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials**
@ -41,16 +41,16 @@ Node classes list of azure provider.
- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias)
- **diagrams.azure.compute.MeshApplications**
- **diagrams.azure.compute.OsImages**
- **diagrams.azure.compute.SAPHANAOnAzure**
- **diagrams.azure.compute.SapHanaOnAzure**
- **diagrams.azure.compute.ServiceFabricClusters**
- **diagrams.azure.compute.SharedImageGalleries**
- **diagrams.azure.compute.SpringCloud**
- **diagrams.azure.compute.VMClassic**
- **diagrams.azure.compute.VMImages**
- **diagrams.azure.compute.VMLinux**
- **diagrams.azure.compute.VMScaleSet**, **VMSS** (alias)
- **diagrams.azure.compute.VMWindows**
- **diagrams.azure.compute.VM**
- **diagrams.azure.compute.VmClassic**
- **diagrams.azure.compute.VmImages**
- **diagrams.azure.compute.VmLinux**
- **diagrams.azure.compute.VmScaleSet**
- **diagrams.azure.compute.VmWindows**
- **diagrams.azure.compute.Vm**
- **diagrams.azure.compute.Workspaces**
## azure.database
@ -68,13 +68,13 @@ Node classes list of azure provider.
- **diagrams.azure.database.ElasticJobAgents**
- **diagrams.azure.database.InstancePools**
- **diagrams.azure.database.ManagedDatabases**
- **diagrams.azure.database.SQLDatabases**
- **diagrams.azure.database.SQLDatawarehouse**
- **diagrams.azure.database.SQLManagedInstances**
- **diagrams.azure.database.SQLServerStretchDatabases**
- **diagrams.azure.database.SQLServers**
- **diagrams.azure.database.SQLVM**
- **diagrams.azure.database.SQL**
- **diagrams.azure.database.SqlDatabases**
- **diagrams.azure.database.SqlDatawarehouse**
- **diagrams.azure.database.SqlManagedInstances**
- **diagrams.azure.database.SqlServerStretchDatabases**
- **diagrams.azure.database.SqlServers**
- **diagrams.azure.database.SqlVm**
- **diagrams.azure.database.Sql**
- **diagrams.azure.database.SsisLiftAndShiftIr**
- **diagrams.azure.database.SynapseAnalytics**
- **diagrams.azure.database.VirtualClusters**
@ -126,10 +126,10 @@ Node classes list of azure provider.
- **diagrams.azure.identity.AccessReview**
- **diagrams.azure.identity.ActiveDirectoryConnectHealth**
- **diagrams.azure.identity.ActiveDirectory**
- **diagrams.azure.identity.ADB2C**
- **diagrams.azure.identity.ADDomainServices**
- **diagrams.azure.identity.ADIdentityProtection**
- **diagrams.azure.identity.ADPrivilegedIdentityManagement**
- **diagrams.azure.identity.AdB2C**
- **diagrams.azure.identity.AdDomainServices**
- **diagrams.azure.identity.AdIdentityProtection**
- **diagrams.azure.identity.AdPrivilegedIdentityManagement**
- **diagrams.azure.identity.AppRegistrations**
- **diagrams.azure.identity.ConditionalAccess**
- **diagrams.azure.identity.EnterpriseApplications**
@ -141,8 +141,8 @@ Node classes list of azure provider.
## azure.integration
- **diagrams.azure.integration.APIForFhir**
- **diagrams.azure.integration.APIManagement**
- **diagrams.azure.integration.ApiForFhir**
- **diagrams.azure.integration.ApiManagement**
- **diagrams.azure.integration.AppConfiguration**
- **diagrams.azure.integration.DataCatalog**
- **diagrams.azure.integration.EventGridDomains**
@ -184,7 +184,7 @@ Node classes list of azure provider.
## azure.ml
- **diagrams.azure.ml.BatchAI**
- **diagrams.azure.ml.BatchAi**
- **diagrams.azure.ml.BotServices**
- **diagrams.azure.ml.CognitiveServices**
- **diagrams.azure.ml.GenomicsAccounts**
@ -203,11 +203,11 @@ Node classes list of azure provider.
- **diagrams.azure.network.ApplicationGateway**
- **diagrams.azure.network.ApplicationSecurityGroups**
- **diagrams.azure.network.CDNProfiles**
- **diagrams.azure.network.CdnProfiles**
- **diagrams.azure.network.Connections**
- **diagrams.azure.network.DDOSProtectionPlans**
- **diagrams.azure.network.DNSPrivateZones**
- **diagrams.azure.network.DNSZones**
- **diagrams.azure.network.DdosProtectionPlans**
- **diagrams.azure.network.DnsPrivateZones**
- **diagrams.azure.network.DnsZones**
- **diagrams.azure.network.ExpressrouteCircuits**
- **diagrams.azure.network.Firewall**
- **diagrams.azure.network.FrontDoors**
@ -260,7 +260,7 @@ Node classes list of azure provider.
## azure.web
- **diagrams.azure.web.APIConnections**
- **diagrams.azure.web.ApiConnections**
- **diagrams.azure.web.AppServiceCertificates**
- **diagrams.azure.web.AppServiceDomains**
- **diagrams.azure.web.AppServiceEnvironments**

@ -0,0 +1,43 @@
---
id: digitalocean
title: DigitalOcean
---
Node classes list of digitalocean provider.
## digitalocean.compute
- **diagrams.digitalocean.compute.Containers**
- **diagrams.digitalocean.compute.Docker**
- **diagrams.digitalocean.compute.DropletConnect**
- **diagrams.digitalocean.compute.DropletSnapshot**
- **diagrams.digitalocean.compute.Droplet**
- **diagrams.digitalocean.compute.K8SCluster**
- **diagrams.digitalocean.compute.K8SNodePool**
- **diagrams.digitalocean.compute.K8SNode**
## digitalocean.database
- **diagrams.digitalocean.database.DbaasPrimaryStandbyMore**
- **diagrams.digitalocean.database.DbaasPrimary**
- **diagrams.digitalocean.database.DbaasReadOnly**
- **diagrams.digitalocean.database.DbaasStandby**
## digitalocean.network
- **diagrams.digitalocean.network.Certificate**
- **diagrams.digitalocean.network.DomainRegistration**
- **diagrams.digitalocean.network.Domain**
- **diagrams.digitalocean.network.Firewall**
- **diagrams.digitalocean.network.FloatingIp**
- **diagrams.digitalocean.network.InternetGateway**
- **diagrams.digitalocean.network.LoadBalancer**
- **diagrams.digitalocean.network.ManagedVpn**
- **diagrams.digitalocean.network.Vpc**
## digitalocean.storage
- **diagrams.digitalocean.storage.Folder**
- **diagrams.digitalocean.storage.Space**
- **diagrams.digitalocean.storage.VolumeSnapshot**
- **diagrams.digitalocean.storage.Volume**

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@ -84,6 +84,14 @@ def cleaner_k8s(f):
break
return f.lower()
def cleaner_digitalocean(f):
f = f.replace("-32", "")
for p in cfg.FILE_PREFIXES["digitalocean"]:
if f.startswith(p):
f = f[len(p) :]
break
return f.lower()
def cleaner_alibabacloud(f):
for p in cfg.FILE_PREFIXES["alibabacloud"]:
@ -131,6 +139,7 @@ cleaners = {
"onprem": cleaner_onprem,
"aws": cleaner_aws,
"azure": cleaner_azure,
"digitalocean": cleaner_digitalocean,
"gcp": cleaner_gcp,
"ibm": cleaner_ibm,
"firebase": cleaner_firebase,

Loading…
Cancel
Save