diff --git a/autogen.sh b/autogen.sh index 766881bc..08dc1829 100755 --- a/autogen.sh +++ b/autogen.sh @@ -4,7 +4,7 @@ set -e app_root_dir="diagrams" # NOTE: azure icon set is not latest version -providers=("onprem" "aws" "azure" "gcp" "k8s" "alibabacloud" "oci" "programming") +providers=("onprem" "aws" "azure" "gcp" "k8s" "alibabacloud" "oci" "programming", "saas") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 4a5c138d..baac1419 100644 --- a/config.py +++ b/config.py @@ -11,7 +11,7 @@ DIR_APP_ROOT = "diagrams" DIR_RESOURCE = "resources" DIR_TEMPLATE = "templates" -PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "k8s", "alibabacloud", "oci", "programming") +PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "k8s", "alibabacloud", "oci", "programming", "saas") ######################### # Resource Processing # @@ -33,6 +33,7 @@ FILE_PREFIXES = { "alibabacloud": (), "oci": ("OCI-",), "programming": (), + "saas": (), } ######################### @@ -67,7 +68,10 @@ TITLE_WORDS = { }, "aws": { "cloudfront": "CloudFront" - } + }, + "saas": { + "elasticcloud": "ElasticCloud", + }, } # TODO: check if the classname exists @@ -346,4 +350,9 @@ ALIASES = { "Typescript": "TypeScript" }, }, + "saas": { + "elasticsearch": { + "Logstash": "LogStash", + } + }, } diff --git a/diagrams/saas/__init__.py b/diagrams/saas/__init__.py new file mode 100644 index 00000000..ecae1d80 --- /dev/null +++ b/diagrams/saas/__init__.py @@ -0,0 +1,12 @@ +""" +Saas provides a set of general saas services. +""" + +from diagrams import Node + + +class _Saas(Node): + _provider = "saas" + _icon_dir = "resources/saas" + + fontcolor = "#ffffff" diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py new file mode 100644 index 00000000..ebdf0532 --- /dev/null +++ b/diagrams/saas/chat.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Chat(_Saas): + _type = "chat" + _icon_dir = "resources/saas/chat" + + +class Slack(_Chat): + _icon = "slack.png" + + +class Telegram(_Chat): + _icon = "telegram.png" + + +# Aliases diff --git a/diagrams/saas/elasticcloud.py b/diagrams/saas/elasticcloud.py new file mode 100644 index 00000000..7537f120 --- /dev/null +++ b/diagrams/saas/elasticcloud.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _ElasticCloud(_Saas): + _type = "elasticcloud" + _icon_dir = "resources/saas/elasticcloud" + + +class Cloud(_ElasticCloud): + _icon = "cloud.png" + + +# Aliases diff --git a/diagrams/saas/elasticsearch.py b/diagrams/saas/elasticsearch.py new file mode 100644 index 00000000..ceced211 --- /dev/null +++ b/diagrams/saas/elasticsearch.py @@ -0,0 +1,49 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Elasticsearch(_Saas): + _type = "elasticsearch" + _icon_dir = "resources/saas/elasticsearch" + + +class Alerting(_Elasticsearch): + _icon = "alerting.png" + + +class Elasticsearch(_Elasticsearch): + _icon = "elasticsearch.png" + + +class Kibana(_Elasticsearch): + _icon = "kibana.png" + + +class Logstash(_Elasticsearch): + _icon = "logstash.png" + + +class MachineLearning(_Elasticsearch): + _icon = "machine-learning.png" + + +class Maps(_Elasticsearch): + _icon = "maps.png" + + +class Monitoring(_Elasticsearch): + _icon = "monitoring.png" + + +class SecuritySettings(_Elasticsearch): + _icon = "security-settings.png" + + +class Sql(_Elasticsearch): + _icon = "sql.png" + + +# Aliases + +LogStash = Logstash diff --git a/diagrams/saas/enterprisesearch.py b/diagrams/saas/enterprisesearch.py new file mode 100644 index 00000000..1b01c11c --- /dev/null +++ b/diagrams/saas/enterprisesearch.py @@ -0,0 +1,27 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Enterprisesearch(_Saas): + _type = "enterprisesearch" + _icon_dir = "resources/saas/enterprisesearch" + + +class AppSearch(_Enterprisesearch): + _icon = "app-search.png" + + +class EnterpriseSearch(_Enterprisesearch): + _icon = "enterprise-search.png" + + +class SiteSearch(_Enterprisesearch): + _icon = "site-search.png" + + +class WorkplaceSearch(_Enterprisesearch): + _icon = "workplace-search.png" + + +# Aliases diff --git a/diagrams/saas/observability.py b/diagrams/saas/observability.py new file mode 100644 index 00000000..aa03064d --- /dev/null +++ b/diagrams/saas/observability.py @@ -0,0 +1,31 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Observability(_Saas): + _type = "observability" + _icon_dir = "resources/saas/observability" + + +class Apm(_Observability): + _icon = "apm.png" + + +class Logs(_Observability): + _icon = "logs.png" + + +class Metrics(_Observability): + _icon = "metrics.png" + + +class Observability(_Observability): + _icon = "observability.png" + + +class Uptime(_Observability): + _icon = "uptime.png" + + +# Aliases diff --git a/diagrams/saas/security.py b/diagrams/saas/security.py new file mode 100644 index 00000000..c2bacd2c --- /dev/null +++ b/diagrams/saas/security.py @@ -0,0 +1,23 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Security(_Saas): + _type = "security" + _icon_dir = "resources/saas/security" + + +class Endpoint(_Security): + _icon = "endpoint.png" + + +class Security(_Security): + _icon = "security.png" + + +class Siem(_Security): + _icon = "siem.png" + + +# Aliases diff --git a/diagrams/saas/social.py b/diagrams/saas/social.py new file mode 100644 index 00000000..6ad326db --- /dev/null +++ b/diagrams/saas/social.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Social(_Saas): + _type = "social" + _icon_dir = "resources/saas/social" + + +class Facebook(_Social): + _icon = "facebook.png" + + +class Twitter(_Social): + _icon = "twitter.png" + + +# Aliases diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md new file mode 100644 index 00000000..ff50f854 --- /dev/null +++ b/docs/nodes/saas.md @@ -0,0 +1,53 @@ +--- +id: saas +title: Saas +--- + +Node classes list of saas provider. + +## saas.social + +- **diagrams.saas.social.Facebook** +- **diagrams.saas.social.Twitter** + +## saas.chat + +- **diagrams.saas.chat.Slack** +- **diagrams.saas.chat.Telegram** + +## saas.elasticcloud + +- **diagrams.saas.elasticcloud.Cloud** + +## saas.elasticsearch + +- **diagrams.saas.elasticsearch.Alerting** +- **diagrams.saas.elasticsearch.Elasticsearch** +- **diagrams.saas.elasticsearch.Kibana** +- **diagrams.saas.elasticsearch.Logstash**, **LogStash** (alias) +- **diagrams.saas.elasticsearch.MachineLearning** +- **diagrams.saas.elasticsearch.Maps** +- **diagrams.saas.elasticsearch.Monitoring** +- **diagrams.saas.elasticsearch.SecuritySettings** +- **diagrams.saas.elasticsearch.Sql** + +## saas.security + +- **diagrams.saas.security.Endpoint** +- **diagrams.saas.security.Security** +- **diagrams.saas.security.Siem** + +## saas.observability + +- **diagrams.saas.observability.Apm** +- **diagrams.saas.observability.Logs** +- **diagrams.saas.observability.Metrics** +- **diagrams.saas.observability.Observability** +- **diagrams.saas.observability.Uptime** + +## saas.enterprisesearch + +- **diagrams.saas.enterprisesearch.AppSearch** +- **diagrams.saas.enterprisesearch.EnterpriseSearch** +- **diagrams.saas.enterprisesearch.SiteSearch** +- **diagrams.saas.enterprisesearch.WorkplaceSearch** diff --git a/resources/saas/chat/slack.png b/resources/saas/chat/slack.png new file mode 100644 index 00000000..66e9e72f Binary files /dev/null and b/resources/saas/chat/slack.png differ diff --git a/resources/saas/chat/telegram.png b/resources/saas/chat/telegram.png new file mode 100644 index 00000000..d52b904c Binary files /dev/null and b/resources/saas/chat/telegram.png differ diff --git a/resources/saas/elasticcloud/cloud.png b/resources/saas/elasticcloud/cloud.png new file mode 100644 index 00000000..92ee1c92 Binary files /dev/null and b/resources/saas/elasticcloud/cloud.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/alerting.png b/resources/saas/elasticcloud/elasticsearch/alerting.png new file mode 100644 index 00000000..eb8c7c71 Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/alerting.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/elasticsearch.png b/resources/saas/elasticcloud/elasticsearch/elasticsearch.png new file mode 100644 index 00000000..10188c30 Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/elasticsearch.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/kibana.png b/resources/saas/elasticcloud/elasticsearch/kibana.png new file mode 100644 index 00000000..b856e29b Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/kibana.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/logstash.png b/resources/saas/elasticcloud/elasticsearch/logstash.png new file mode 100644 index 00000000..7beca017 Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/logstash.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/machine-learning.png b/resources/saas/elasticcloud/elasticsearch/machine-learning.png new file mode 100644 index 00000000..d69926ce Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/machine-learning.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/maps.png b/resources/saas/elasticcloud/elasticsearch/maps.png new file mode 100644 index 00000000..5f597a9c Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/maps.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/monitoring.png b/resources/saas/elasticcloud/elasticsearch/monitoring.png new file mode 100644 index 00000000..00c9665c Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/monitoring.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/security-settings.png b/resources/saas/elasticcloud/elasticsearch/security-settings.png new file mode 100644 index 00000000..74a54816 Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/security-settings.png differ diff --git a/resources/saas/elasticcloud/elasticsearch/sql.png b/resources/saas/elasticcloud/elasticsearch/sql.png new file mode 100644 index 00000000..ebb7fc3e Binary files /dev/null and b/resources/saas/elasticcloud/elasticsearch/sql.png differ diff --git a/resources/saas/elasticcloud/enterprisesearch/app-search.png b/resources/saas/elasticcloud/enterprisesearch/app-search.png new file mode 100644 index 00000000..a7217232 Binary files /dev/null and b/resources/saas/elasticcloud/enterprisesearch/app-search.png differ diff --git a/resources/saas/elasticcloud/enterprisesearch/enterprise-search.png b/resources/saas/elasticcloud/enterprisesearch/enterprise-search.png new file mode 100644 index 00000000..6354b21c Binary files /dev/null and b/resources/saas/elasticcloud/enterprisesearch/enterprise-search.png differ diff --git a/resources/saas/elasticcloud/enterprisesearch/site-search.png b/resources/saas/elasticcloud/enterprisesearch/site-search.png new file mode 100644 index 00000000..eb41bb9c Binary files /dev/null and b/resources/saas/elasticcloud/enterprisesearch/site-search.png differ diff --git a/resources/saas/elasticcloud/enterprisesearch/workplace-search.png b/resources/saas/elasticcloud/enterprisesearch/workplace-search.png new file mode 100644 index 00000000..5e38b5e6 Binary files /dev/null and b/resources/saas/elasticcloud/enterprisesearch/workplace-search.png differ diff --git a/resources/saas/elasticcloud/observability/apm.png b/resources/saas/elasticcloud/observability/apm.png new file mode 100644 index 00000000..3b1ba284 Binary files /dev/null and b/resources/saas/elasticcloud/observability/apm.png differ diff --git a/resources/saas/elasticcloud/observability/logs.png b/resources/saas/elasticcloud/observability/logs.png new file mode 100644 index 00000000..2976ae21 Binary files /dev/null and b/resources/saas/elasticcloud/observability/logs.png differ diff --git a/resources/saas/elasticcloud/observability/metrics.png b/resources/saas/elasticcloud/observability/metrics.png new file mode 100644 index 00000000..bb354a07 Binary files /dev/null and b/resources/saas/elasticcloud/observability/metrics.png differ diff --git a/resources/saas/elasticcloud/observability/observability.png b/resources/saas/elasticcloud/observability/observability.png new file mode 100644 index 00000000..5844caa9 Binary files /dev/null and b/resources/saas/elasticcloud/observability/observability.png differ diff --git a/resources/saas/elasticcloud/observability/uptime.png b/resources/saas/elasticcloud/observability/uptime.png new file mode 100644 index 00000000..f4e2709d Binary files /dev/null and b/resources/saas/elasticcloud/observability/uptime.png differ diff --git a/resources/saas/elasticcloud/security/endpoint.png b/resources/saas/elasticcloud/security/endpoint.png new file mode 100644 index 00000000..91facf99 Binary files /dev/null and b/resources/saas/elasticcloud/security/endpoint.png differ diff --git a/resources/saas/elasticcloud/security/security.png b/resources/saas/elasticcloud/security/security.png new file mode 100644 index 00000000..ebf98d16 Binary files /dev/null and b/resources/saas/elasticcloud/security/security.png differ diff --git a/resources/saas/elasticcloud/security/siem.png b/resources/saas/elasticcloud/security/siem.png new file mode 100644 index 00000000..4024b3c0 Binary files /dev/null and b/resources/saas/elasticcloud/security/siem.png differ diff --git a/resources/saas/social/facebook.png b/resources/saas/social/facebook.png new file mode 100755 index 00000000..3ffb63c6 Binary files /dev/null and b/resources/saas/social/facebook.png differ diff --git a/resources/saas/social/twitter.png b/resources/saas/social/twitter.png new file mode 100644 index 00000000..8320d575 Binary files /dev/null and b/resources/saas/social/twitter.png differ diff --git a/scripts/generate.py b/scripts/generate.py index 7ec0a879..d7a649aa 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -7,7 +7,7 @@ from jinja2 import Environment, FileSystemLoader, Template import config as cfg from . import app_root_dir, doc_root_dir, resource_dir, template_dir -_usage = "Usage: generate.py " +_usage = "Usage: generate.py " def load_tmpl(tmpl: str) -> Template: diff --git a/scripts/resource.py b/scripts/resource.py index 10575af1..9c680dcc 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -93,6 +93,7 @@ cleaners = { "alibabacloud": cleaner_alibabacloud, "oci": cleaner_oci, "programming": cleaner_programming, + "saas": cleaner_onprem, }