From 3b99f14d9833c0aa1085be95dd13a04f7ffcc7bc Mon Sep 17 00:00:00 2001 From: Krista Pratico Date: Mon, 12 Feb 2024 11:11:30 -0800 Subject: [PATCH 1/4] hardcoding everything wip, should able to compute automatically --- doc/sphinx/conf.py | 6 +- doc/sphinx/generate_doc.py | 1 + doc/sphinx/package_service_mapping.json | 739 +++++++++++++++++++++++- 3 files changed, 742 insertions(+), 4 deletions(-) diff --git a/doc/sphinx/conf.py b/doc/sphinx/conf.py index 7d914cdf4c22..5487a0587a5c 100644 --- a/doc/sphinx/conf.py +++ b/doc/sphinx/conf.py @@ -60,9 +60,9 @@ intersphinx_mapping = { # Dependencies - 'python': ('https://docs.python.org/3.11', ('/usr/share/doc/python3-doc/html/objects.inv', None)), - 'requests': ('https://requests.kennethreitz.org/en/master/', None), - 'aiohttp': ('https://aiohttp.readthedocs.io/en/stable/', None), + 'python': ('https://docs.python.org/3.11', None), + 'requests': ('https://requests.kennethreitz.org/en/latest/', None), + 'aiohttp': ('https://docs.aiohttp.org/en/stable/', None), 'trio': ('https://trio.readthedocs.io/en/stable/', None), 'msal': ('https://msal-python.readthedocs.io/en/latest/', None), # Azure packages diff --git a/doc/sphinx/generate_doc.py b/doc/sphinx/generate_doc.py index 83379da62280..f0d18f5143c1 100644 --- a/doc/sphinx/generate_doc.py +++ b/doc/sphinx/generate_doc.py @@ -75,6 +75,7 @@ def make_title(title): # Update the code to compute this list automatically MULTIAPI_VERSION_NAMESPACE = [ + "azure.mgmt.appconfiguration", "azure.mgmt.storage", "azure.mgmt.web", "azure.mgmt.network", diff --git a/doc/sphinx/package_service_mapping.json b/doc/sphinx/package_service_mapping.json index aaa3c2ed9e38..fa723301b0fb 100644 --- a/doc/sphinx/package_service_mapping.json +++ b/doc/sphinx/package_service_mapping.json @@ -1,4 +1,739 @@ { + "azure-mgmt-workloadmonitor": { + "service_name": "workloadmonitor", + "category": "Management", + "namespaces": [ + "azure.mgmt.workloadmonitor" + ] + }, + "azure-mgmt-hybridcontainerservice": { + "service_name": "hybridcontainerservice", + "category": "Management", + "namespaces": [ + "azure.mgmt.hybridcontainerservice" + ] + }, + "azure-mgmt-core": { + "service_name": "core", + "category": "Management", + "namespaces": [ + "azure.mgmt.core" + ] + }, + "azure-mgmt-elasticsan": { + "service_name": "elasticsan", + "category": "Management", + "namespaces": [ + "azure.mgmt.elasticsan" + ] + }, + "azure-mgmt-redisenterprise": { + "service_name": "redisenterprise", + "category": "Management", + "namespaces": [ + "azure.mgmt.redisenterprise" + ] + }, + "azure-mgmt-support": { + "service_name": "support", + "category": "Management", + "namespaces": [ + "azure.mgmt.support" + ] + }, + "azure-mgmt-qumulo": { + "service_name": "qumulo", + "category": "Management", + "namespaces": [ + "azure.mgmt.qumulo" + ] + }, + "azure-mgmt-networkcloud": { + "service_name": "networkcloud", + "category": "Management", + "namespaces": [ + "azure.mgmt.networkcloud" + ] + }, + "azure-mgmt-quota": { + "service_name": "quota", + "category": "Management", + "namespaces": [ + "azure.mgmt.quota" + ] + }, + "azure-mgmt-orbital": { + "service_name": "orbital", + "category": "Management", + "namespaces": [ + "azure.mgmt.orbital" + ] + }, + "azure-mgmt-hdinsightcontainers": { + "service_name": "hdinsight", + "category": "Management", + "namespaces": [ + "azure.mgmt.hdinsightcontainers" + ] + }, + "azure-mgmt-securityinsight": { + "service_name": "securityinsight", + "category": "Management", + "namespaces": [ + "azure.mgmt.securityinsight" + ] + }, + "azure-mgmt-avs": { + "service_name": "compute", + "category": "Management", + "namespaces": [ + "azure.mgmt.avs" + ] + }, + "azure-mgmt-recoveryservicesdatareplication": { + "service_name": "recoveryservicesdatareplication", + "category": "Management", + "namespaces": [ + "azure.mgmt.recoveryservicesdatareplication" + ] + }, + "azure-mgmt-nginx": { + "service_name": "nginx", + "category": "Management", + "namespaces": [ + "azure.mgmt.nginx" + ] + }, + "azure-mgmt-selfhelp": { + "service_name": "selfhelp", + "category": "Management", + "namespaces": [ + "azure.mgmt.selfhelp" + ] + }, + "azure-mgmt-webpubsub": { + "service_name": "webpubsub", + "category": "Management", + "namespaces": [ + "azure.mgmt.webpubsub" + ] + }, + "azure-mgmt-quantum": { + "service_name": "quantum", + "category": "Management", + "namespaces": [ + "azure.mgmt.quantum" + ] + }, + "azure-mgmt-guestconfig": { + "service_name": "machinelearning", + "category": "Management", + "namespaces": [ + "azure.mgmt.guestconfig" + ] + }, + "azure-mgmt-securitydevops": { + "service_name": "securitydevops", + "category": "Management", + "namespaces": [ + "azure.mgmt.securitydevops" + ] + }, + "azure-mgmt-networkfunction": { + "service_name": "networkfunction", + "category": "Management", + "namespaces": [ + "azure.mgmt.networkfunction" + ] + }, + "azure-mgmt-resourceconnector": { + "service_name": "resourceconnector", + "category": "Management", + "namespaces": [ + "azure.mgmt.resourceconnector" + ] + }, + "azure-mgmt-workloads": { + "service_name": "workloads", + "category": "Management", + "namespaces": [ + "azure.mgmt.workloads" + ] + }, + "azure-mgmt-graphservices": { + "service_name": "graphservices", + "category": "Management", + "namespaces": [ + "azure.mgmt.graphservices" + ] + }, + "azure-mgmt-purview": { + "service_name": "purview", + "category": "Management", + "namespaces": [ + "azure.mgmt.purview" + ] + }, + "azure-mgmt-digitaltwins": { + "service_name": "digitaltwins", + "category": "Management", + "namespaces": [ + "azure.mgmt.digitaltwins" + ] + }, + "azure-mgmt-storagepool": { + "service_name": "storagepool", + "category": "Management", + "namespaces": [ + "azure.mgmt.storagepool" + ] + }, + "azure-mgmt-managedapplications": { + "service_name": "managedapplications", + "category": "Management", + "namespaces": [ + "azure.mgmt.managedapplications" + ] + }, + "azure-mgmt-storageimportexport": { + "service_name": "storage", + "category": "Management", + "namespaces": [ + "azure.mgmt.storageimportexport" + ] + }, + "azure-mgmt-regionmove": { + "service_name": "regionmove", + "category": "Management", + "namespaces": [ + "azure.mgmt.regionmove" + ] + }, + "azure-mgmt-baremetalinfrastructure": { + "service_name": "baremetalinfrastructure", + "category": "Management", + "namespaces": [ + "azure.mgmt.baremetalinfrastructure" + ] + }, + "azure-mgmt-hybridkubernetes": { + "service_name": "hybridkubernetes", + "category": "Management", + "namespaces": [ + "azure.mgmt.hybridkubernetes" + ] + }, + "azure-mgmt-changeanalysis": { + "service_name": "changeanalysis", + "category": "Management", + "namespaces": [ + "azure.mgmt.changeanalysis" + ] + }, + "azure-mgmt-redhatopenshift": { + "service_name": "redhatopenshift", + "category": "Management", + "namespaces": [ + "azure.mgmt.redhatopenshift" + ] + }, + "azure-mgmt-paloaltonetworksngfw": { + "service_name": "paloaltonetworks", + "category": "Management", + "namespaces": [ + "azure.mgmt.paloaltonetworksngfw" + ] + }, + "azure-mgmt-servicefabricmanagedclusters": { + "service_name": "servicefabricmanagedclusters", + "category": "Management", + "namespaces": [ + "azure.mgmt.servicefabricmanagedclusters" + ] + }, + "azure-mgmt-documentdb": { + "service_name": "cosmos", + "category": "Management", + "namespaces": [ + "azure.mgmt.documentdb" + ] + }, + "azure-mgmt-dashboard": { + "service_name": "dashboard", + "category": "Management", + "namespaces": [ + "azure.mgmt.dashboard" + ] + }, + "azure-mgmt-fluidrelay": { + "service_name": "fluidrelay", + "category": "Management", + "namespaces": [ + "azure.mgmt.fluidrelay" + ] + }, + "azure-mgmt-synapse": { + "service_name": "synapse", + "category": "Management", + "namespaces": [ + "azure.mgmt.synapse" + ] + }, + "azure-mgmt-playwrighttesting": { + "service_name": "playwrighttesting", + "category": "Management", + "namespaces": [ + "azure.mgmt.playwrighttesting" + ] + }, + "azure-mgmt-recoveryservicessiterecovery": { + "service_name": "recoveryservices", + "category": "Management", + "namespaces": [ + "azure.mgmt.recoveryservicessiterecovery" + ] + }, + "azure-mgmt-operationsmanagement": { + "service_name": "operationsmanagement", + "category": "Management", + "namespaces": [ + "azure.mgmt.operationsmanagement" + ] + }, + "azure-mgmt-dataprotection": { + "service_name": "dataprotection", + "category": "Management", + "namespaces": [ + "azure.mgmt.dataprotection" + ] + }, + "azure-mgmt-streamanalytics": { + "service_name": "streamanalytics", + "category": "Management", + "namespaces": [ + "azure.mgmt.streamanalytics" + ] + }, + "azure-mgmt-databoxedge": { + "service_name": "databoxedge", + "category": "Management", + "namespaces": [ + "azure.mgmt.databoxedge" + ] + }, + "azure-mgmt-networkanalytics": { + "service_name": "networkanalytics", + "category": "Management", + "namespaces": [ + "azure.mgmt.networkanalytics" + ] + }, + "azure-mgmt-elastic": { + "service_name": "elastic", + "category": "Management", + "namespaces": [ + "azure.mgmt.elastic" + ] + }, + "azure-mgmt-videoanalyzer": { + "service_name": "videoanalyzer", + "category": "Management", + "namespaces": [ + "azure.mgmt.videoanalyzer" + ] + }, + "azure-mgmt-cosmosdbforpostgresql": { + "service_name": "cosmosdbforpostgresql", + "category": "Management", + "namespaces": [ + "azure.mgmt.cosmosdbforpostgresql" + ] + }, + "azure-mgmt-storagemover": { + "service_name": "storagemover", + "category": "Management", + "namespaces": [ + "azure.mgmt.storagemover" + ] + }, + "azure-mgmt-mobilenetwork": { + "service_name": "mobilenetwork", + "category": "Management", + "namespaces": [ + "azure.mgmt.mobilenetwork" + ] + }, + "azure-mgmt-education": { + "service_name": "education", + "category": "Management", + "namespaces": [ + "azure.mgmt.education" + ] + }, + "azure-mgmt-containerservicefleet": { + "service_name": "containerservice", + "category": "Management", + "namespaces": [ + "azure.mgmt.containerservicefleet" + ] + }, + "azure-mgmt-servicelinker": { + "service_name": "servicelinker", + "category": "Management", + "namespaces": [ + "azure.mgmt.servicelinker" + ] + }, + "azure-mgmt-iotfirmwaredefense": { + "service_name": "iotfirmwaredefense", + "category": "Management", + "namespaces": [ + "azure.mgmt.iotfirmwaredefense" + ] + }, + "azure-mgmt-springappdiscovery": { + "service_name": "springappdiscovery", + "category": "Management", + "namespaces": [ + "azure.mgmt.springappdiscovery" + ] + }, + "azure-mgmt-timeseriesinsights": { + "service_name": "timeseriesinsights", + "category": "Management", + "namespaces": [ + "azure.mgmt.timeseriesinsights" + ] + }, + "azure-mgmt-app": { + "service_name": "app", + "category": "Management", + "namespaces": [ + "azure.mgmt.app" + ] + }, + "azure-mgmt-testbase": { + "service_name": "testbase", + "category": "Management", + "namespaces": [ + "azure.mgmt.testbase" + ] + }, + "azure-mgmt-managednetworkfabric": { + "service_name": "managednetworkfabric", + "category": "Management", + "namespaces": [ + "azure.mgmt.managednetworkfabric" + ] + }, + "azure-mgmt-logz": { + "service_name": "logz", + "category": "Management", + "namespaces": [ + "azure.mgmt.logz" + ] + }, + "azure-mgmt-edgeorder": { + "service_name": "edgeorder", + "category": "Management", + "namespaces": [ + "azure.mgmt.edgeorder" + ] + }, + "azure-mgmt-newrelicobservability": { + "service_name": "newrelicobservability", + "category": "Management", + "namespaces": [ + "azure.mgmt.newrelicobservability" + ] + }, + "azure-mgmt-maintenance": { + "service_name": "maintenance", + "category": "Management", + "namespaces": [ + "azure.mgmt.maintenance" + ] + }, + "azure-mgmt-databox": { + "service_name": "databox", + "category": "Management", + "namespaces": [ + "azure.mgmt.databox" + ] + }, + "azure-mgmt-dynatrace": { + "service_name": "dynatrace", + "category": "Management", + "namespaces": [ + "azure.mgmt.dynatrace" + ] + }, + "azure-mgmt-healthbot": { + "service_name": "healthbot", + "category": "Management", + "namespaces": [ + "azure.mgmt.healthbot" + ] + }, + "azure-mgmt-confidentialledger": { + "service_name": "confidentialledger", + "category": "Management", + "namespaces": [ + "azure.mgmt.confidentialledger" + ] + }, + "azure-mgmt-hardwaresecuritymodules": { + "service_name": "hardwaresecuritymodules", + "category": "Management", + "namespaces": [ + "azure.mgmt.hardwaresecuritymodules" + ] + }, + "azure-mgmt-devcenter": { + "service_name": "devcenter", + "category": "Management", + "namespaces": [ + "azure.mgmt.devcenter" + ] + }, + "azure-mgmt-desktopvirtualization": { + "service_name": "desktopvirtualization", + "category": "Management", + "namespaces": [ + "azure.mgmt.desktopvirtualization" + ] + }, + "azure-mgmt-voiceservices": { + "service_name": "voiceservices", + "category": "Management", + "namespaces": [ + "azure.mgmt.voiceservices" + ] + }, + "azure-mgmt-oep": { + "service_name": "oep", + "category": "Management", + "namespaces": [ + "azure.mgmt.oep" + ] + }, + "azure-mgmt-sphere": { + "service_name": "sphere", + "category": "Management", + "namespaces": [ + "azure.mgmt.sphere" + ] + }, + "azure-mgmt": { + "service_name": "core", + "category": "Management", + "namespaces": [ + "azure.mgmt" + ] + }, + "azure-mgmt-kubernetesconfiguration": { + "service_name": "kubernetesconfiguration", + "category": "Management", + "namespaces": [ + "azure.mgmt.kubernetesconfiguration" + ] + }, + "azure-mgmt-loadtesting": { + "service_name": "loadtesting", + "category": "Management", + "namespaces": [ + "azure.mgmt.loadtesting" + ] + }, + "azure-mgmt-hybridconnectivity": { + "service_name": "hybridconnectivity", + "category": "Management", + "namespaces": [ + "azure.mgmt.hybridconnectivity" + ] + }, + "azure-mgmt-hybridnetwork": { + "service_name": "hybridnetwork", + "category": "Management", + "namespaces": [ + "azure.mgmt.hybridnetwork" + ] + }, + "azure-mgmt-devhub": { + "service_name": "devhub", + "category": "Management", + "namespaces": [ + "azure.mgmt.devhub" + ] + }, + "azure-mgmt-powerbidedicated": { + "service_name": "powerbidedicated", + "category": "Management", + "namespaces": [ + "azure.mgmt.powerbidedicated" + ] + }, + "azure-mgmt-confluent": { + "service_name": "confluent", + "category": "Management", + "namespaces": [ + "azure.mgmt.confluent" + ] + }, + "azure-mgmt-scvmm": { + "service_name": "scvmm", + "category": "Management", + "namespaces": [ + "azure.mgmt.scvmm" + ] + }, + "azure-mgmt-datadog": { + "service_name": "datadog", + "category": "Management", + "namespaces": [ + "azure.mgmt.datadog" + ] + }, + "azure-mgmt-customproviders": { + "service_name": "customproviders", + "category": "Management", + "namespaces": [ + "azure.mgmt.customproviders" + ] + }, + "azure-mgmt-portal": { + "service_name": "portal", + "category": "Management", + "namespaces": [ + "azure.mgmt.portal" + ] + }, + "azure-mgmt-billingbenefits": { + "service_name": "billingbenefits", + "category": "Management", + "namespaces": [ + "azure.mgmt.billingbenefits" + ] + }, + "azure-mgmt-deviceupdate": { + "service_name": "deviceupdate", + "category": "Management", + "namespaces": [ + "azure.mgmt.deviceupdate" + ] + }, + "azure-mgmt-resourcemover": { + "service_name": "resourcemover", + "category": "Management", + "namespaces": [ + "azure.mgmt.resourcemover" + ] + }, + "azure-mgmt-chaos": { + "service_name": "chaos", + "category": "Management", + "namespaces": [ + "azure.mgmt.chaos" + ] + }, + "azure-mgmt-dnsresolver": { + "service_name": "dnsresolver", + "category": "Management", + "namespaces": [ + "azure.mgmt.dnsresolver" + ] + }, + "azure-mgmt-connectedvmware": { + "service_name": "connectedvmware", + "category": "Management", + "namespaces": [ + "azure.mgmt.connectedvmware" + ] + }, + "azure-mgmt-defendereasm": { + "service_name": "defendereasm", + "category": "Management", + "namespaces": [ + "azure.mgmt.defendereasm" + ] + }, + "azure-mgmt-extendedlocation": { + "service_name": "extendedlocation", + "category": "Management", + "namespaces": [ + "azure.mgmt.extendedlocation" + ] + }, + "azure-mgmt-servicenetworking": { + "service_name": "servicenetworking", + "category": "Management", + "namespaces": [ + "azure.mgmt.servicenetworking" + ] + }, + "azure-mgmt-resourcehealth": { + "service_name": "resourcehealth", + "category": "Management", + "namespaces": [ + "azure.mgmt.resourcehealth" + ] + }, + "azure-mgmt-azurestackhci": { + "service_name": "Azure Stack HCI", + "category": "Client", + "namespaces": [ + "azure.mgmt.azurestackhci" + ] + }, + "azure-mgmt-azurestack": { + "service_name": "Azure Stack", + "category": "Client", + "namespaces": [ + "azure.mgmt.azurestack" + ] + }, + "azure-mgmt-azurearcdata": { + "service_name": "Azure Arc Data", + "category": "Client", + "namespaces": [ + "azure.mgmt.azurearcdata" + ] + }, + "azure-mgmt-automanage": { + "service_name": "Auto Manage", + "category": "Client", + "namespaces": [ + "azure.mgmt.automanage" + ] + }, + "azure-mgmt-appcontainers": { + "service_name": "App Containers", + "category": "Client", + "namespaces": [ + "azure.mgmt.appcontainers" + ] + }, + "azure-mgmt-appcomplianceautomation": { + "service_name": "App Compliance Automation", + "category": "Client", + "namespaces": [ + "azure.mgmt.appcomplianceautomation" + ] + }, + "azure-mgmt-agrifood": { + "service_name": "Agrifood", + "category": "Client", + "namespaces": [ + "azure.mgmt.agrifood" + ] + }, + "azure-mgmt-apicenter": { + "service_name": "API Center", + "category": "Client", + "namespaces": [ + "azure.mgmt.apicenter" + ] + }, "azure-applicationinsights": { "service_name": "Application Insights", "category": "Client", @@ -955,7 +1690,9 @@ "category": "Management", "service_name": "App Configuration", "namespaces": [ - "azure.mgmt.appconfiguration" + "azure.mgmt.appconfiguration.v2022_03_01_preview", + "azure.mgmt.appconfiguration.v2022_05_01", + "azure.mgmt.appconfiguration.v2023_03_01" ] }, "azure-mgmt-privatedns": { From 5b87b8baa39e946ccd74b3bdd0e20e06a601f30b Mon Sep 17 00:00:00 2001 From: Krista Pratico Date: Mon, 19 Feb 2024 00:49:06 -0800 Subject: [PATCH 2/4] update the code to not use hardcoded package_service_mapping --- doc/sphinx/generate_doc.py | 175 +-- doc/sphinx/package_service_mapping.json | 1821 ----------------------- 2 files changed, 80 insertions(+), 1916 deletions(-) delete mode 100644 doc/sphinx/package_service_mapping.json diff --git a/doc/sphinx/generate_doc.py b/doc/sphinx/generate_doc.py index f0d18f5143c1..b4dcd318092c 100644 --- a/doc/sphinx/generate_doc.py +++ b/doc/sphinx/generate_doc.py @@ -8,7 +8,6 @@ import typing from typing import Dict, List -CONFIG_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "package_service_mapping.json") GENERATED_PACKAGES_LIST_FILE = "toc_tree.rst" _LOGGER = logging.getLogger(__name__) @@ -73,118 +72,111 @@ def make_title(title): """ -# Update the code to compute this list automatically -MULTIAPI_VERSION_NAMESPACE = [ - "azure.mgmt.appconfiguration", - "azure.mgmt.storage", - "azure.mgmt.web", - "azure.mgmt.network", - "azure.mgmt.compute", - "azure.mgmt.containerregistry", - "azure.mgmt.containerservice", - "azure.mgmt.dns", - "azure.mgmt.eventhub", - "azure.mgmt.resource.resources", - "azure.mgmt.resource.features", - "azure.mgmt.resource.links", - "azure.mgmt.resource.locks", - "azure.mgmt.resource.policy", - "azure.mgmt.resource.subscriptions", -] - - -def get_updated_config(config_path: str, package_root: str) -> Dict[str, Dict[str, typing.Union[str, List[str]]]]: - with Path(config_path).open() as config_fd: - config = json.load(config_fd) - namespace_folders = os.path.basename(package_root).split("-") - package_name = "-".join(namespace_folders) - namespace = ".".join(namespace_folders) - - api_directory = os.path.join(package_root, *namespace_folders) +def get_valid_versions(api_directory: str) -> List[str]: glob_path = os.path.join(api_directory, "v20*/") - valid_versions = glob.glob(glob_path) + return glob.glob(glob_path) - for version_path in valid_versions: - api_version = os.path.relpath(version_path, start=api_directory) - full_namespace = namespace + f".{api_version}" - if package_name in config: - if "namespaces" in config[package_name]: - ns = config[package_name]["namespaces"] - if ns: - if full_namespace not in ns: - ns.append(full_namespace) +def is_subnamespace(version: str) -> bool: + return not version.startswith("v20") - return config +def get_package_namespaces(package_root: str) -> List[str]: + namespace_folders = os.path.basename(package_root).split("-") + package_name = "-".join(namespace_folders) + namespace = ".".join(namespace_folders) -def generate_doc(config_path: str, output_directory: str = "./ref/", package_root: str = None) -> None: - multiapi_found_apiversion = {} - # we are handed a directory that looks like /sdk/containerservice/azure-mgmt-containerservice/ - project_pattern = os.path.basename(package_root).replace("-", ".") - rst_path_template = os.path.join(output_directory, "{}.rst") - rst_namespace_template = os.path.join(output_directory, "{}.{}.rst") + # add top namespace + namespaces = {namespace: []} - config = get_updated_config(config_path, package_root) + api_directory = os.path.join(package_root, *namespace_folders) + valid_versions = get_valid_versions(api_directory) - package_list_path = [] + # check for subnamespaces like azure.mgmt.resource.locks + if not valid_versions: + subnamespaces = glob.glob(f"{api_directory}/*/") + for snp in subnamespaces: + versions = get_valid_versions(snp) + valid_versions.extend(versions) - namespaces = [n for pack in config.values() for n in pack.get("namespaces", {})] + for version_path in valid_versions: + version = os.path.relpath(version_path, start=api_directory) + if is_subnamespace(version): + subnamespace, api_version = version.split("/") + full_namespace = ".".join([namespace, subnamespace, api_version]) + namespaces.setdefault(namespace, []).append(".".join([namespace, subnamespace])) + namespaces.setdefault(f"{namespace}.{subnamespace}", []).append(full_namespace) + else: + full_namespace = ".".join([namespace, version]) + namespaces.setdefault(namespace, []).append(full_namespace) - for namespace in namespaces: - if project_pattern and not namespace.startswith(project_pattern): - continue + return namespaces - _LOGGER.info("Working on %s", namespace) - rst_path = rst_path_template.format(namespace) - with Path(rst_path).open("w") as rst_file: - rst_file.write(PACKAGE_TEMPLATE.format(title=make_title(namespace + " package"), namespace=namespace)) +def write_rst(version: str, rst_path_template: str, rst_namespace_template: str, package_list_path: List[str]) -> None: + rst_path = rst_path_template.format(version) + with Path(rst_path).open("w") as rst_file: + rst_file.write(PACKAGE_TEMPLATE.format(title=make_title(version + " package"), namespace=version)) - for module in ["operations", "models"]: - with Path(rst_namespace_template.format(namespace, module)).open("w") as rst_file: - rst_file.write( - SUBMODULE_TEMPLATE.format( - title=make_title(namespace + "." + module + " module"), namespace=namespace, submodule=module - ) + for module in ["operations", "models"]: + with Path(rst_namespace_template.format(version, module)).open("w") as rst_file: + rst_file.write( + SUBMODULE_TEMPLATE.format( + title=make_title(version + "." + module + " module"), namespace=version, submodule=module ) + ) + package_list_path.append(rst_path) - for multiapi_namespace in MULTIAPI_VERSION_NAMESPACE: - length = len(multiapi_namespace.split(".")) - if namespace.split(".")[0:length] == multiapi_namespace.split(".")[0:length]: - _LOGGER.info("MultiAPI namespace on %s", multiapi_namespace) - api_package = namespace.split(multiapi_namespace + ".")[1] - multiapi_found_apiversion.setdefault(multiapi_namespace, []).append(api_package) - break - else: - package_list_path.append(rst_path) - for multiapi_namespace, apilist in multiapi_found_apiversion.items(): - apilist.sort() - apilist.reverse() - rst_path = rst_path_template.format(multiapi_namespace) - with Path(rst_path).open("w") as rst_file: - rst_file.write( - MULTIAPI_VERSION_PACKAGE_TEMPLATE.format( - title=make_title(multiapi_namespace + " package"), namespace=multiapi_namespace - ) +def write_multiapi_rst(namespace: str, versions: List[str], rst_path_template: str, package_list_path: List[str]) -> None: + rst_path = rst_path_template.format(namespace) + with Path(rst_path).open("w") as rst_file: + rst_file.write( + MULTIAPI_VERSION_PACKAGE_TEMPLATE.format( + title=make_title(namespace + " package"), namespace=namespace ) - for version in apilist: - rst_file.write(" {namespace}.{version}\n".format(namespace=multiapi_namespace, version=version)) - package_list_path.append(rst_path) + ) + for version in set(versions): + rst_file.write(" {version}\n".format(version=version)) + package_list_path.append(rst_path) - # now handle the packages from data plane that we want to be present properly sorted in the list of packages - for package in config.keys(): - if "manually_generated" in config[package] and config[package]["manually_generated"] == True: - package_list_path.append(rst_path_template.format(package.replace("-", "."))) +def write_toc_tree(package_list_path: List[str]) -> None: package_list_path.sort() with Path(GENERATED_PACKAGES_LIST_FILE).open("w") as generate_file_list_fd: lines_to_write = "\n".join([" " + package for package in package_list_path]) generate_file_list_fd.write(RST_AUTODOC_TOCTREE.format(generated_packages=lines_to_write)) +def generate_doc(output_directory: str = "./ref/", package_root: str = None) -> None: + # we are handed a directory that looks like /sdk/containerservice/azure-mgmt-containerservice/ + rst_path_template = os.path.join(output_directory, "{}.rst") + rst_namespace_template = os.path.join(output_directory, "{}.{}.rst") + + namespaces = get_package_namespaces(package_root) + + package_list_path = [] + + for namespace, multi_api_versions in namespaces.items(): + _LOGGER.info("Working on %s", namespace) + if not multi_api_versions: + write_rst(namespace, rst_path_template, rst_namespace_template, package_list_path) + continue + + multi_api_versions.sort(reverse=True) + write_multiapi_rst(namespace, multi_api_versions, rst_path_template, package_list_path) + + for version in multi_api_versions: + if is_subnamespace(version.split(".")[-1]): + # subnamespace already handled in write_multiapi_rst + continue + _LOGGER.info("Working on %s", version) + write_rst(version, rst_path_template, rst_namespace_template, package_list_path) + + write_toc_tree(package_list_path) + + def main(): parser = argparse.ArgumentParser(description="Generate sphinx api stubs for one or multiple management packages.") parser.add_argument( @@ -193,13 +185,6 @@ def main(): dest="project", help="Want to target a specific management package? Pass the targeted package root to this argument.", ) - parser.add_argument( - "--config", - "-c", - dest="config_path", - default=CONFIG_FILE, - help="The JSON configuration format path [default: %(default)s]", - ) parser.add_argument("-v", "--verbose", dest="verbose", action="store_true", help="Verbosity in INFO mode") parser.add_argument("--debug", dest="debug", action="store_true", help="Verbosity in DEBUG mode") parser.add_argument( @@ -213,7 +198,7 @@ def main(): logging.basicConfig() main_logger.setLevel(logging.DEBUG if args.debug else logging.INFO) - generate_doc(args.config_path, args.output_directory, args.project) + generate_doc(args.output_directory, args.project) if __name__ == "__main__": diff --git a/doc/sphinx/package_service_mapping.json b/doc/sphinx/package_service_mapping.json deleted file mode 100644 index fa723301b0fb..000000000000 --- a/doc/sphinx/package_service_mapping.json +++ /dev/null @@ -1,1821 +0,0 @@ -{ - "azure-mgmt-workloadmonitor": { - "service_name": "workloadmonitor", - "category": "Management", - "namespaces": [ - "azure.mgmt.workloadmonitor" - ] - }, - "azure-mgmt-hybridcontainerservice": { - "service_name": "hybridcontainerservice", - "category": "Management", - "namespaces": [ - "azure.mgmt.hybridcontainerservice" - ] - }, - "azure-mgmt-core": { - "service_name": "core", - "category": "Management", - "namespaces": [ - "azure.mgmt.core" - ] - }, - "azure-mgmt-elasticsan": { - "service_name": "elasticsan", - "category": "Management", - "namespaces": [ - "azure.mgmt.elasticsan" - ] - }, - "azure-mgmt-redisenterprise": { - "service_name": "redisenterprise", - "category": "Management", - "namespaces": [ - "azure.mgmt.redisenterprise" - ] - }, - "azure-mgmt-support": { - "service_name": "support", - "category": "Management", - "namespaces": [ - "azure.mgmt.support" - ] - }, - "azure-mgmt-qumulo": { - "service_name": "qumulo", - "category": "Management", - "namespaces": [ - "azure.mgmt.qumulo" - ] - }, - "azure-mgmt-networkcloud": { - "service_name": "networkcloud", - "category": "Management", - "namespaces": [ - "azure.mgmt.networkcloud" - ] - }, - "azure-mgmt-quota": { - "service_name": "quota", - "category": "Management", - "namespaces": [ - "azure.mgmt.quota" - ] - }, - "azure-mgmt-orbital": { - "service_name": "orbital", - "category": "Management", - "namespaces": [ - "azure.mgmt.orbital" - ] - }, - "azure-mgmt-hdinsightcontainers": { - "service_name": "hdinsight", - "category": "Management", - "namespaces": [ - "azure.mgmt.hdinsightcontainers" - ] - }, - "azure-mgmt-securityinsight": { - "service_name": "securityinsight", - "category": "Management", - "namespaces": [ - "azure.mgmt.securityinsight" - ] - }, - "azure-mgmt-avs": { - "service_name": "compute", - "category": "Management", - "namespaces": [ - "azure.mgmt.avs" - ] - }, - "azure-mgmt-recoveryservicesdatareplication": { - "service_name": "recoveryservicesdatareplication", - "category": "Management", - "namespaces": [ - "azure.mgmt.recoveryservicesdatareplication" - ] - }, - "azure-mgmt-nginx": { - "service_name": "nginx", - "category": "Management", - "namespaces": [ - "azure.mgmt.nginx" - ] - }, - "azure-mgmt-selfhelp": { - "service_name": "selfhelp", - "category": "Management", - "namespaces": [ - "azure.mgmt.selfhelp" - ] - }, - "azure-mgmt-webpubsub": { - "service_name": "webpubsub", - "category": "Management", - "namespaces": [ - "azure.mgmt.webpubsub" - ] - }, - "azure-mgmt-quantum": { - "service_name": "quantum", - "category": "Management", - "namespaces": [ - "azure.mgmt.quantum" - ] - }, - "azure-mgmt-guestconfig": { - "service_name": "machinelearning", - "category": "Management", - "namespaces": [ - "azure.mgmt.guestconfig" - ] - }, - "azure-mgmt-securitydevops": { - "service_name": "securitydevops", - "category": "Management", - "namespaces": [ - "azure.mgmt.securitydevops" - ] - }, - "azure-mgmt-networkfunction": { - "service_name": "networkfunction", - "category": "Management", - "namespaces": [ - "azure.mgmt.networkfunction" - ] - }, - "azure-mgmt-resourceconnector": { - "service_name": "resourceconnector", - "category": "Management", - "namespaces": [ - "azure.mgmt.resourceconnector" - ] - }, - "azure-mgmt-workloads": { - "service_name": "workloads", - "category": "Management", - "namespaces": [ - "azure.mgmt.workloads" - ] - }, - "azure-mgmt-graphservices": { - "service_name": "graphservices", - "category": "Management", - "namespaces": [ - "azure.mgmt.graphservices" - ] - }, - "azure-mgmt-purview": { - "service_name": "purview", - "category": "Management", - "namespaces": [ - "azure.mgmt.purview" - ] - }, - "azure-mgmt-digitaltwins": { - "service_name": "digitaltwins", - "category": "Management", - "namespaces": [ - "azure.mgmt.digitaltwins" - ] - }, - "azure-mgmt-storagepool": { - "service_name": "storagepool", - "category": "Management", - "namespaces": [ - "azure.mgmt.storagepool" - ] - }, - "azure-mgmt-managedapplications": { - "service_name": "managedapplications", - "category": "Management", - "namespaces": [ - "azure.mgmt.managedapplications" - ] - }, - "azure-mgmt-storageimportexport": { - "service_name": "storage", - "category": "Management", - "namespaces": [ - "azure.mgmt.storageimportexport" - ] - }, - "azure-mgmt-regionmove": { - "service_name": "regionmove", - "category": "Management", - "namespaces": [ - "azure.mgmt.regionmove" - ] - }, - "azure-mgmt-baremetalinfrastructure": { - "service_name": "baremetalinfrastructure", - "category": "Management", - "namespaces": [ - "azure.mgmt.baremetalinfrastructure" - ] - }, - "azure-mgmt-hybridkubernetes": { - "service_name": "hybridkubernetes", - "category": "Management", - "namespaces": [ - "azure.mgmt.hybridkubernetes" - ] - }, - "azure-mgmt-changeanalysis": { - "service_name": "changeanalysis", - "category": "Management", - "namespaces": [ - "azure.mgmt.changeanalysis" - ] - }, - "azure-mgmt-redhatopenshift": { - "service_name": "redhatopenshift", - "category": "Management", - "namespaces": [ - "azure.mgmt.redhatopenshift" - ] - }, - "azure-mgmt-paloaltonetworksngfw": { - "service_name": "paloaltonetworks", - "category": "Management", - "namespaces": [ - "azure.mgmt.paloaltonetworksngfw" - ] - }, - "azure-mgmt-servicefabricmanagedclusters": { - "service_name": "servicefabricmanagedclusters", - "category": "Management", - "namespaces": [ - "azure.mgmt.servicefabricmanagedclusters" - ] - }, - "azure-mgmt-documentdb": { - "service_name": "cosmos", - "category": "Management", - "namespaces": [ - "azure.mgmt.documentdb" - ] - }, - "azure-mgmt-dashboard": { - "service_name": "dashboard", - "category": "Management", - "namespaces": [ - "azure.mgmt.dashboard" - ] - }, - "azure-mgmt-fluidrelay": { - "service_name": "fluidrelay", - "category": "Management", - "namespaces": [ - "azure.mgmt.fluidrelay" - ] - }, - "azure-mgmt-synapse": { - "service_name": "synapse", - "category": "Management", - "namespaces": [ - "azure.mgmt.synapse" - ] - }, - "azure-mgmt-playwrighttesting": { - "service_name": "playwrighttesting", - "category": "Management", - "namespaces": [ - "azure.mgmt.playwrighttesting" - ] - }, - "azure-mgmt-recoveryservicessiterecovery": { - "service_name": "recoveryservices", - "category": "Management", - "namespaces": [ - "azure.mgmt.recoveryservicessiterecovery" - ] - }, - "azure-mgmt-operationsmanagement": { - "service_name": "operationsmanagement", - "category": "Management", - "namespaces": [ - "azure.mgmt.operationsmanagement" - ] - }, - "azure-mgmt-dataprotection": { - "service_name": "dataprotection", - "category": "Management", - "namespaces": [ - "azure.mgmt.dataprotection" - ] - }, - "azure-mgmt-streamanalytics": { - "service_name": "streamanalytics", - "category": "Management", - "namespaces": [ - "azure.mgmt.streamanalytics" - ] - }, - "azure-mgmt-databoxedge": { - "service_name": "databoxedge", - "category": "Management", - "namespaces": [ - "azure.mgmt.databoxedge" - ] - }, - "azure-mgmt-networkanalytics": { - "service_name": "networkanalytics", - "category": "Management", - "namespaces": [ - "azure.mgmt.networkanalytics" - ] - }, - "azure-mgmt-elastic": { - "service_name": "elastic", - "category": "Management", - "namespaces": [ - "azure.mgmt.elastic" - ] - }, - "azure-mgmt-videoanalyzer": { - "service_name": "videoanalyzer", - "category": "Management", - "namespaces": [ - "azure.mgmt.videoanalyzer" - ] - }, - "azure-mgmt-cosmosdbforpostgresql": { - "service_name": "cosmosdbforpostgresql", - "category": "Management", - "namespaces": [ - "azure.mgmt.cosmosdbforpostgresql" - ] - }, - "azure-mgmt-storagemover": { - "service_name": "storagemover", - "category": "Management", - "namespaces": [ - "azure.mgmt.storagemover" - ] - }, - "azure-mgmt-mobilenetwork": { - "service_name": "mobilenetwork", - "category": "Management", - "namespaces": [ - "azure.mgmt.mobilenetwork" - ] - }, - "azure-mgmt-education": { - "service_name": "education", - "category": "Management", - "namespaces": [ - "azure.mgmt.education" - ] - }, - "azure-mgmt-containerservicefleet": { - "service_name": "containerservice", - "category": "Management", - "namespaces": [ - "azure.mgmt.containerservicefleet" - ] - }, - "azure-mgmt-servicelinker": { - "service_name": "servicelinker", - "category": "Management", - "namespaces": [ - "azure.mgmt.servicelinker" - ] - }, - "azure-mgmt-iotfirmwaredefense": { - "service_name": "iotfirmwaredefense", - "category": "Management", - "namespaces": [ - "azure.mgmt.iotfirmwaredefense" - ] - }, - "azure-mgmt-springappdiscovery": { - "service_name": "springappdiscovery", - "category": "Management", - "namespaces": [ - "azure.mgmt.springappdiscovery" - ] - }, - "azure-mgmt-timeseriesinsights": { - "service_name": "timeseriesinsights", - "category": "Management", - "namespaces": [ - "azure.mgmt.timeseriesinsights" - ] - }, - "azure-mgmt-app": { - "service_name": "app", - "category": "Management", - "namespaces": [ - "azure.mgmt.app" - ] - }, - "azure-mgmt-testbase": { - "service_name": "testbase", - "category": "Management", - "namespaces": [ - "azure.mgmt.testbase" - ] - }, - "azure-mgmt-managednetworkfabric": { - "service_name": "managednetworkfabric", - "category": "Management", - "namespaces": [ - "azure.mgmt.managednetworkfabric" - ] - }, - "azure-mgmt-logz": { - "service_name": "logz", - "category": "Management", - "namespaces": [ - "azure.mgmt.logz" - ] - }, - "azure-mgmt-edgeorder": { - "service_name": "edgeorder", - "category": "Management", - "namespaces": [ - "azure.mgmt.edgeorder" - ] - }, - "azure-mgmt-newrelicobservability": { - "service_name": "newrelicobservability", - "category": "Management", - "namespaces": [ - "azure.mgmt.newrelicobservability" - ] - }, - "azure-mgmt-maintenance": { - "service_name": "maintenance", - "category": "Management", - "namespaces": [ - "azure.mgmt.maintenance" - ] - }, - "azure-mgmt-databox": { - "service_name": "databox", - "category": "Management", - "namespaces": [ - "azure.mgmt.databox" - ] - }, - "azure-mgmt-dynatrace": { - "service_name": "dynatrace", - "category": "Management", - "namespaces": [ - "azure.mgmt.dynatrace" - ] - }, - "azure-mgmt-healthbot": { - "service_name": "healthbot", - "category": "Management", - "namespaces": [ - "azure.mgmt.healthbot" - ] - }, - "azure-mgmt-confidentialledger": { - "service_name": "confidentialledger", - "category": "Management", - "namespaces": [ - "azure.mgmt.confidentialledger" - ] - }, - "azure-mgmt-hardwaresecuritymodules": { - "service_name": "hardwaresecuritymodules", - "category": "Management", - "namespaces": [ - "azure.mgmt.hardwaresecuritymodules" - ] - }, - "azure-mgmt-devcenter": { - "service_name": "devcenter", - "category": "Management", - "namespaces": [ - "azure.mgmt.devcenter" - ] - }, - "azure-mgmt-desktopvirtualization": { - "service_name": "desktopvirtualization", - "category": "Management", - "namespaces": [ - "azure.mgmt.desktopvirtualization" - ] - }, - "azure-mgmt-voiceservices": { - "service_name": "voiceservices", - "category": "Management", - "namespaces": [ - "azure.mgmt.voiceservices" - ] - }, - "azure-mgmt-oep": { - "service_name": "oep", - "category": "Management", - "namespaces": [ - "azure.mgmt.oep" - ] - }, - "azure-mgmt-sphere": { - "service_name": "sphere", - "category": "Management", - "namespaces": [ - "azure.mgmt.sphere" - ] - }, - "azure-mgmt": { - "service_name": "core", - "category": "Management", - "namespaces": [ - "azure.mgmt" - ] - }, - "azure-mgmt-kubernetesconfiguration": { - "service_name": "kubernetesconfiguration", - "category": "Management", - "namespaces": [ - "azure.mgmt.kubernetesconfiguration" - ] - }, - "azure-mgmt-loadtesting": { - "service_name": "loadtesting", - "category": "Management", - "namespaces": [ - "azure.mgmt.loadtesting" - ] - }, - "azure-mgmt-hybridconnectivity": { - "service_name": "hybridconnectivity", - "category": "Management", - "namespaces": [ - "azure.mgmt.hybridconnectivity" - ] - }, - "azure-mgmt-hybridnetwork": { - "service_name": "hybridnetwork", - "category": "Management", - "namespaces": [ - "azure.mgmt.hybridnetwork" - ] - }, - "azure-mgmt-devhub": { - "service_name": "devhub", - "category": "Management", - "namespaces": [ - "azure.mgmt.devhub" - ] - }, - "azure-mgmt-powerbidedicated": { - "service_name": "powerbidedicated", - "category": "Management", - "namespaces": [ - "azure.mgmt.powerbidedicated" - ] - }, - "azure-mgmt-confluent": { - "service_name": "confluent", - "category": "Management", - "namespaces": [ - "azure.mgmt.confluent" - ] - }, - "azure-mgmt-scvmm": { - "service_name": "scvmm", - "category": "Management", - "namespaces": [ - "azure.mgmt.scvmm" - ] - }, - "azure-mgmt-datadog": { - "service_name": "datadog", - "category": "Management", - "namespaces": [ - "azure.mgmt.datadog" - ] - }, - "azure-mgmt-customproviders": { - "service_name": "customproviders", - "category": "Management", - "namespaces": [ - "azure.mgmt.customproviders" - ] - }, - "azure-mgmt-portal": { - "service_name": "portal", - "category": "Management", - "namespaces": [ - "azure.mgmt.portal" - ] - }, - "azure-mgmt-billingbenefits": { - "service_name": "billingbenefits", - "category": "Management", - "namespaces": [ - "azure.mgmt.billingbenefits" - ] - }, - "azure-mgmt-deviceupdate": { - "service_name": "deviceupdate", - "category": "Management", - "namespaces": [ - "azure.mgmt.deviceupdate" - ] - }, - "azure-mgmt-resourcemover": { - "service_name": "resourcemover", - "category": "Management", - "namespaces": [ - "azure.mgmt.resourcemover" - ] - }, - "azure-mgmt-chaos": { - "service_name": "chaos", - "category": "Management", - "namespaces": [ - "azure.mgmt.chaos" - ] - }, - "azure-mgmt-dnsresolver": { - "service_name": "dnsresolver", - "category": "Management", - "namespaces": [ - "azure.mgmt.dnsresolver" - ] - }, - "azure-mgmt-connectedvmware": { - "service_name": "connectedvmware", - "category": "Management", - "namespaces": [ - "azure.mgmt.connectedvmware" - ] - }, - "azure-mgmt-defendereasm": { - "service_name": "defendereasm", - "category": "Management", - "namespaces": [ - "azure.mgmt.defendereasm" - ] - }, - "azure-mgmt-extendedlocation": { - "service_name": "extendedlocation", - "category": "Management", - "namespaces": [ - "azure.mgmt.extendedlocation" - ] - }, - "azure-mgmt-servicenetworking": { - "service_name": "servicenetworking", - "category": "Management", - "namespaces": [ - "azure.mgmt.servicenetworking" - ] - }, - "azure-mgmt-resourcehealth": { - "service_name": "resourcehealth", - "category": "Management", - "namespaces": [ - "azure.mgmt.resourcehealth" - ] - }, - "azure-mgmt-azurestackhci": { - "service_name": "Azure Stack HCI", - "category": "Client", - "namespaces": [ - "azure.mgmt.azurestackhci" - ] - }, - "azure-mgmt-azurestack": { - "service_name": "Azure Stack", - "category": "Client", - "namespaces": [ - "azure.mgmt.azurestack" - ] - }, - "azure-mgmt-azurearcdata": { - "service_name": "Azure Arc Data", - "category": "Client", - "namespaces": [ - "azure.mgmt.azurearcdata" - ] - }, - "azure-mgmt-automanage": { - "service_name": "Auto Manage", - "category": "Client", - "namespaces": [ - "azure.mgmt.automanage" - ] - }, - "azure-mgmt-appcontainers": { - "service_name": "App Containers", - "category": "Client", - "namespaces": [ - "azure.mgmt.appcontainers" - ] - }, - "azure-mgmt-appcomplianceautomation": { - "service_name": "App Compliance Automation", - "category": "Client", - "namespaces": [ - "azure.mgmt.appcomplianceautomation" - ] - }, - "azure-mgmt-agrifood": { - "service_name": "Agrifood", - "category": "Client", - "namespaces": [ - "azure.mgmt.agrifood" - ] - }, - "azure-mgmt-apicenter": { - "service_name": "API Center", - "category": "Client", - "namespaces": [ - "azure.mgmt.apicenter" - ] - }, - "azure-applicationinsights": { - "service_name": "Application Insights", - "category": "Client", - "namespaces": [ - "azure.applicationinsights" - ] - }, - "azure-batch": { - "category": "Client", - "namespaces": [ - "azure.batch" - ], - "service_name": "Batch" - }, - "azure-cognitiveservices-anomalydetector": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.anomalydetector" - ], - "service_name": "Cognitive Services Anomaly Detector" - }, - "azure-cognitiveservices-formrecognizer": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.formrecognizer" - ], - "service_name": "Cognitive Services Recognizer" - }, - "azure-cognitiveservices-personalizer": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.personalizer" - ], - "service_name": "Cognitive Services Personalizer" - }, - "azure-cognitiveservices-knowledge-qnamaker": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.knowledge.qnamaker" - ], - "service_name": "Cognitive Services Knowledge QnA Maker" - }, - "azure-cognitiveservices-language-luis": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.language.luis.authoring", - "azure.cognitiveservices.language.luis.runtime" - ], - "service_name": "Cognitive Services Language LUIS" - }, - "azure-cognitiveservices-language-spellcheck": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.language.spellcheck" - ], - "service_name": "Cognitive Services Language Spellcheck" - }, - "azure-cognitiveservices-language-textanalytics": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.language.textanalytics" - ], - "service_name": "Cognitive Services Language TextAnalytics" - }, - "azure-cognitiveservices-search-autosuggest": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.autosuggest" - ], - "service_name": "Cognitive Services Search Autosuggest" - }, - "azure-cognitiveservices-search-customimagesearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.customimagesearch" - ], - "service_name": "Cognitive Services Search CustomImageSearch" - }, - "azure-cognitiveservices-search-customsearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.customsearch" - ], - "service_name": "Cognitive Services Search CustomSearch" - }, - "azure-cognitiveservices-search-entitysearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.entitysearch" - ], - "service_name": "Cognitive Services Search EntitySearch" - }, - "azure-cognitiveservices-search-imagesearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.imagesearch" - ], - "service_name": "Cognitive Services Search ImageSearch" - }, - "azure-cognitiveservices-search-newssearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.newssearch" - ], - "service_name": "Cognitive Services Search NewsSearch" - }, - "azure-cognitiveservices-search-videosearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.videosearch" - ], - "service_name": "Cognitive Services Search VideoSearch" - }, - "azure-cognitiveservices-search-visualsearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.visualsearch" - ], - "service_name": "Cognitive Services Search VisualSearch" - }, - "azure-cognitiveservices-search-websearch": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.search.websearch" - ], - "service_name": "Cognitive Services Search WebSearch" - }, - "azure-cognitiveservices-vision-computervision": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.vision.computervision" - ], - "service_name": "Cognitive Services Vision ComputerVision" - }, - "azure-cognitiveservices-vision-contentmoderator": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.vision.contentmoderator" - ], - "service_name": "Cognitive Services Vision ContentModerator" - }, - "azure-cognitiveservices-vision-customvision": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.vision.customvision.prediction", - "azure.cognitiveservices.vision.customvision.training" - ], - "service_name": "Cognitive Services Vision CustomVision" - }, - "azure-cognitiveservices-vision-face": { - "category": "Client", - "namespaces": [ - "azure.cognitiveservices.vision.face" - ], - "service_name": "Cognitive Services Vision Face" - }, - "azure-common": { - "category": "Other", - "service_name": "Other" - }, - "azure-communication-administration": { - "category": "Client", - "service_name": "Communication", - "manually_generated": true - }, - "azure-communication-chat": { - "category": "Client", - "service_name": "Communication", - "manually_generated": true - }, - "azure-communication-sms": { - "category": "Client", - "service_name": "Communication", - "manually_generated": true - }, - "azure-mgmt-communication": { - "category": "Management", - "service_name": "Communication", - "manually_generated": true - }, - "azure-eventgrid": { - "category": "Client", - "namespaces": [ - "azure.eventgrid" - ], - "service_name": "Event Grid" - }, - "azure-graphrbac": { - "category": "Client", - "namespaces": [ - "azure.graphrbac" - ], - "service_name": "Active Directory" - }, - "azure-loganalytics": { - "service_name": "Log Analytics", - "category": "Client", - "namespaces": [ - "azure.loganalytics" - ] - }, - "azure-mgmt-advisor": { - "category": "Management", - "namespaces": [ - "azure.mgmt.advisor" - ], - "service_name": "Advisor" - }, - "azure-mgmt-alertsmanagement": { - "category": "Management", - "namespaces": [ - "azure.mgmt.alertsmanagement" - ], - "service_name": "Alerts Management" - }, - "azure-mgmt-apimanagement": { - "category": "Management", - "namespaces": [ - "azure.mgmt.apimanagement" - ], - "service_name": "API Management" - }, - "azure-mgmt-applicationinsights": { - "category": "Management", - "namespaces": [ - "azure.mgmt.applicationinsights" - ], - "service_name": "Application Insights" - }, - "azure-mgmt-authorization": { - "category": "Management", - "namespaces": [ - "azure.mgmt.authorization" - ], - "service_name": "Authorization" - }, - "azure-mgmt-automation": { - "category": "Management", - "namespaces": [ - "azure.mgmt.automation" - ], - "service_name": "Automation" - }, - "azure-mgmt-batch": { - "category": "Management", - "namespaces": [ - "azure.mgmt.batch" - ], - "service_name": "Batch" - }, - "azure-mgmt-batchai": { - "category": "Management", - "namespaces": [ - "azure.mgmt.batchai" - ], - "service_name": "Batch AI" - }, - "azure-mgmt-billing": { - "category": "Management", - "namespaces": [ - "azure.mgmt.billing" - ], - "service_name": "Billing" - }, - "azure-mgmt-cdn": { - "category": "Management", - "namespaces": [ - "azure.mgmt.cdn" - ], - "service_name": "CDN" - }, - "azure-mgmt-cognitiveservices": { - "category": "Management", - "namespaces": [ - "azure.mgmt.cognitiveservices" - ], - "service_name": "Cognitive Services" - }, - "azure-mgmt-commerce": { - "category": "Management", - "namespaces": [ - "azure.mgmt.commerce" - ], - "service_name": "Commerce" - }, - "azure-mgmt-compute/azure.mgmt.compute": { - "category": "Management", - "namespaces": [ - "azure.mgmt.compute.v2015_06_15", - "azure.mgmt.compute.v2016_03_30", - "azure.mgmt.compute.v2016_04_30_preview", - "azure.mgmt.compute.v2017_03_30", - "azure.mgmt.compute.v2017_09_01", - "azure.mgmt.compute.v2017_12_01", - "azure.mgmt.compute.v2018_04_01", - "azure.mgmt.compute.v2018_06_01", - "azure.mgmt.compute.v2018_09_30", - "azure.mgmt.compute.v2018_10_01", - "azure.mgmt.compute.v2019_03_01", - "azure.mgmt.compute.v2019_04_01" - ], - "service_name": "Virtual Machines" - }, - "azure-mgmt-compute": { - "category": "Management", - "namespaces": [ - "azure.mgmt.compute.v2015_06_15", - "azure.mgmt.compute.v2016_03_30", - "azure.mgmt.compute.v2016_04_30_preview", - "azure.mgmt.compute.v2017_03_30", - "azure.mgmt.compute.v2017_09_01", - "azure.mgmt.compute.v2017_12_01", - "azure.mgmt.compute.v2018_04_01", - "azure.mgmt.compute.v2018_06_01", - "azure.mgmt.compute.v2018_09_30", - "azure.mgmt.compute.v2018_10_01", - "azure.mgmt.compute.v2019_03_01", - "azure.mgmt.compute.v2019_04_01" - ], - "service_name": "Virtual Machines" - }, - "azure-mgmt-consumption": { - "category": "Management", - "namespaces": [ - "azure.mgmt.consumption" - ], - "service_name": "Consumption" - }, - "azure-mgmt-containerinstance": { - "category": "Management", - "namespaces": [ - "azure.mgmt.containerinstance" - ], - "service_name": "Container Instance" - }, - "azure-mgmt-containerregistry": { - "category": "Management", - "namespaces": [ - "azure.mgmt.containerregistry.v2017_03_01", - "azure.mgmt.containerregistry.v2017_10_01", - "azure.mgmt.containerregistry.v2018_02_01_preview", - "azure.mgmt.containerregistry.v2018_09_01", - "azure.mgmt.containerregistry.v2019_04_01" - ], - "service_name": "Container Registry" - }, - "azure-mgmt-containerservice": { - "category": "Management", - "namespaces": [ - "azure.mgmt.containerservice.v2017_07_01", - "azure.mgmt.containerservice.v2018_03_01", - "azure.mgmt.containerservice.v2018_08_01_preview", - "azure.mgmt.containerservice.v2018_09_30_preview", - "azure.mgmt.containerservice.v2019_02_01", - "azure.mgmt.containerservice.v2019_04_30" - ], - "service_name": "Container Service" - }, - "azure-mgmt-cosmosdb": { - "category": "Management", - "namespaces": [ - "azure.mgmt.cosmosdb" - ], - "service_name": "Cosmos DB" - }, - "azure-mgmt-databricks": { - "category": "Management", - "namespaces": [ - "azure.mgmt.databricks" - ], - "service_name": "Data Bricks" - }, - "azure-mgmt-datafactory": { - "category": "Management", - "namespaces": [ - "azure.mgmt.datafactory" - ], - "service_name": "Data Factory" - }, - "azure-mgmt-datalake-analytics": { - "category": "Management", - "namespaces": [ - "azure.mgmt.datalake.analytics.account", - "azure.mgmt.datalake.analytics.catalog", - "azure.mgmt.datalake.analytics.job" - ], - "service_name": "Data Lake Analytics" - }, - "azure-mgmt-datalake-store": { - "category": "Management", - "namespaces": [ - "azure.mgmt.datalake.store" - ], - "service_name": "Data Lake Store" - }, - "azure-mgmt-datamigration": { - "category": "Management", - "namespaces": [ - "azure.mgmt.datamigration" - ], - "service_name": "Data migration" - }, - "azure-mgmt-devspaces": { - "category": "Management", - "namespaces": [ - "azure.mgmt.devspaces" - ], - "service_name": "DevSpaces" - }, - "azure-mgmt-devtestlabs": { - "category": "Management", - "namespaces": [ - "azure.mgmt.devtestlabs" - ], - "service_name": "Dev Test Labs" - }, - "azure-mgmt-dns": { - "category": "Management", - "namespaces": [ - "azure.mgmt.dns.v2016_04_01", - "azure.mgmt.dns.v2018_03_01_preview", - "azure.mgmt.dns.v2018_05_01" - ], - "service_name": "DNS" - }, - "azure-mgmt-eventgrid": { - "category": "Management", - "namespaces": [ - "azure.mgmt.eventgrid" - ], - "service_name": "Event Grid" - }, - "azure-mgmt-eventhub": { - "category": "Management", - "namespaces": [ - "azure.mgmt.eventhub.v2015_08_01", - "azure.mgmt.eventhub.v2017_04_01", - "azure.mgmt.eventhub.v2018_01_01_preview" - ], - "service_name": "Event Hub" - }, - "azure-mgmt-hanaonazure": { - "category": "Management", - "namespaces": [ - "azure.mgmt.hanaonazure" - ], - "service_name": "SAP Hana on Azure" - }, - "azure-mgmt-hdinsight": { - "category": "Management", - "namespaces": [ - "azure.mgmt.hdinsight" - ], - "service_name": "HDInsight" - }, - "azure-mgmt-imagebuilder": { - "category": "Management", - "namespaces": [ - "azure.mgmt.imagebuilder" - ], - "service_name": "ImageBuilder" - }, - "azure-mgmt-iotcentral": { - "category": "Management", - "namespaces": [ - "azure.mgmt.iotcentral" - ], - "service_name": "IoT Central" - }, - "azure-mgmt-iothub": { - "category": "Management", - "namespaces": [ - "azure.mgmt.iothub" - ], - "service_name": "IoT" - }, - "azure-mgmt-iothubprovisioningservices": { - "category": "Management", - "namespaces": [ - "azure.mgmt.iothubprovisioningservices" - ], - "service_name": "IoT" - }, - "azure-mgmt-keyvault": { - "category": "Management", - "namespaces": [ - "azure.mgmt.keyvault" - ], - "service_name": "Keyvault" - }, - "azure-mgmt-kusto": { - "category": "Management", - "namespaces": [ - "azure.mgmt.kusto" - ], - "service_name": "Kusto" - }, - "azure-mgmt-labservices": { - "category": "Management", - "namespaces": [ - "azure.mgmt.labservices" - ], - "service_name": "LabServices" - }, - "azure-mgmt-loganalytics": { - "category": "Management", - "namespaces": [ - "azure.mgmt.loganalytics" - ], - "service_name": "Log Analytics" - }, - "azure-mgmt-logic": { - "category": "Management", - "namespaces": [ - "azure.mgmt.logic" - ], - "service_name": "Logic Apps" - }, - "azure-mgmt-machinelearningcompute": { - "category": "Management", - "namespaces": [ - "azure.mgmt.machinelearningcompute" - ], - "service_name": "Machine Learning Compute" - }, - "azure-mgmt-machinelearningservices": { - "category": "Management", - "namespaces": [ - "azure.mgmt.machinelearningservices" - ], - "service_name": "Machine Learning Compute" - }, - "azure-mgmt-managedservices": { - "category": "Management", - "namespaces": [ - "azure.mgmt.managedservices" - ], - "service_name": "Managed Services" - }, - "azure-mgmt-managementgroups": { - "category": "Management", - "namespaces": [ - "azure.mgmt.managementgroups" - ], - "service_name": "Management Groups" - }, - "azure-mgmt-managementpartner": { - "category": "Management", - "namespaces": [ - "azure.mgmt.managementpartner" - ], - "service_name": "Management Partner" - }, - "azure-mgmt-maps": { - "category": "Management", - "namespaces": [ - "azure.mgmt.maps" - ], - "service_name": "Maps" - }, - "azure-mgmt-marketplaceordering": { - "category": "Management", - "namespaces": [ - "azure.mgmt.marketplaceordering" - ], - "service_name": "Market Place Ordering" - }, - "azure-mgmt-media": { - "category": "Management", - "namespaces": [ - "azure.mgmt.media" - ], - "service_name": "Media Services" - }, - "azure-mgmt-mixedreality": { - "category": "Management", - "namespaces": [ - "azure.mgmt.mixedreality" - ], - "service_name": "Mixed Reality" - }, - "azure-mgmt-monitor": { - "category": "Management", - "namespaces": [ - "azure.mgmt.monitor" - ], - "service_name": "Monitoring" - }, - "azure-mgmt-msi": { - "category": "Management", - "namespaces": [ - "azure.mgmt.msi" - ], - "service_name": "MSI" - }, - "azure-mgmt-netapp": { - "category": "Management", - "namespaces": [ - "azure.mgmt.netapp" - ], - "service_name": "NetApp" - }, - "azure-mgmt-network": { - "category": "Management", - "namespaces": [ - "azure.mgmt.network.v2015_06_15", - "azure.mgmt.network.v2016_09_01", - "azure.mgmt.network.v2016_12_01", - "azure.mgmt.network.v2017_03_01", - "azure.mgmt.network.v2017_06_01", - "azure.mgmt.network.v2017_08_01", - "azure.mgmt.network.v2017_09_01", - "azure.mgmt.network.v2017_10_01", - "azure.mgmt.network.v2017_11_01", - "azure.mgmt.network.v2018_01_01", - "azure.mgmt.network.v2018_02_01", - "azure.mgmt.network.v2018_04_01", - "azure.mgmt.network.v2018_06_01", - "azure.mgmt.network.v2018_07_01", - "azure.mgmt.network.v2018_08_01", - "azure.mgmt.network.v2018_10_01", - "azure.mgmt.network.v2018_11_01", - "azure.mgmt.network.v2018_12_01", - "azure.mgmt.network.v2019_02_01" - ], - "service_name": "Network" - }, - "azure-mgmt-notificationhubs": { - "category": "Management", - "namespaces": [ - "azure.mgmt.notificationhubs" - ], - "service_name": "Notification Hubs" - }, - "azure-mgmt-policyinsights": { - "category": "Management", - "namespaces": [ - "azure.mgmt.policyinsights" - ], - "service_name": "Policy Insights" - }, - "azure-mgmt-powerbiembedded": { - "category": "Management", - "namespaces": [ - "azure.mgmt.powerbiembedded" - ], - "service_name": "Power BI Embedded" - }, - "azure-mgmt-rdbms/azure.mgmt.rdbms.mariadb": { - "category": "Management", - "namespaces": [ - "azure.mgmt.rdbms.mariadb" - ], - "service_name": "MariaDB" - }, - "azure-mgmt-rdbms/azure.mgmt.rdbms.mysql": { - "category": "Management", - "namespaces": [ - "azure.mgmt.rdbms.mysql" - ], - "service_name": "MySQL" - }, - "azure-mgmt-rdbms/azure.mgmt.rdbms.postgresql": { - "category": "Management", - "namespaces": [ - "azure.mgmt.rdbms.postgresql" - ], - "service_name": "PostgreSQL" - }, - "azure-mgmt-rdbms": { - "category": "Management", - "namespaces": [ - "azure.mgmt.rdbms" - ], - "service_name": "OSS RDBMS" - }, - "azure-mgmt-reservations": { - "category": "Management", - "namespaces": [ - "azure.mgmt.reservations" - ], - "service_name": "Reservations" - }, - "azure-mgmt-recoveryservices": { - "category": "Management", - "namespaces": [ - "azure.mgmt.recoveryservices" - ], - "service_name": "Recovery Services" - }, - "azure-mgmt-recoveryservicesbackup": { - "category": "Management", - "namespaces": [ - "azure.mgmt.recoveryservicesbackup" - ], - "service_name": "Recovery Services Backup" - }, - "azure-mgmt-redis": { - "category": "Management", - "namespaces": [ - "azure.mgmt.redis" - ], - "service_name": "Redis Cache" - }, - "azure-mgmt-relay": { - "category": "Management", - "namespaces": [ - "azure.mgmt.relay" - ], - "service_name": "Relay" - }, - "azure-mgmt-resource": { - "category": "Management", - "namespaces": [ - "azure.mgmt.resource.managedapplications", - "azure.mgmt.resource.features.v2015_12_01", - "azure.mgmt.resource.subscriptions.v2016_06_01", - "azure.mgmt.resource.locks.v2015_01_01", - "azure.mgmt.resource.locks.v2016_09_01", - "azure.mgmt.resource.resources.v2016_02_01", - "azure.mgmt.resource.resources.v2016_09_01", - "azure.mgmt.resource.resources.v2017_05_10", - "azure.mgmt.resource.resources.v2018_02_01", - "azure.mgmt.resource.resources.v2018_05_01", - "azure.mgmt.resource.policy.v2015_10_01_preview", - "azure.mgmt.resource.policy.v2016_04_01", - "azure.mgmt.resource.policy.v2016_12_01", - "azure.mgmt.resource.links.v2016_09_01" - ], - "service_name": "Resource Management" - }, - "azure-mgmt-resourcegraph": { - "category": "Management", - "namespaces": [ - "azure.mgmt.resourcegraph" - ], - "service_name": "Resource Graph" - }, - "azure-mgmt-scheduler": { - "category": "Management", - "namespaces": [ - "azure.mgmt.scheduler" - ], - "service_name": "Scheduler" - }, - "azure-mgmt-search": { - "category": "Management", - "namespaces": [ - "azure.mgmt.search" - ], - "service_name": "Search Management" - }, - "azure-mgmt-security": { - "category": "Management", - "namespaces": [ - "azure.mgmt.security" - ], - "service_name": "Security Management" - }, - "azure-mgmt-servermanager": { - "category": "Management", - "namespaces": [ - "azure.mgmt.servermanager" - ], - "service_name": "Server Management" - }, - "azure-mgmt-servicebus": { - "category": "Management", - "namespaces": [ - "azure.mgmt.servicebus" - ], - "service_name": "Service Bus" - }, - "azure-mgmt-servicefabric": { - "category": "Management", - "namespaces": [ - "azure.mgmt.servicefabric" - ], - "service_name": "Service Fabric" - }, - "azure-mgmt-signalr": { - "category": "Management", - "namespaces": [ - "azure.mgmt.signalr" - ], - "service_name": "SignalR Management" - }, - "azure-mgmt-sql": { - "category": "Management", - "namespaces": [ - "azure.mgmt.sql" - ], - "service_name": "SQL" - }, - "azure-mgmt-sqlvirtualmachine": { - "category": "Management", - "namespaces": [ - "azure.mgmt.sqlvirtualmachine" - ], - "service_name": "SQL Virtual Machine" - }, - "azure-mgmt-storage": { - "category": "Management", - "namespaces": [ - "azure.mgmt.storage.v2015_06_15", - "azure.mgmt.storage.v2016_01_01", - "azure.mgmt.storage.v2016_12_01", - "azure.mgmt.storage.v2017_06_01", - "azure.mgmt.storage.v2017_10_01", - "azure.mgmt.storage.v2018_02_01", - "azure.mgmt.storage.v2018_07_01", - "azure.mgmt.storage.v2019_04_01" - ], - "service_name": "Storage" - }, - "azure-mgmt-subscription": { - "category": "Management", - "namespaces": [ - "azure.mgmt.subscription" - ], - "service_name": "Subscription" - }, - "azure-mgmt-trafficmanager": { - "category": "Management", - "namespaces": [ - "azure.mgmt.trafficmanager" - ], - "service_name": "Traffic Manager" - }, - "azure-mgmt-web": { - "category": "Management", - "namespaces": [ - "azure.mgmt.web.v2015_04_01", - "azure.mgmt.web.v2015_08_01", - "azure.mgmt.web.v2016_03_01", - "azure.mgmt.web.v2016_08_01", - "azure.mgmt.web.v2016_09_01", - "azure.mgmt.web.v2018_02_01", - "azure.mgmt.web.v2018_11_01" - ], - "service_name": "Web Apps" - }, - "azure-servicebus": { - "category": "Client", - "service_name": "Service Bus", - "manually_generated": true - }, - "azure-eventhub": { - "category": "Client", - "service_name": "Event Hub", - "manually_generated": true - }, - "azure-eventhub-checkpointstoreblob-aio": { - "category": "Client", - "service_name": "Event Hub", - "manually_generated": true - }, - "azure-core": { - "category": "Client", - "service_name": "Core", - "manually_generated": true - }, - "azure-core-tracing-opencensus": { - "category": "Client", - "service_name": "Core", - "manually_generated": true - }, - "azure-core-tracing-opentelemetry": { - "category": "Client", - "service_name": "Core", - "manually_generated": true - }, - "azure-identity": { - "category": "Client", - "service_name": "Identity", - "manually_generated": true - }, - "azure-cosmos": { - "category": "Client", - "service_name": "Cosmos", - "manually_generated": true - }, - "azure-search-documents": { - "category": "Client", - "service_name": "Search", - "manually_generated": true - }, - "azure-search": { - "category": "Client", - "service_name": "Search", - "manually_generated": true - }, - "azure-keyvault-keys": { - "category": "Client", - "service_name": "Keyvault", - "manually_generated": true - }, - "azure-keyvault-secrets": { - "category": "Client", - "service_name": "Keyvault", - "manually_generated": true - }, - "azure-keyvault-certificates": { - "category": "Client", - "service_name": "Keyvault", - "manually_generated": true - }, - "azure-ai-textanalytics": { - "category": "Client", - "service_name": "Text Analytics", - "manually_generated": true - }, - "azure-ai-formrecognizer": { - "category": "Client", - "service_name": "Form Recognizer", - "manually_generated": true - }, - "azure-ai-metricsadvisor": { - "category": "Client", - "service_name": "Metrics Advisor", - "manually_generated": true - }, - "azure-storage-blob": { - "category": "Client", - "service_name": "Storage", - "manually_generated": true - }, - "azure-storage-blob-changefeed": { - "category": "Client", - "service_name": "Storage", - "manually_generated": true - }, - "azure-storage-file-share": { - "category": "Client", - "service_name": "Storage", - "manually_generated": true - }, - "azure-storage-file-datalake": { - "category": "Client", - "service_name": "Storage", - "manually_generated": true - }, - "azure-storage-queue": { - "category": "Client", - "service_name": "Storage", - "manually_generated": true - }, - "azure-appconfiguration": { - "category": "Client", - "service_name": "App Configuration", - "manually_generated": true - }, - "azure-mgmt-appconfiguration": { - "category": "Management", - "service_name": "App Configuration", - "namespaces": [ - "azure.mgmt.appconfiguration.v2022_03_01_preview", - "azure.mgmt.appconfiguration.v2022_05_01", - "azure.mgmt.appconfiguration.v2023_03_01" - ] - }, - "azure-mgmt-privatedns": { - "category": "Management", - "service_name": "Private DNS", - "namespaces": [ - "azure.mgmt.privatedns" - ] - }, - "azure-mgmt-frontdoor": { - "category": "Management", - "service_name": "Front Door", - "namespaces": [ - "azure.mgmt.frontdoor" - ] - }, - "azure-mgmt-hybridcompute": { - "category": "Management", - "service_name": "Hybrid Cloud", - "namespaces": [ - "azure.mgmt.hybridcompute" - ] - }, - "azure-mgmt-healthcareapis": { - "category": "Management", - "service_name": "Healthcare APIs", - "namespaces": [ - "azure.mgmt.healthcareapis" - ] - }, - "azure-mgmt-edgegateway": { - "category": "Management", - "service_name": "Edge Gateway", - "namespaces": [ - "azure.mgmt.edgegateway" - ] - }, - "azure-mgmt-deploymentmanager": { - "category": "Management", - "service_name": "Deployment Manager", - "namespaces": [ - "azure.mgmt.deploymentmanager" - ] - }, - "azure-mgmt-peering": { - "category": "Management", - "service_name": "Peering", - "namespaces": [ - "azure.mgmt.peering" - ] - }, - "azure-mgmt-appplatform": { - "category": "Management", - "service_name": "App Service", - "namespaces": [ - "azure.mgmt.appplatform" - ] - }, - "azure-mgmt-botservice": { - "category": "Management", - "service_name": "Bot Service", - "namespaces": [ - "azure.mgmt.botservice" - ] - }, - "azure-mgmt-costmanagement": { - "category": "Management", - "service_name": "Cost Management", - "namespaces": [ - "azure.mgmt.costmanagement" - ] - }, - "azure-mgmt-attestation": { - "category": "Management", - "service_name": "Attestation", - "namespaces": [ - "azure.mgmt.attestation" - ] - }, - "azure-mgmt-datashare": { - "category": "Management", - "service_name": "Data Share", - "namespaces": [ - "azure.mgmt.datashare" - ] - }, - "azure-mgmt-serialconsole": { - "category": "Management", - "service_name": "Serial Console", - "namespaces": [ - "azure.mgmt.serialconsole" - ] - }, - "azure-mgmt-storagesync": { - "category": "Management", - "service_name": "Storage Sync", - "namespaces": [ - "azure.mgmt.storagesync" - ] - }, - "azure-mgmt-storagecache": { - "category": "Management", - "service_name": "Storage", - "namespaces": [ - "azure.mgmt.storagecache" - ] - }, - "azure-mgmt-vmwarecloudsimple": { - "category": "Management", - "service_name": "VMWare by CloudSimple", - "namespaces": [ - "azure.mgmt.vmwarecloudsimple" - ] - }, - "azure-servicefabric": { - "category": "Client", - "namespaces": [ - "azure.servicefabric" - ], - "service_name": "Service Fabric" - }, - "azure-servicemanagement-legacy": { - "category": "Client", - "service_name": "Other" - } -} From 62d053a10e6d4f8dae9c3dc282fbc40c11ec3186 Mon Sep 17 00:00:00 2001 From: Krista Pratico Date: Mon, 19 Feb 2024 05:08:22 -0800 Subject: [PATCH 3/4] make sure we preserve ordering of latest --> oldest --- doc/sphinx/generate_doc.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/sphinx/generate_doc.py b/doc/sphinx/generate_doc.py index b4dcd318092c..cd86969179ab 100644 --- a/doc/sphinx/generate_doc.py +++ b/doc/sphinx/generate_doc.py @@ -5,7 +5,6 @@ import os import glob -import typing from typing import Dict, List GENERATED_PACKAGES_LIST_FILE = "toc_tree.rst" @@ -84,7 +83,6 @@ def is_subnamespace(version: str) -> bool: def get_package_namespaces(package_root: str) -> List[str]: namespace_folders = os.path.basename(package_root).split("-") - package_name = "-".join(namespace_folders) namespace = ".".join(namespace_folders) # add top namespace @@ -96,20 +94,22 @@ def get_package_namespaces(package_root: str) -> List[str]: # check for subnamespaces like azure.mgmt.resource.locks if not valid_versions: subnamespaces = glob.glob(f"{api_directory}/*/") - for snp in subnamespaces: - versions = get_valid_versions(snp) + for snp_path in subnamespaces: + versions = get_valid_versions(snp_path) valid_versions.extend(versions) for version_path in valid_versions: version = os.path.relpath(version_path, start=api_directory) if is_subnamespace(version): - subnamespace, api_version = version.split("/") - full_namespace = ".".join([namespace, subnamespace, api_version]) - namespaces.setdefault(namespace, []).append(".".join([namespace, subnamespace])) - namespaces.setdefault(f"{namespace}.{subnamespace}", []).append(full_namespace) + subnamespace_name, api_version = version.split("/") + full_namespace = ".".join([namespace, subnamespace_name, api_version]) + subnamespace = ".".join([namespace, subnamespace_name]) + if subnamespace not in namespaces[namespace]: + namespaces[namespace].append(subnamespace) + namespaces.setdefault(subnamespace, []).append(full_namespace) else: full_namespace = ".".join([namespace, version]) - namespaces.setdefault(namespace, []).append(full_namespace) + namespaces[namespace].append(full_namespace) return namespaces @@ -137,7 +137,7 @@ def write_multiapi_rst(namespace: str, versions: List[str], rst_path_template: s title=make_title(namespace + " package"), namespace=namespace ) ) - for version in set(versions): + for version in versions: rst_file.write(" {version}\n".format(version=version)) package_list_path.append(rst_path) From 9324e6c7dde4293f27ad9c76e2868259fc5631fa Mon Sep 17 00:00:00 2001 From: Krista Pratico Date: Mon, 19 Feb 2024 05:51:58 -0800 Subject: [PATCH 4/4] update copyright year --- doc/sphinx/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/conf.py b/doc/sphinx/conf.py index 5487a0587a5c..f0d6ce555521 100644 --- a/doc/sphinx/conf.py +++ b/doc/sphinx/conf.py @@ -87,7 +87,7 @@ # General information about the project. project = u'Azure SDK for Python' -copyright = u'2019, Microsoft' +copyright = u'2024, Microsoft' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the