From d2216b35e5d9ae69cb6ab2228c1179b5f7991af0 Mon Sep 17 00:00:00 2001 From: dev0128 Date: Wed, 13 Nov 2024 08:48:07 +0900 Subject: [PATCH] fix: Modify scripts for new provider support --- config.py | 11 ++++-- diagrams/snowflake/bugworkload.py | 43 ++++++++++++++++++++++ diagrams/snowflake/workload.py | 43 ++++++++++++++++++++++ docs/nodes/snowflake.md | 60 +++++++++++++++++++++++++++++++ scripts/generate.py | 2 ++ scripts/resource.py | 5 +++ website/i18n/en.json | 3 ++ website/sidebars.json | 1 + 8 files changed, 166 insertions(+), 2 deletions(-) create mode 100644 diagrams/snowflake/bugworkload.py create mode 100644 diagrams/snowflake/workload.py create mode 100644 docs/nodes/snowflake.md diff --git a/config.py b/config.py index 86a58342..92db0d27 100644 --- a/config.py +++ b/config.py @@ -29,6 +29,7 @@ PROVIDERS = ( "generic", "openstack", "outscale", + "snowflake", ) ######################### @@ -59,6 +60,7 @@ FILE_PREFIXES = { "outscale": (), "generic": (), "openstack": (), + "snowflake": (), } ######################### @@ -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"), # string? or tuple? + "ibm": ("ibm"), # string? or tuple? + "snowflake": ("sn",), } TITLE_WORDS = { @@ -110,6 +113,9 @@ TITLE_WORDS = { "ibm": { "ibm": "IBMCloud" }, + "snowflake": { + "snowflake": "Snowflake" + } } # TODO: check if the classname exists @@ -473,4 +479,5 @@ ALIASES = { "Tripleo": "TripleO", } }, + "snowflake": {}, } diff --git a/diagrams/snowflake/bugworkload.py b/diagrams/snowflake/bugworkload.py new file mode 100644 index 00000000..0f7bd74e --- /dev/null +++ b/diagrams/snowflake/bugworkload.py @@ -0,0 +1,43 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Snowflake + + +class _Bugworkload(_Snowflake): + _type = "bugworkload" + _icon_dir = "resources/snowflake/bugworkload" + + +class AiMl(_Bugworkload): + _icon = "ai-ml.png" + + +class Applications(_Bugworkload): + _icon = "applications.png" + + +class Collaboration(_Bugworkload): + _icon = "collaboration.png" + + +class Cybersecurity(_Bugworkload): + _icon = "cybersecurity.png" + + +class DataEngineering(_Bugworkload): + _icon = "data-engineering.png" + + +class DataLake(_Bugworkload): + _icon = "data-lake.png" + + +class DataWarehouse(_Bugworkload): + _icon = "data-warehouse.png" + + +class Unistore(_Bugworkload): + _icon = "unistore.png" + + +# Aliases diff --git a/diagrams/snowflake/workload.py b/diagrams/snowflake/workload.py new file mode 100644 index 00000000..66031011 --- /dev/null +++ b/diagrams/snowflake/workload.py @@ -0,0 +1,43 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Snowflake + + +class _Workload(_Snowflake): + _type = "workload" + _icon_dir = "resources/snowflake/workload" + + +class AiMl(_Workload): + _icon = "ai-ml.png" + + +class Applications(_Workload): + _icon = "applications.png" + + +class Collaboration(_Workload): + _icon = "collaboration.png" + + +class Cybersecurity(_Workload): + _icon = "cybersecurity.png" + + +class DataEngineering(_Workload): + _icon = "data-engineering.png" + + +class DataLake(_Workload): + _icon = "data-lake.png" + + +class DataWarehouse(_Workload): + _icon = "data-warehouse.png" + + +class Unistore(_Workload): + _icon = "unistore.png" + + +# Aliases diff --git a/docs/nodes/snowflake.md b/docs/nodes/snowflake.md new file mode 100644 index 00000000..4e379610 --- /dev/null +++ b/docs/nodes/snowflake.md @@ -0,0 +1,60 @@ +--- +id: snowflake +title: Snowflake +--- + +Node classes list of the snowflake provider. + +## snowflake.bugworkload + + +AiMl +**diagrams.snowflake.bugworkload.AiMl** + +Applications +**diagrams.snowflake.bugworkload.Applications** + +Collaboration +**diagrams.snowflake.bugworkload.Collaboration** + +Cybersecurity +**diagrams.snowflake.bugworkload.Cybersecurity** + +DataEngineering +**diagrams.snowflake.bugworkload.DataEngineering** + +DataLake +**diagrams.snowflake.bugworkload.DataLake** + +DataWarehouse +**diagrams.snowflake.bugworkload.DataWarehouse** + +Unistore +**diagrams.snowflake.bugworkload.Unistore** + +## snowflake.workload + + +AiMl +**diagrams.snowflake.workload.AiMl** + +Applications +**diagrams.snowflake.workload.Applications** + +Collaboration +**diagrams.snowflake.workload.Collaboration** + +Cybersecurity +**diagrams.snowflake.workload.Cybersecurity** + +DataEngineering +**diagrams.snowflake.workload.DataEngineering** + +DataLake +**diagrams.snowflake.workload.DataLake** + +DataWarehouse +**diagrams.snowflake.workload.DataWarehouse** + +Unistore +**diagrams.snowflake.workload.Unistore** diff --git a/scripts/generate.py b/scripts/generate.py index f9032227..a77f970c 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -70,6 +70,8 @@ def gen_apidoc(pvd: str, typ_paths: dict) -> str: def make_module(pvd: str, typ: str, classes: str) -> None: """Create a module file""" mod_path = os.path.join(app_root_dir(pvd), f"{typ}.py") + os.makedirs(os.path.dirname(mod_path), exist_ok=True) + with open(mod_path, "w+") as f: f.write(classes) diff --git a/scripts/resource.py b/scripts/resource.py index bc98a72c..a356b9a3 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -137,6 +137,10 @@ def cleaner_openstack(f): return f.lower() +def cleaner_snowflake(f): + return f.lower() + + cleaners = { "onprem": cleaner_onprem, "aws": cleaner_aws, @@ -154,6 +158,7 @@ cleaners = { "outscale": cleaner_outscale, "generic": cleaner_generic, "openstack": cleaner_openstack, + "snowflake": cleaner_snowflake, } diff --git a/website/i18n/en.json b/website/i18n/en.json index 7af9afd0..0a0724f5 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -76,6 +76,9 @@ }, "nodes/saas": { "title": "Saas" + }, + "nodes/snowflake": { + "title": "Snowflake" } }, "links": { diff --git a/website/sidebars.json b/website/sidebars.json index 97086c08..336d6fa7 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -24,6 +24,7 @@ "nodes/digitalocean", "nodes/elastic", "nodes/outscale", + "nodes/snowflake", "nodes/generic", "nodes/programming", "nodes/saas",