spb/datacenterindex
Public
HTML 53.9%
TypeScript 44.5%
JavaScript 0.6%
SQL 0.5%
1import { registerParser, registerImplementation } from "@dci/connectors";2import { CloudConnector, CloudNewsroomConnector } from "./shared.js";3import { azureRegionsParser } from "./azure.js";4import { awsDocsRegionsParser, awsLocalZonesParser } from "./aws.js";5import { gcpRegionsParser, googleDatacentersParser } from "./gcp.js";6import { oracleRegionsParser } from "./oracle.js";7import { alibabaRegionsParser } from "./alibaba.js";8import { tencentRegionsParser } from "./tencent.js";9import { ibmRegionsParser } from "./ibm.js";10import { metaDatacentersParser } from "./meta.js";1112/**13 * Cloud / hyperscaler connectors: cloud regions (Azure, AWS, Google Cloud, Oracle, Alibaba, Tencent, IBM),14 * hyperscaler-owned facilities (Google, Meta) and infrastructure newsrooms (Microsoft, AWS, Google, Meta, Apple).15 * Referenced from config/connectors/{azure,aws,gcp,oracle,alibaba,tencent,ibm}-regions.yaml,16 * google-datacenters.yaml, meta-datacenters.yaml and *-news.yaml.17 */18let registered = false;19export function register(): void {20 if (registered) return;21 registered = true;22 for (const p of [azureRegionsParser, awsDocsRegionsParser, awsLocalZonesParser, gcpRegionsParser, googleDatacentersParser, oracleRegionsParser, alibabaRegionsParser, tencentRegionsParser, ibmRegionsParser, metaDatacentersParser]) registerParser(p);23 registerImplementation("cloud_regions", (cfg) => new CloudConnector(cfg));24 registerImplementation("cloud_newsroom", (cfg) => new CloudNewsroomConnector(cfg));25}26