From 7b158ac72b86e42f1bf814dde6ef8f5fcee7761a Mon Sep 17 00:00:00 2001 From: Artem Goncharov Date: Mon, 22 Aug 2022 09:14:27 +0200 Subject: [PATCH] slightly rework structure --- otc_metadata/data/__init__.py | 11 + otc_metadata/data/services.yaml | 1594 ++++++++++++++++--------------- otc_metadata/services.py | 50 + 3 files changed, 890 insertions(+), 765 deletions(-) diff --git a/otc_metadata/data/__init__.py b/otc_metadata/data/__init__.py index 4f8c13c3..fc5139d6 100644 --- a/otc_metadata/data/__init__.py +++ b/otc_metadata/data/__init__.py @@ -27,3 +27,14 @@ def read_data(filename): filepath = os.path.join(DATA_DIR, filename) with open(filepath, 'r') as fd: return yaml.safe_load(fd) + +def rewrite_data(filename, data): + """Rewrites data formatting it + + """ + from ruamel.yaml import YAML + _yaml = YAML() + _yaml.indent(mapping=2, sequence=4, offset=2) + filepath = os.path.join(DATA_DIR, filename) + with open(filepath, 'w') as fd: + _yaml.dump(data, fd) diff --git a/otc_metadata/data/services.yaml b/otc_metadata/data/services.yaml index 5c2d4612..b9488fbb 100644 --- a/otc_metadata/data/services.yaml +++ b/otc_metadata/data/services.yaml @@ -1,4 +1,568 @@ ---- +documents: + - html_location: docs/antiddos/umn + pdf_name: antiddos-umn + rst_location: umn/source + service_type: antiddos + title: User Guide + - html_location: docs/antiddos/api-ref + pdf_name: antiddos-api-ref + rst_location: api-ref/source + service_ype: antiddos + title: API Reference + - html_location: docs/cbr/umn + pdf_name: cbr-umn + rst_location: umn/source + service_type: cbr + title: User Guide + - html_location: docs/cbr/api-ref + pdf_name: cbr-api-ref + rst_location: api-ref/source + service_type: cbr + title: API Reference + - html_location: docs/csbs/umn + pdf_name: csbs-umn + rst_location: umn/source + service_type: csbs + title: User Guide + - html_location: docs/csbs/api-ref + pdf_name: csbs-api-ref + rst_location: api-ref/source + service_type: csbs + title: API Reference + - html_location: docs/cdn/umn + pdf_name: cdn-umn + rst_location: umn/source + service_type: cdn + title: User Guide + - html_location: docs/dc/umn + pdf_name: dc-umn + rst_location: umn/source + service_type: dc + title: User Guide + - html_location: docs/dc/api-ref + pdf_name: dc-api-ref + rst_location: api-ref/source + service_type: dc + title: API Reference + - html_location: docs/tms/umn + pdf_name: tms-umn + rst_location: umn/source + service_type: tms + title: User Guide + - html_location: docs/tms/api-ref + pdf_name: tms-api-ref + rst_location: api-ref/source + service_type: tms + title: API Reference + - html_location: docs/dns/umn + pdf_name: dns-umn + rst_location: umn/source + service_type: dns + title: User Guide + - html_location: docs/dns/api-ref + pdf_name: dns-api-ref + rst_location: api-ref/source + service_type: dns + title: API Reference + - html_location: docs/eip/umn + pdf_name: eip-umn + rst_location: umn/source + service_type: eip + title: User Guide + - html_location: docs/eip/api-ref + pdf_name: eip-api-ref + rst_location: api-ref/source + service_type: eip + title: API Reference + - html_location: docs/elb/umn + rst_location: umn/source + service_type: elb + title: User Guide + - html_location: docs/elb/api-ref + rst_location: api-ref/source + title: API Reference + type: api-ref + - html_location: docs/ed/umn + pdf_name: edb-umn + rst_location: umn/source + service_type: edb + title: User Guide + - html_location: docs/evs/umn + pdf_name: evs-umn + rst_location: umn/source + service_type: evs + title: User Guide + - html_location: docs/evs/api-ref + pdf_name: evs-api-ref + rst_location: api-ref/source + service_type: evs + title: API Reference + - html_location: docs/evs/dev + pdf_name: evs-dev-guide + rst_location: dev_guide/source + service_type: evs + title: Developer Guide + - html_location: docs/iam/umn + pdf_name: ims-umn + rst_location: umn/source + service_type: ims + title: User Guide + - html_location: docs/iam/api-ref + pdf_name: ims-api-ref + rst_location: api-ref/source + service_type: ims + title: API Reference + - html_location: docs/ces/umn + pdf_name: ces-umn + rst_location: umn/source + service_type: ces + title: User Guide + - html_location: docs/ces/api-ref + pdf_name: ces-api-ref + rst_location: api-ref/source + service_type: ces + title: API Reference + - html_location: docs/rds/umn + pdf_name: rds-umn + rst_location: umn/source + service_type: rds + title: User Guide + - html_location: docs/rds/api-ref + pdf_name: rds-api-ref + rst_location: api-ref/source + service_type: rds + title: API Reference + - html_location: docs/gaussdb_nosql/umn + pdf_name: gauss_nosql + rst_location: umn/source + service_type: gauss_nosql + title: User Guide + - html_location: docs/opengauss/umn + pdf_name: opengauss-umn + rst_location: umn/source + service_type: opengauss + title: User Guide + - html_location: docs/opengauss/api-ref + pdf_name: opengauss-api-ref + rst_location: api-ref/source + service_type: opengauss + title: API Reference + - html_location: docs/cts/umn + pdf_name: cts-umn + rst_location: umn/source + service_type: cts + title: User Guide + - html_location: docs/cts/api-ref + pdf_name: cts-api-ref + rst_location: api-ref/source + service_type: cts + title: API Reference + - html_location: docs/kms/umn + pdf_name: kms-umn + rst_location: umn/source + service_type: kms + title: User Guide + - html_location: docs/kms/api-ref + pdf_name: kms-api-ref + rst_location: api-ref/source + service_type: kms + title: API Reference + - html_location: docs/lts/umn + pdf_name: lts-umn + rst_location: umn/source + service_type: lts + title: User Guide + - html_location: docs/lts/api-ref + pdf_name: lts-api-ref + rst_location: api-ref/source + service_type: lts + title: API Reference + - html_location: docs/natgw/umn + pdf_name: natgw-umn + rst_location: umn/source + service_type: natgw + title: User Guide + - html_location: docs/natgw/api-ref + pdf_name: natgw-api-ref + rst_location: api-ref/source + service_type: natgw + title: API Reference + - html_location: docs/obs/umn + pdf_name: obs-umn + rst_location: umn/source + service_type: obs + title: User Guide + - html_location: docs/obs/api-ref + pdf_name: obs-api-ref + rst_location: api-ref/source + service_type: obs + title: API Reference + - html_location: docs/obs/s3api + pdf_name: obs-s3api + rst_location: doc/s3api/source + service_type: obs + title: S3 API Reference + - doc_type: s3cmd + html_location: docs/obs/s3cmd + pdf_name: obs-s3cmd + rst_location: doc/s3cmd/source + service_type: obs + title: Third-Party Client (s3cmd) + - html_location: docs/obs/dev + pdf_name: obs-dev-guide + rst_location: dev_guide/source + title: Developer Guide + type: tool-guide + - html_location: docs/plas/umn + pdf_name: plas-umn + rst_location: umn/source + service_type: plas + title: User Guide + - html_location: docs/plas/api-ref + pdf_name: plas-api-ref + rst_location: api-ref/source + service_type: plas + title: API Reference + - html_location: docs/rts/umn + pdf_name: rts-umn + rst_location: umn/source + service_type: rts + title: User Guide + - html_location: docs/rts/api-ref + pdf_name: rts-api-ref + rst_location: api-ref/source + service_type: rts + title: API Reference + - html_location: docs/sdrs/umn + pdf_name: sdrs-umn + rst_location: umn/source + service_type: sdrs + title: User Guide + - html_location: docs/sdrs/api-ref + pdf_name: sdrs-api-ref + rst_location: api-ref/source + service_type: sdrs + title: API Reference + - html_location: docs/sfs/umn + pdf_name: sfs-umn + rst_location: umn/source + service_type: sfs + title: User Guide + - html_location: docs/sfs/api-ref + pdf_name: sfs-api-ref + rst_location: api-ref/source + service_type: sfs + title: API Reference + - html_location: docs/sfs/cli + pdf_name: sfs-cli + rst_location: doc/cli/source + service_type: sfs + title: Manila Client Reference + - html_location: docs/sd/umn + pdf_name: sd-umn + rst_location: umn/source + service_type: sd + title: User Guide + - html_location: docs/vbs/umn + pdf_name: vbs-umn + rst_location: umn/source + service_type: vbs + title: User Guide + - html_location: docs/vbs/api-ref + pdf_name: vbs-api-ref + rst_location: api-ref/source + service_type: vbs + title: API Reference + - html_location: docs/vpc/umn + pdf_name: vpc-umn + rst_location: umn/source + service_type: vpc + title: User Guide + - html_location: docs/vpc/api-ref + pdf_name: vpc-api-ref + rst_location: api-ref/source + service_type: vpc + title: API Reference + - html_location: docs/vpce/umn + pdf_name: vpce-umn + rst_location: umn/source + service_type: vpce + title: User Guide + - html_location: docs/vpce/api-ref + pdf_name: vpce-api-ref + rst_location: api-ref/source + service_type: vpce + title: API Reference + - html_location: docs/vpn/umn + pdf_name: vpn-umn + rst_location: umn/source + service_type: vpn + title: User Guide + - html_location: docs/vpn/api-ref + pdf_name: vpn-api-ref + rst_location: api-ref/source + service_type: vpn + title: API Reference + - html_location: docs/waf/umn + pdf_name: waf-umn + rst_location: umn/source + service_type: waf + title: User Guide + - html_location: docs/waf/api-ref + pdf_name: waf-api-ref + rst_location: api-ref/source + service_type: wafd + title: API Reference + - html_location: docs/wafd/umn + pdf_name: wafd-umn + rst_location: umn/source + service_type: wafd + title: User Guide + - html_location: docs/wafd/api-ref + pdf_name: wafd-api-ref + rst_location: api-ref/source + service_type: wafd + title: API Reference + - html_location: docs/aom/umn + pdf_name: aom-umn + rst_location: docs/aom/umn + service_type: aom + title: User Guide + - html_location: docs/aom/api-ref + pdf_name: aom-api-ref + rst_location: docs/aom/api-ref + service_type: aom + title: API Reference + - html_location: docs/dms/umn + pdf_name: dms-umn + rst_location: docs/dms/umn + service_type: dms + title: User Guide + - html_location: docs/dms/api-ref + pdf_name: dms-api-ref + rst_location: docs/dms/api-ref + service_type: dms + title: API Reference + - html_location: docs/dms/dev + pdf_name: dms-dev-guide + rst_location: docs/dms/dev + service_type: dms + title: Developer Guide + - html_location: docs/smn/umn + pdf_name: smn-umn + rst_location: docs/smn/umn + service_type: smn + title: User Guide + - html_location: docs/smn/api-ref + pdf_name: smn-api-ref + rst_location: docs/smn/api-ref + service_type: smn + title: API Reference + - html_location: docs/css/umn + pdf_name: css-umn + rst_location: docs/css/umn + service_type: css + title: User Guide + - html_location: docs/css/api-ref + pdf_name: css-api-ref + rst_location: docs/css/api-ref + service_type: css + title: API Reference + - html_location: docs/dis/umn + pdf_name: dis-umn + rst_location: docs/dis/umn + service_type: dis + title: User Guide + - html_location: docs/dis/api-ref + pdf_name: dis-api-ref + rst_location: docs/dis/api-ref + service_type: dis + title: API Reference + - html_location: docs/dws/umn + pdf_name: dws-umn + rst_location: docs/dws/umn + service_type: dws + title: User Guide + - html_location: docs/dws/api-ref + pdf_name: dws-api-ref + rst_location: docs/dws/api-ref + service_type: dws + title: API Reference + - html_location: docs/dws/dev + pdf_name: dws-dev-guide + rst_location: docs/dws/dev + service_type: dws + title: Developer Guide + - html_location: docs/dws/tool + pdf_name: dws-tool-guide + rst_location: docs/dws/tool + service_type: dws + title: Tool Guide + - html_location: docs/modelarts/umn + pdf_name: ma-umn + rst_location: docs/modelarts/umn + service_type: ma + title: User Guide + - html_location: docs/modelarts/api-ref + pdf_name: ma-api-ref + rst_location: docs/modelarts/api-ref + service_type: ma + title: API Reference + - html_location: docs/mrs/umn + pdf_name: mrs-umn + rst_location: docs/mrs/umn + service_type: mrs + title: User Guide + - html_location: docs/mrs/api-ref + pdf_name: mrs-api-ref + rst_location: docs/mrs/api-ref + service_type: mrs + title: API Reference + - html_location: docs/mrs/component-operation-guide + pdf_name: mrs-component-operation-guide + rst_location: docs/mrs/component-operation-guide + service_type: mrs + title: Component Operation Guide + - html_location: docs/as/umn + pdf_name: as-umn + rst_location: docs/as/umn + service_type: as + title: User Guide + - html_location: docs/as/api-ref + pdf_name: as-api-ref + rst_location: docs/as/api-ref + service_type: as + title: API Reference + - html_location: docs/as/dev + pdf_name: as-dev-guide + rst_location: docs/as/dev + service_type: as + title: Developer Guide + - html_location: docs/bms/umn + pdf_name: bms-umn + rst_location: docs/bms/umn + service_type: bms + title: User Guide + - html_location: docs/bms/api-ref + pdf_name: bms-api-ref + rst_location: docs/bms/api-ref + service_type: bms + title: API Reference + - html_location: docs/bms/dev + pdf_name: bms-dev-guide + rst_location: docs/bms/dev + service_type: bms + title: Developer Guide + - html_location: docs/bms/image-creation-guide + pdf_name: bms-image-creation-guide + rst_location: docs/bms/image-creation-guide + service_type: bms + title: Private Image Creation Guide + - html_location: docs/deh/umn + pdf_name: deh-umn + rst_location: docs/deh/umn + service_type: deh + title: User Guide + - html_location: docs/deh/api-ref + pdf_name: deh-api-ref + rst_location: docs/deh/api-ref + service_type: deh + title: API Reference + - html_location: docs/ecs/umn + pdf_name: ecs-umn + rst_location: docs/ecs/umn + service_type: ecs + title: User Guide + - html_location: docs/ecs/api-ref + pdf_name: ecs-api-ref + rst_location: docs/ecs/api-ref + service_type: ecs + title: API Reference + - html_location: docs/ecs/dev + pdf_name: ecs-dev-guide + rst_location: docs/ecs/dev + service_type: ecs + title: Developer Guide + - html_location: docs/ims/umn + pdf_name: ims-umn + rst_location: docs/ims/umn + service_type: ims + title: User Guide + - html_location: docs/ims/api-ref + pdf_name: ims-api-ref + rst_location: docs/ims/api-ref + service_type: ims + title: API Reference + - html_location: docs/ims/dev + pdf_name: ims-dev-guide + rst_location: docs/ims/dev + service_type: ims + title: Developer Guide + - html_location: docs/ims/public-images + pdf_name: ims-public-images + rst_location: docs/ims/public-images + service_type: ims + title: Public Image Introduction + - html_location: docs/cce/umn + pdf_name: cce-umn + rst_location: docs/cce/umn + service_type: cce + title: User Guide + - html_location: docs/cce/api-ref + pdf_name: cce-api-ref + rst_location: docs/cce/api-ref + service_type: cce + title: API Reference + - html_location: docs/swr/umn + pdf_name: swr-umn + rst_location: docs/swr/umn + service_type: swr + title: User Guide + - html_location: docs/swr/api-ref + pdf_name: swr-api-ref + rst_location: docs/swr/api-ref + service_type: swr + title: API Reference + - html_location: docs/das/umn + pdf_name: das-umn + rst_location: docs/das/umn + service_type: das + title: User Guide + - html_location: docs/drs/umn + pdf_name: drs-umn + rst_location: docs/drs/umn + service_type: drs + title: User Guide + - html_location: docs/dcs/umn + pdf_name: dcs-umn + rst_location: docs/dcs/umn + service_type: dcs + title: User Guide + - html_location: docs/dcs/api-ref + pdf_name: dcs-api-ref + rst_location: docs/dcs/api-ref + service_type: dcs + title: API Reference + - html_location: docs/dds/umn + pdf_name: dds-umn + rst_location: docs/dds/umn + service_type: dds + title: User Guide + - html_location: docs/dds/api-ref + pdf_name: dds-api-ref + rst_location: docs/dds/api-ref + service_type: dds + title: API Reference + - html_location: docs/gaussdb_mysql/umn + pdf_name: gaussdb_mysql-umn + rst_location: docs/gaussdb_mysql/umn + service_type: gaussdb_mysql + title: User Guide + - html_location: docs/gaussdb_mysql/api-ref + pdf_name: gaussdb_mysql-api-ref + rst_location: docs/gaussdb_mysql/api-ref + service_type: gaussdb_mysql + title: API Reference service_categories: - name: application - name: big_data @@ -6,871 +570,371 @@ service_categories: - name: container - name: database services: - # Application - # AOM - - service_title: Application Operations Management + - repositories: + - repo: docs/application-operations-management + type: gitea + environment: internal service_category: application - repository: docs/application-operations-management + service_title: Application Operations Management service_type: aom - docs: - - type: umn - html_location: docs/aom/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/aom/api-ref - rst_location: api-ref/source - title: API Reference - # DMS - - service_title: Distributed Message Service + - repositories: + - repo: docs/distributed-message-service + type: gitea + environment: internal service_category: application - repository: docs/distributed-message-service + service_title: Distributed Message Service service_type: dms - docs: - - type: umn - html_location: docs/dms/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/dms/api-ref - rst_location: api-ref/source - title: API Reference - - type: dev-guide - html_location: docs/dms/dev - rst_location: dev_guide/source - title: Developer Guide - # SMN - - service_title: Simple Message Notification + - repositories: + - repo: docs/simple-message-notification + type: gitea + environment: internal service_category: application - repository: docs/simple-message-notification + service_title: Simple Message Notification service_type: smn - docs: - - type: umn - html_location: docs/smn/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/smn/api-ref - rst_location: api-ref/source - title: API Reference - # Big Data - # CSS - - service_title: Cloud Search Service + - repositories: + - repo: docs/cloud-search-service + type: gitea + environment: internal service_category: big_data - repository: docs/cloud-search-service + service_title: Cloud Search Service service_type: css - docs: - - type: umn - html_location: docs/css/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/css/api-ref - rst_location: api-ref/source - title: API Reference - # DIS - - service_title: Data Ingestion Service + - repositories: + - repo: docs/data-ingestion-service + type: gitea + environment: internal service_category: big_data - repository: docs/data-ingestion-service + service_title: Data Ingestion Service service_type: dis - docs: - - type: umn - html_location: docs/dis/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/dis/api-ref - rst_location: api-ref/source - title: API Reference - # DWS - - service_title: Data Warehouse Service + - repositories: + - repo: docs/data-ingestion-service + type: gitea + environment: internal service_category: big_data - repository: docs/data-ingestion-service + service_title: Data Warehouse Service service_type: dws - docs: - - type: umn - html_location: docs/dws/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/dws/api-ref - rst_location: api-ref/source - title: API Reference - - type: dev-guide - html_location: docs/dws/dev - rst_location: dev_guide/source - title: Developer Guide - - type: tool-guide - html_location: docs/dws/tool - rst_location: tool_guide/source - title: Tool Guide - # ModelArts - - service_title: ModelArts + - repositories: + - repo: docs/modelarts + type: gitea + environment: internal service_category: big_data - repository: docs/modelarts + service_title: ModelArts service_type: ma - docs: - - type: umn - html_location: docs/modelarts/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/modelarts/api-ref - rst_location: api-ref/source - title: API Reference - # MRS - - service_title: Map Reduce Service + - repositories: + - repo: docs/mapreduce-service + type: gitea + environment: internal service_category: big_data - repository: docs/mapreduce-service + service_title: Map Reduce Service service_type: mrs - docs: - - type: umn - html_location: docs/mrs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/mrs/api-ref - rst_location: api-ref/source - title: API Reference - - type: component-operation-guide - html_location: docs/mrs/component-operation-guide - rst_location: component-operation-guide/source - title: Component Operation Guide - # Compute - # AS - - service_title: Auto Scaling + - repositories: + - repo: docs/auto-scaling + type: gitea + environment: internal service_category: compute - repository: docs/auto-scaling + service_title: Auto Scaling service_type: as - docs: - - type: umn - html_location: docs/as/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/as/api-ref - rst_location: api-ref/source - title: API Reference - - type: dev-guide - html_location: docs/as/dev - rst_location: dev_guide/source - title: Developer Guide - # BMS - - service_title: Bare Metal Server + - repositories: + - repo: docs/bare-metal-server + type: gitea + environment: internal service_category: compute - repository: docs/bare-metal-server + service_title: Bare Metal Server service_type: bms - docs: - - type: umn - html_location: docs/bms/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/bms/api-ref - rst_location: api-ref/source - title: API Reference - - type: dev-guide - html_location: docs/bms/dev - rst_location: dev_guide/source - title: Developer Guide - - type: image-creation-guide - html_location: docs/bms/image-creation-guide - rst_location: image-creation-guide/source - title: Private Image Creation Guide - # DeH - - service_title: Dedicated Host + - repositories: + - repo: docs/dedicated-host + type: gitea + environment: internal service_category: compute - repository: docs/dedicated-host + service_title: Dedicated Host service_type: deh - docs: - - type: umn - html_location: docs/deh/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/deh/api-ref - rst_location: api-ref/source - title: API Reference - # ECS - - service_title: Elastic Cloud Server + - repositories: + - repo: docs/elastic-cloud-server + type: gitea + environment: internal service_category: compute - repository: docs/elastic-cloud-server + service_title: Elastic Cloud Server service_type: ecs - docs: - - type: umn - html_location: docs/ecs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/ecs/api-ref - rst_location: api-ref/source - title: API Reference - - type: dev-guide - html_location: docs/ecs/dev - rst_location: dev_guide/source - title: Developer Guide - # IMS - - service_title: Image Management Service + - repositories: + - repo: docs/image-management-service + type: gitea + environment: internal service_category: compute - repository: docs/image-management-service + service_title: Image Management Service service_type: ims - docs: - - type: umn - html_location: docs/ims/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/ims/api-ref - rst_location: api-ref/source - title: API Reference - - type: dev-guide - html_location: docs/ims/dev - rst_location: dev_guide/source - title: Developer Guide - - type: public-images - html_location: docs/ims/public-images - rst_location: public-images/source - title: Public Image Introduction - # Container: - # CCE - - service_title: Cloud Container Service + - repositories: + - repo: docs/cloud-container-service + type: gitea + environment: internal service_category: container - repository: docs/cloud-container-service + service_title: Cloud Container Service service_type: cce - docs: - - type: umn - html_location: docs/cce/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/cce/api-ref - rst_location: api-ref/source - title: API Reference - # SWR - - service_title: Software Repository for Containers + - repositories: + - repo: docs/software-repository-container + type: gitea + environment: internal service_category: container - repository: docs/software-repository-container + service_title: Software Repository for Containers service_type: swr - docs: - - type: umn - html_location: docs/swr/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/swr/api-ref - rst_location: api-ref/source - title: API Reference - # Database: - # DAS - - service_title: Data Admin Service + - repositories: + - repo: docs/data-admin-service + type: gitea + environment: internal service_category: database - repository: docs/data-admin-service + service_title: Data Admin Service service_type: das - docs: - - type: umn - html_location: docs/das/umn - rst_location: umn/source - title: User Guide - # DRS - - service_title: Data Replication Service + - repositories: + - repo: docs/data-replication-service + type: gitea + environment: internal service_category: database - repository: docs/data-replication-service + service_title: Data Replication Service service_type: drs - docs: - - type: umn - html_location: docs/drs/umn - rst_location: umn/source - title: User Guide - # DCS - - service_title: Distributed Cache Service + - repositories: + - repo: docs/distributed-cache-service + type: gitea + environment: internal service_category: database - repository: docs/distributed-cache-service + service_title: Distributed Cache Service service_type: dcs - docs: - - type: umn - html_location: docs/dcs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/dcs/api-ref - rst_location: api-ref/source - title: API Reference - # DDS - - service_title: Document Database Service + - repositories: + - repo: docs/document-database-service + type: gitea + environment: internal service_category: database - repository: docs/document-database-service + service_title: Document Database Service service_type: dds - docs: - - type: umn - html_location: docs/dds/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/dds/api-ref - rst_location: api-ref/source - title: API Reference - # GAUSSDB_MYSQL - - service_title: GaussDB Enterprise-class Distributed Database compatible with MySQL + - repositories: + - repo: docs/gaussdb-mysql + type: gitea + environment: internal service_category: database - repository: docs/gaussdb-mysql + service_title: GaussDB Enterprise-class Distributed Database compatible with MySQL service_type: gaussdb_mysql - docs: - - type: umn - html_location: docs/gaussdb_mysql/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/gaussdb_mysql/api-ref - rst_location: api-ref/source - title: API Reference - # GAUSSDB_NOSQL - - service_title: GaussDB Distributed Multi-model NoSQL Database + - repositories: + - environment: internal + repo: docs/gaussdb-nosql + type: gitea service_category: database - repository: docs/gaussdb-nosql + service_title: GaussDB Distributed Multi-model NoSQL Database service_type: gaussdb_nosql - docs: - - type: umn - html_location: docs/gaussdb_nosql/umn - rst_location: umn/source - title: User Guide - # OPENGAUSSDB - - service_title: GaussDB Enterprise-grade Relational Database on the openGauss ecosystem + - repositories: + - environment: internal + repo: docs/gaussdb-opengauss + type: gitea service_category: database - repository: docs/gaussdb-opengauss + service_title: GaussDB Enterprise-grade Relational Database on the openGauss ecosystem service_type: opengauss - docs: - - type: umn - html_location: docs/opengauss/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/opengauss/api-ref - rst_location: api-ref/source - title: API Reference - # RDS - - service_title: Relational Database Service + - repositories: + - environment: internal + repo: docs/relational-database-service + type: gitea service_category: database - repository: docs/relational-database-service + service_title: Relational Database Service service_type: rds - docs: - - type: umn - html_location: docs/rds/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/rds/api-ref - rst_location: api-ref/source - title: API Reference - # Management&Deployment: - # Cloud Eye - - service_title: Cloud Eye + - repositories: + - environment: internal + repo: docs/cloud-eye + type: gitea service_category: md - repository: docs/cloud-eye + service_title: Cloud Eye service_type: ces - docs: - - type: umn - html_location: docs/ces/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/ces/api-ref - rst_location: api-ref/source - title: API Reference - # CTS - - service_title: Cloud Trace Service + - repositories: + - environment: internal + repo: docs/cloud-trace-service + type: gitea service_category: md - repository: docs/cloud-trace-service + service_title: Cloud Trace Service service_type: ces - docs: - - type: umn - html_location: docs/cts/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/cts/api-ref - rst_location: api-ref/source - title: API Reference - # IAM - - service_title: Identity and Access Management + - repositories: + - environment: internal + repo: docs/identity-access-management + type: gitea service_category: md - repository: docs/identity-access-management + service_title: Identity and Access Management service_type: iam - docs: - - type: umn - html_location: docs/iam/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/iam/api-ref - rst_location: api-ref/source - title: API Reference - # LTS - - service_title: Log Tank Service + - repositories: + - environment: internal + repo: docs/log-tank-service + type: gitea service_category: md - repository: docs/log-tank-service + service_title: Log Tank Service service_type: lts - docs: - - type: umn - html_location: docs/lts/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/lts/api-ref - rst_location: api-ref/source - title: API Reference - # RTS - - service_title: Resource Template Service + - repositories: + - environment: internal + repo: docs/resource-template-service + type: gitea service_category: md - repository: docs/resource-template-service + service_title: Resource Template Service service_type: rts - docs: - - type: umn - html_location: docs/rts/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/rts/api-ref - rst_location: api-ref/source - title: API Reference - # TMS - - service_title: Tag Management Service + - repositories: + - environment: internal + repo: docs/tag-management-service + type: gitea service_category: md - repository: docs/tag-management-service + service_title: Tag Management Service service_type: tms - docs: - - type: umn - html_location: docs/tms/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/tms/api-ref - rst_location: api-ref/source - title: API Reference - # Network: - # CDN - - service_title: Content Delivery Network (Akamai) + - repository: + - environment: internal + repo: docs/content-delivery-network + type: gitea service_category: network - repository: docs/content-delivery-network + service_title: Content Delivery Network (Akamai) service_type: cdn - docs: - - type: umn - html_location: docs/cdn/umn - rst_location: umn/source - title: User Guide - # DC - - service_title: Direct Connect + - repositories: + - environment: internal + repo: docs/direct-connect + type: gitea service_category: network - repository: docs/direct-connect + service_title: Direct Connect service_type: dc - docs: - - type: umn - html_location: docs/dc/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/dc/api-ref - rst_location: api-ref/source - title: API Reference - # DNS - - service_title: Domain Name Service + - repositories: + - environment: internal + repo: docs/domain-name-service + type: gitea service_category: network - repository: docs/domain-name-service + service_title: Domain Name Service service_type: dns - docs: - - type: umn - html_location: docs/dns/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/dns/api-ref - rst_location: api-ref/source - title: API Reference - # EIP - - service_title: Elastic IP + - repositories: + - environment: internal + repo: docs/elastic-ip + type: gitea service_category: network - repository: docs/elastic-ip + service_title: Elastic IP service_type: eip - docs: - - type: umn - html_location: docs/eip/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/eip/api-ref - rst_location: api-ref/source - title: API Reference - # ELB - - service_title: Elastic Load Balancing + - repositories: + - environment: internal + repo: docs/elastic-load-balancing + type: gitea service_category: network - repository: docs/elastic-load-balancing + service_title: Elastic Load Balancing service_type: elb - docs: - - type: umn - html_location: docs/elb/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/elb/api-ref - rst_location: api-ref/source - title: API Reference - # NATGW - - service_title: NAT Gateway + - repositories: + - environment: internal + repo: docs/nat-gateway + type: gitea service_category: network - repository: docs/nat-gateway + service_title: NAT Gateway service_type: nat - docs: - - type: umn - html_location: docs/natgw/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/natgw/api-ref - rst_location: api-ref/source - title: API Reference - # PLAS - - service_title: Private Link Access + - repositories: + - environment: internal + repo: docs/private-link-access-service + type: gitea service_category: network - repository: docs/private-link-access-service + service_title: Private Link Access service_type: plas - docs: - - type: umn - html_location: docs/plas/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/plas/api-ref - rst_location: api-ref/source - title: API Reference - # VPC - - service_title: Virtual Private Cloud + - repositories: + - environment: internal + repo: docs/virtual-private-cloud + type: gitea service_category: network - repository: docs/virtual-private-cloud + service_title: Virtual Private Cloud service_type: vpc - docs: - - type: umn - html_location: docs/vpc/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/vpc/api-ref - rst_location: api-ref/source - title: API Reference - # VPN - - service_title: Virtual Private Network + - repositories: + - environment: internal + repo: docs/virtual-private-network + type: gitea service_category: network - repository: docs/virtual-private-network + service_title: Virtual Private Network service_type: vpn - docs: - - type: umn - html_location: docs/vpn/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/vpn/api-ref - rst_location: api-ref/source - title: API Reference - # VPCE - - service_title: VPC Endpoint + - repositories: + - environment: internal + repo: docs/vpc-endpoint + type: gitea service_category: network - repository: docs/vpc-endpoint + service_title: VPC Endpoint service_type: vpce - docs: - - type: umn - html_location: docs/vpce/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/vpce/api-ref - rst_location: api-ref/source - title: API Reference - # others: - # API Usage Guidelines - - service_title: API Usage Guidelines + - docs: + repositories: + - environment: internal + repo: docs/enterprise-dashboard + type: gitea service_category: other - repository: docs/api-usage-guidelines - service_type: apiug - docs: - - type: umn - html_location: docs/apiug/umn - rst_location: umn/source - title: User Guide - # API White Paper - - service_title: API White Paper - service_category: other - repository: docs/api-white-paper - service_type: apiwp - docs: - - type: umn - html_location: docs/apiwp/umn - rst_location: umn/source - title: User Guide - # Enterprise Dashboard - - service_title: Enterprise Dashboard - service_category: other - repository: docs/enterprise-dashboard + service_title: Enterprise Dashboard service_type: ed - docs: - - type: umn - html_location: docs/ed/umn - rst_location: umn/source - title: User Guide - # FAQs - - service_title: FAQs + - repositories: + - environment: internal + repo: docs/status-dashboard + type: gitea service_category: other - repository: docs/faqs - service_type: faqs - docs: - - type: umn - html_location: docs/faqs/umn - rst_location: umn/source - title: User Guide - # Glossary - - service_title: Glossary - service_category: other - repository: docs/glossary - service_type: glossary - docs: - - type: umn - html_location: docs/glossary/umn - rst_location: umn/source - title: User Guide - # My Credential - - service_title: My Credential - service_category: other - repository: docs/my-credential - service_type: my-credential - docs: - - type: umn - html_location: docs/my-credential/umn - rst_location: umn/source - title: User Guide - # Permissions - - service_title: Permissions - service_category: other - repository: docs/permissions - service_type: permissions - docs: - - type: umn - html_location: docs/permissions/umn - rst_location: umn/source - title: User Guide - # Regions and Endpoints - - service_title: Regions and Endpoints - service_category: other - repository: docs/regions-endpoints - service_type: regions-endpoints - docs: - - type: umn - html_location: docs/regions-endpoints/umn - rst_location: umn/source - title: User Guide - # Secure Mail Gateway - - service_title: Secure Mail Gateway - service_category: other - repository: docs/secure-mail-gateway - service_type: smg - docs: - - type: umn - html_location: docs/smg/umn - rst_location: umn/source - title: User Guide - - type: umn-de - html_location: docs/smg/umn-de - rst_location: umn-de/source - title: User Guide - # Status Dashboard - - service_title: Status Dashboard - service_category: other - repository: docs/status-dashboard + service_title: Status Dashboard service_type: sd - docs: - - type: umn - html_location: docs/sd/umn - rst_location: umn/source - title: User Guide - # Security: - # Anti-DDoS - - service_title: Anti DDoS + - repositories: + - environment: internal + repo: docs/anti-ddos + type: gitea service_category: security - repository: docs/anti-ddos + service_title: Anti DDoS service_type: antiddos - docs: - - type: umn - html_location: docs/antiddos/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/antiddos/api-ref - rst_location: api-ref/source - title: API Reference - # KMS - - service_title: Key Management Service + - repositores: + - environment: internal + repo: docs/key-management-service + type: gitea service_category: security - repository: docs/key-management-service + service_title: Key Management Service service_type: kms - docs: - - type: umn - html_location: docs/kms/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/kms/api-ref - rst_location: api-ref/source - title: API Reference - # WAF - - service_title: Web Application Firewall + - repositories: + - environment: internal + repo: docs/web-application-firewall + type: gitea service_category: security - repository: docs/web-application-firewall + service_title: Web Application Firewall service_type: waf - docs: - - type: umn - html_location: docs/waf/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/waf/api-ref - rst_location: api-ref/source - title: API Reference - # WAFD - - service_title: Dedicated Web Application Firewall + - repositories: + - environment: internal + repo: docs/web-application-firewall-dedicated + type: gitea service_category: security - repository: docs/web-application-firewall-dedicated + service_title: Dedicated Web Application Firewall service_type: waf - docs: - - type: umn - html_location: docs/wafd/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/wafd/api-ref - rst_location: api-ref/source - title: API Reference - # Storage: - # CBR - - service_title: Cloud Backup and Recovery + - repositories: + - environment: internal + repo: docs/cloud-backup-recovery + type: gitea service_category: storage - repository: docs/cloud-backup-recovery + service_title: Cloud Backup and Recovery service_type: cbr - docs: - - type: umn - html_location: docs/cbr/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/cbr/api-ref - rst_location: api-ref/source - title: API Reference - # CSBS - - service_title: Cloud Server Backup Service + - repositories: + - environment: internal + repo: docs/cloud-server-backup-service + type: gitea service_category: storage - repository: docs/cloud-server-backup-service + service_title: Cloud Server Backup Service service_type: csbs - docs: - - type: umn - html_location: docs/csbs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/csbs/api-ref - rst_location: api-ref/source - title: API Reference - # EVS - - service_title: Elastic Volume Service + - repositories: + - environment: internal + repo: docs/elastic-volume-service + type: gitea service_category: storage - repository: docs/elastic-volume-service + service_title: Elastic Volume Service service_type: evs - docs: - - type: umn - html_location: docs/evs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/evs/api-ref - rst_location: api-ref/source - title: API Reference - - type: dev-guide - html_location: docs/evs/dev - rst_location: dev_guide/source - title: Developer Guide - # OBS - - service_title: Object Storage Service + - repositories: + - environment: internal + repo: docs/object-storage-service + type: gitea service_category: storage - repository: docs/object-storage-service + service_title: Object Storage Service service_type: obs - docs: - - type: umn - html_location: docs/obs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/obs/api-ref - rst_location: api-ref/source - title: API Reference - - type: s3api - html_location: docs/obs/s3api - rst_location: doc/s3api/source - title: S3 API Reference - - type: s3cmd - html_location: docs/obs/s3cmd - rst_location: doc/s3cmd/source - title: Third-Party Client (s3cmd) - - type: tool-guide - html_location: docs/obs/dev - rst_location: dev_guide/source - title: Developer Guide - # OBS SWIFT - - service_title: Swift Object Storage Service + - repositories: + - environment: internal + repo: docs/storage-disaster-recovery-service + type: gitea service_category: storage - repository: docs/swift-object-storage-service - service_type: obs-swift - docs: - - type: api-ref - html_location: docs/obs-swift/api-ref - rst_location: api-ref/source - title: API Reference - # SDRS - - service_title: Storage Disaster Recovery Service - service_category: storage - repository: docs/storage-disaster-recovery-service + service_title: Storage Disaster Recovery Service service_type: sdrs - docs: - - type: umn - html_location: docs/sdrs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/sdrs/api-ref - rst_location: api-ref/source - title: API Reference - # SFS - - service_title: Scalable File System + - repositories: + - environment: internal + repo: docs/scalable-file-system + type: gitea service_category: storage - repository: docs/scalable-file-system + service_title: Scalable File System service_type: sfs - docs: - - type: umn - html_location: docs/sfs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/sfs/api-ref - rst_location: api-ref/source - title: API Reference - - type: cli - html_location: docs/sfs/cli - rst_location: doc/cli/source - title: Manila Client Reference - # VBS - - service_title: Volume Backup Service + - repositories: + - environment: internal + repo: docs/volume-backup-service + type: gitea + - env: pub + repo: opentelekomcloud-docs/volume-backup-service + type: github service_category: storage - repository: docs/volume-backup-service + service_title: Volume Backup Service service_type: vbs - docs: - - type: umn - html_location: docs/vbs/umn - rst_location: umn/source - title: User Guide - - type: api-ref - html_location: docs/vbs/api-ref - rst_location: api-ref/source - title: API Reference diff --git a/otc_metadata/services.py b/otc_metadata/services.py index a65067c9..864e5d82 100644 --- a/otc_metadata/services.py +++ b/otc_metadata/services.py @@ -32,11 +32,40 @@ class Services(object): def __init__(self): self._service_data = BUILTIN_DATA + def _sorted_data(self): + self._service_data['documents'] = sorted( + self._service_data['documents'], + key=lambda x: f"{x.get('service_type')}{x.get('title')}" + ) + self._service_data['services'] = sorted( + self._service_data['services'], + key=lambda x: f"{x.get('service_type')}{x.get('service_title')}" + ) + + def _rewrite_data(self): + otc_metadata.data.rewrite_data( + "services.yaml", + self._service_data + ) + @property def all_services(self): "Service Categories data listing." return copy.deepcopy(self._service_data['services']) + @property + def all_docs(self): + "Service Docs data listing." + return copy.deepcopy(self._service_data['documents']) + + @property + def service_dict(self): + "Service Docs data listing." + res = dict() + for srv in self.all_services: + res[srv["service_type"]] = copy.deepcopy(srv) + return res + def services_by_category(self, category): """List services matching category """ @@ -45,3 +74,24 @@ class Services(object): if srv['service_category'] == category: res.append(copy.deepcopy(srv)) return res + + def docs_by_service_category(self, category, env=None): + """List services matching category + + :param str category: Category name + :param str env: Optional service environment. Influeces "repository" + field + """ + res = [] + services = self.service_dict + for doc in self.all_docs: + service = services[doc["service_type"]] + if service["service_category"] == category: + res_doc = copy.deepcopy(doc) + res_doc.update(**service) + if env: + for srv_env in service["repositories"]: + if srv_env.get("env") == env: + res_doc["repository"] = srv_env["repo"] + res.append(res_doc) + return res