From 331bd4004649dc479cea10066adbbf6646ae0417 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 31 Oct 2024 15:12:43 +0100 Subject: [PATCH 1/6] azure-cli: rewrite extensions-tool in python Co-authored-by: Matej Urbas Co-authored-by: Sebastian Kowalak Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com> --- pkgs/by-name/az/azure-cli/extensions-tool.py | 319 +++++++++++++++++++ pkgs/by-name/az/azure-cli/package.nix | 39 +++ 2 files changed, 358 insertions(+) create mode 100644 pkgs/by-name/az/azure-cli/extensions-tool.py diff --git a/pkgs/by-name/az/azure-cli/extensions-tool.py b/pkgs/by-name/az/azure-cli/extensions-tool.py new file mode 100644 index 0000000000000..3ba7c3636f400 --- /dev/null +++ b/pkgs/by-name/az/azure-cli/extensions-tool.py @@ -0,0 +1,319 @@ +#!/usr/bin/env python + +import argparse +import base64 +import datetime +import json +import logging +import os +import sys +from dataclasses import asdict, dataclass, replace +from pathlib import Path +from typing import Any, Dict, Iterable, List, Optional, Set, Tuple +from urllib.request import Request, urlopen + +import git +from packaging.version import Version, parse + +INDEX_URL = "https://azcliextensionsync.blob.core.windows.net/index1/index.json" + +logger = logging.getLogger(__name__) + + +@dataclass(frozen=True) +class Ext: + pname: str + version: Version + url: str + hash: str + description: str + + +def _read_cached_index(path: Path) -> Tuple[datetime.datetime, Any]: + with open(path, "r") as f: + data = f.read() + + j = json.loads(data) + cache_date_str = j["cache_date"] + if cache_date_str: + cache_date = datetime.datetime.fromisoformat(cache_date_str) + else: + cache_date = datetime.datetime.min + return cache_date, data + + +def _write_index_to_cache(data: Any, path: Path): + j = json.loads(data) + j["cache_date"] = datetime.datetime.now().isoformat() + with open(path, "w") as f: + json.dump(j, f, indent=2) + + +def _fetch_remote_index(): + r = Request(INDEX_URL) + with urlopen(r) as resp: + return resp.read() + + +def get_extension_index(cache_dir: Path) -> Set[Ext]: + index_file = cache_dir / "index.json" + os.makedirs(cache_dir, exist_ok=True) + + try: + index_cache_date, index_data = _read_cached_index(index_file) + except FileNotFoundError: + logger.info("index has not been cached, downloading from source") + logger.info("creating index cache in %s", index_file) + _write_index_to_cache(_fetch_remote_index(), index_file) + return get_extension_index(cache_dir) + + if ( + index_cache_date + and datetime.datetime.now() - index_cache_date > datetime.timedelta(days=1) + ): + logger.info( + "cache is outdated (%s), refreshing", + datetime.datetime.now() - index_cache_date, + ) + _write_index_to_cache(_fetch_remote_index(), index_file) + return get_extension_index(cache_dir) + + logger.info("using index cache from %s", index_file) + return json.loads(index_data) + + +def _read_extension_set(extensions_generated: Path) -> Set[Ext]: + with open(extensions_generated, "r") as f: + data = f.read() + + parsed_exts = {Ext(**json_ext) for _pname, json_ext in json.loads(data).items()} + parsed_exts_with_ver = set() + for ext in parsed_exts: + ext2 = replace(ext, version=parse(ext.version)) + parsed_exts_with_ver.add(ext2) + + return parsed_exts_with_ver + + +def _write_extension_set(extensions_generated: Path, extensions: Set[Ext]) -> None: + set_without_ver = {replace(ext, version=str(ext.version)) for ext in extensions} + ls = list(set_without_ver) + ls.sort(key=lambda e: e.pname) + with open(extensions_generated, "w") as f: + json.dump({ext.pname: asdict(ext) for ext in ls}, f, indent=2) + + +def _convert_hash_digest_from_hex_to_b64_sri(s: str) -> str: + try: + b = bytes.fromhex(s) + except ValueError as err: + logger.error("not a hex value: %s", str(err)) + raise err + + return f"sha256-{base64.b64encode(b).decode('utf-8')}" + + +def _commit(repo: git.Repo, message: str, files: List[Path]) -> None: + repo.index.add([str(f.resolve()) for f in files]) + if repo.index.diff("HEAD"): + logger.info(f'committing to nixpkgs "{message}"') + repo.index.commit(message) + else: + logger.warning("no changes in working tree to commit") + + +def _filter_invalid(o: Dict[str, Any]) -> bool: + if "metadata" not in o: + logger.warning("extension without metadata") + return False + metadata = o["metadata"] + if "name" not in metadata: + logger.warning("extension without name") + return False + if "version" not in metadata: + logger.warning(f"{metadata['name']} without version") + return False + if "azext.minCliCoreVersion" not in metadata: + logger.warning( + f"{metadata['name']} {metadata['version']} does not have azext.minCliCoreVersion" + ) + return False + if "summary" not in metadata: + logger.info(f"{metadata['name']} {metadata['version']} without summary") + return False + if "downloadUrl" not in o: + logger.warning(f"{metadata['name']} {metadata['version']} without downloadUrl") + return False + if "sha256Digest" not in o: + logger.warning(f"{metadata['name']} {metadata['version']} without sha256Digest") + return False + + return True + + +def _filter_compatible(o: Dict[str, Any], cli_version: Version) -> bool: + minCliVersion = parse(o["metadata"]["azext.minCliCoreVersion"]) + return cli_version >= minCliVersion + + +def _transform_dict_to_obj(o: Dict[str, Any]) -> Ext: + m = o["metadata"] + return Ext( + pname=m["name"], + version=parse(m["version"]), + url=o["downloadUrl"], + hash=_convert_hash_digest_from_hex_to_b64_sri(o["sha256Digest"]), + description=m["summary"].rstrip("."), + ) + + +def _get_latest_version(versions: dict) -> dict: + return max(versions, key=lambda e: parse(e["metadata"]["version"]), default=None) + + +def processExtension( + extVersions: dict, + cli_version: Version, + ext_name: Optional[str] = None, + requirements: bool = False, +) -> Optional[Ext]: + versions = filter(_filter_invalid, extVersions) + versions = filter(lambda v: _filter_compatible(v, cli_version), versions) + latest = _get_latest_version(versions) + if not latest: + return None + if ext_name and latest["metadata"]["name"] != ext_name: + return None + if not requirements and "run_requires" in latest["metadata"]: + return None + + return _transform_dict_to_obj(latest) + + +def _diff_sets( + set_local: Set[Ext], set_remote: Set[Ext] +) -> Tuple[Set[Ext], Set[Ext], Set[Tuple[Ext, Ext]]]: + local_exts = {ext.pname: ext for ext in set_local} + remote_exts = {ext.pname: ext for ext in set_remote} + only_local = local_exts.keys() - remote_exts.keys() + only_remote = remote_exts.keys() - local_exts.keys() + both = remote_exts.keys() & local_exts.keys() + return ( + {local_exts[pname] for pname in only_local}, + {remote_exts[pname] for pname in only_remote}, + {(local_exts[pname], remote_exts[pname]) for pname in both}, + ) + + +def _filter_updated(e: Tuple[Ext, Ext]) -> bool: + prev, new = e + return prev != new + + +def main() -> None: + sh = logging.StreamHandler(sys.stderr) + sh.setFormatter( + logging.Formatter( + "[%(asctime)s] [%(levelname)8s] --- %(message)s (%(filename)s:%(lineno)s)", + "%Y-%m-%d %H:%M:%S", + ) + ) + logging.basicConfig(level=logging.INFO, handlers=[sh]) + + parser = argparse.ArgumentParser( + prog="azure-cli.extensions-tool", + description="Script to handle Azure CLI extension updates", + ) + parser.add_argument( + "--cli-version", type=str, help="version of azure-cli (required)" + ) + parser.add_argument("--extension", type=str, help="name of extension to query") + parser.add_argument( + "--cache-dir", + type=Path, + help="path where to cache the extension index", + default=Path(os.getenv("XDG_CACHE_HOME", Path.home() / ".cache")) + / "azure-cli-extensions-tool", + ) + parser.add_argument( + "--requirements", + action=argparse.BooleanOptionalAction, + help="whether to list extensions that have requirements", + ) + parser.add_argument( + "--commit", + action=argparse.BooleanOptionalAction, + help="whether to commit changes to git", + ) + args = parser.parse_args() + + repo = git.Repo(Path(".").resolve(), search_parent_directories=True) + + index = get_extension_index(args.cache_dir) + assert index["formatVersion"] == "1" # only support formatVersion 1 + extensions_remote = index["extensions"] + + cli_version = parse(args.cli_version) + + extensions_remote_filtered = set() + for _ext_name, extension in extensions_remote.items(): + extension = processExtension(extension, cli_version, args.extension) + if extension: + extensions_remote_filtered.add(extension) + + extension_file = ( + Path(repo.working_dir) / "pkgs/by-name/az/azure-cli/extensions-generated.json" + ) + extensions_local = _read_extension_set(extension_file) + extensions_local_filtered = set() + if args.extension: + extensions_local_filtered = filter( + lambda ext: args.extension == ext.pname, extensions_local + ) + else: + extensions_local_filtered = extensions_local + + removed, init, updated = _diff_sets( + extensions_local_filtered, extensions_remote_filtered + ) + updated = set(filter(_filter_updated, updated)) + + logger.info("initialized extensions:") + for ext in init: + logger.info(f" {ext.pname} {ext.version}") + logger.info("removed extensions:") + for ext in removed: + logger.info(f" {ext.pname} {ext.version}") + logger.info("updated extensions:") + for prev, new in updated: + logger.info(f" {prev.pname} {prev.version} -> {new.version}") + + for ext in removed: + extensions_local.remove(ext) + # TODO: Add additional check why this is removed + # TODO: Add an alias to extensions manual? + commit_msg = f"azure-cli-extensions.{ext.pname}: remove" + _write_extension_set(extension_file, extensions_local) + if args.commit: + _commit(repo, commit_msg, [extension_file]) + + for ext in init: + extensions_local.add(ext) + commit_msg = f"azure-cli-extensions.{ext.pname}: init at {ext.version}" + _write_extension_set(extension_file, extensions_local) + if args.commit: + _commit(repo, commit_msg, [extension_file]) + + for prev, new in updated: + extensions_local.remove(prev) + extensions_local.add(new) + commit_msg = ( + f"azure-cli-extension.{prev.pname}: {prev.version} -> {new.version}" + ) + _write_extension_set(extension_file, extensions_local) + if args.commit: + _commit(repo, commit_msg, [extension_file]) + + +if __name__ == "__main__": + main() diff --git a/pkgs/by-name/az/azure-cli/package.nix b/pkgs/by-name/az/azure-cli/package.nix index a9167380ccafd..7f05a9e75e0ba 100644 --- a/pkgs/by-name/az/azure-cli/package.nix +++ b/pkgs/by-name/az/azure-cli/package.nix @@ -10,6 +10,11 @@ python3, writeScriptBin, + black, + isort, + mypy, + makeWrapper, + # Whether to include patches that enable placing certain behavior-defining # configuration files in the Nix store. withImmutableConfig ? true, @@ -387,6 +392,40 @@ py.pkgs.toPythonApplication ( echo "Extension was saved to \"extensions-generated.nix\" file." echo "Move it to \"{nixpkgs}/pkgs/by-name/az/azure-cli/extensions-generated.nix\"." ''; + + extensions-tool = + runCommand "azure-cli-extensions-tool" + { + src = ./extensions-tool.py; + nativeBuildInputs = [ + black + isort + makeWrapper + mypy + python3 + ]; + meta.mainProgram = "extensions-tool"; + } + '' + black --check --diff $src + # mypy --strict $src + isort --profile=black --check --diff $src + + install -Dm755 $src $out/bin/extensions-tool + + patchShebangs --build $out + wrapProgram $out/bin/extensions-tool \ + --set PYTHONPATH "${ + python3.pkgs.makePythonPath ( + with python3.pkgs; + [ + packaging + semver + gitpython + ] + ) + }" + ''; }; meta = { From db70925a427d76812894934378d0792a437e4069 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:30:03 +0100 Subject: [PATCH 2/6] azure-cli-extensions: transform set to json This was done with the following cursed sed expression: tail -n +3 extensions-generated.nix | sed -e 's/ = mkAzExtension rec / : /g' -e 's/=/:/g' -e 's/;/,/g' -e 's/\([a-zA-Z_][a-zA-Z_0-9-]*\) :/"\1":/g' -e '/^[[:space:]]*"description"/s/.$//' > extensions-generated.json and some cleanup afterwards. Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com> --- .../az/azure-cli/extensions-generated.json | 1087 +++++++++++++++++ 1 file changed, 1087 insertions(+) create mode 100644 pkgs/by-name/az/azure-cli/extensions-generated.json diff --git a/pkgs/by-name/az/azure-cli/extensions-generated.json b/pkgs/by-name/az/azure-cli/extensions-generated.json new file mode 100644 index 0000000000000..b289e4bf7ae74 --- /dev/null +++ b/pkgs/by-name/az/azure-cli/extensions-generated.json @@ -0,0 +1,1087 @@ +{ + "acat": { + "pname": "acat", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/acat-1.0.0b1-py3-none-any.whl", + "hash": "sha256-nCKOk/3aUxE3um5autK0hXfPWFEuS+De5RzvERJnMno=", + "description": "Microsoft Azure Command-Line Tools Acat Extension" + }, + "account": { + "pname": "account", + "version": "0.2.5", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/account-0.2.5-py3-none-any.whl", + "hash": "sha256-C5TfMjrPxI6jFBkEZJEGu4VpUYfb9jqjuESOwSvADCM=", + "description": "Microsoft Azure Command-Line Tools SubscriptionClient Extension" + }, + "acrquery": { + "pname": "acrquery", + "version": "1.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/acrquery-1.0.1-py3-none-any.whl", + "hash": "sha256-kJQTek0I8u3ntmLJnfBmXzOKrnvK9Jdr7V1C33VFcfE=", + "description": "Microsoft Azure Command-Line Tools AcrQuery Extension" + }, + "acrtransfer": { + "pname": "acrtransfer", + "version": "1.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/acrtransfer-1.1.0-py3-none-any.whl", + "hash": "sha256-ZouU0DQbZjphAhLzGLiZpTvmCuDrWcR+Fi9dq9NINVE=", + "description": "Microsoft Azure Command-Line Tools Acrtransfer Extension" + }, + "ad": { + "pname": "ad", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/ad-0.1.0-py3-none-any.whl", + "hash": "sha256-Yd8jThB1npkWwdRHqwK4JjfeEP2XwxoXJS4fUYOFOIM=", + "description": "Microsoft Azure Command-Line Tools DomainServicesResourceProvider Extension" + }, + "adp": { + "pname": "adp", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/adp-0.1.0-py3-none-any.whl", + "hash": "sha256-/WRRmDL0/TFEMfhxdlB+ECSbjRZVN/gdBcnqUYWuhOw=", + "description": "Microsoft Azure Command-Line Tools Adp Extension" + }, + "aem": { + "pname": "aem", + "version": "0.3.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/aem-0.3.0-py2.py3-none-any.whl", + "hash": "sha256-Jar5AGqx0RXXxITP2hya0ONhevbSFA24dJmq6oG2f/g=", + "description": "Manage Azure Enhanced Monitoring Extensions for SAP" + }, + "ai-examples": { + "pname": "ai-examples", + "version": "0.2.5", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/ai_examples-0.2.5-py2.py3-none-any.whl", + "hash": "sha256-utvfX8LgtKhcQSTT/JKFm1gq348w9XJ0QM6BlCFACZo=", + "description": "Add AI powered examples to help content" + }, + "aks-preview": { + "pname": "aks-preview", + "version": "9.0.0b6", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-9.0.0b6-py2.py3-none-any.whl", + "hash": "sha256-NqIV06L9tUuKl37KszDD9zwydGNoyXc2ThH9XLjgiaQ=", + "description": "Provides a preview for upcoming AKS features" + }, + "akshybrid": { + "pname": "akshybrid", + "version": "0.1.2", + "url": "https://hybridaksstorage.z13.web.core.windows.net/HybridAKS/CLI/akshybrid-0.1.2-py3-none-any.whl", + "hash": "sha256-l2fNpETEIVc7wiDgHNWKZ8MKNhdc7bposEVKPG6YOo4=", + "description": "Microsoft Azure Command-Line Tools HybridContainerService Extension" + }, + "alb": { + "pname": "alb", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/alb-1.0.0-py3-none-any.whl", + "hash": "sha256-sCDNjNPaYpncl4SZ2uRSdot2UcPtjgXy8LMhvZuDVNQ=", + "description": "Microsoft Azure Command-Line Tools ALB Extension" + }, + "alertsmanagement": { + "pname": "alertsmanagement", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/alertsmanagement-1.0.0b1-py3-none-any.whl", + "hash": "sha256-4eFa7/GrmyX7gguRTmAs6Ep9AOU4LrB9QT8UktkLCdE=", + "description": "Microsoft Azure Command-Line Tools AlertsManagementClient Extension" + }, + "amg": { + "pname": "amg", + "version": "2.4.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/amg-2.4.0-py3-none-any.whl", + "hash": "sha256-YkyoyEfOk+zIOe5CgRXQmyY8Ts58UtoKvvOIk2RREdY=", + "description": "Microsoft Azure Command-Line Tools Azure Managed Grafana Extension" + }, + "amlfs": { + "pname": "amlfs", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/amlfs-1.0.0-py3-none-any.whl", + "hash": "sha256-IbWhKUPnJzFSiKoMocSaJYA6ZWt/OIw8Y3WWz99nvR0=", + "description": "Microsoft Azure Command-Line Tools Amlfs Extension" + }, + "apic-extension": { + "pname": "apic-extension", + "version": "1.0.0b5", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/apic_extension-1.0.0b5-py3-none-any.whl", + "hash": "sha256-+8ofhEYBMULWdhWbgpL9fC0xdfOeG661xNE/ljcAMlQ=", + "description": "Microsoft Azure Command-Line Tools ApicExtension Extension" + }, + "appservice-kube": { + "pname": "appservice-kube", + "version": "0.1.10", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.10-py2.py3-none-any.whl", + "hash": "sha256-f9ctJ+Sw7O2jsrTzAcegwwaP6ouW1w+fyq0UIkDefQ0=", + "description": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension" + }, + "astronomer": { + "pname": "astronomer", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/astronomer-1.0.0-py3-none-any.whl", + "hash": "sha256-tMpBtdnLd67StGLe1KOSrjzols6NnLlKCGcdDLaBds0=", + "description": "Microsoft Azure Command-Line Tools Astronomer Extension" + }, + "authV2": { + "pname": "authV2", + "version": "0.1.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/authV2-0.1.3-py3-none-any.whl", + "hash": "sha256-6wVjb4x44vg7f0Uv5W9amuSW1pCdw2kkrl+YovtbzkE=", + "description": "Microsoft Azure Command-Line Tools Authv2 Extension" + }, + "automanage": { + "pname": "automanage", + "version": "0.1.2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/automanage-0.1.2-py3-none-any.whl", + "hash": "sha256-QjQabP2ss68EM7ELPpvLUibUx/tZcwN4QIqVdmImZVE=", + "description": "Microsoft Azure Command-Line Tools Automanage Extension" + }, + "automation": { + "pname": "automation", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-1.0.0b1-py3-none-any.whl", + "hash": "sha256-0x/gQz+jCm4An3ub7mxBemhu2HUC3Zh7msitETODkVs=", + "description": "Microsoft Azure Command-Line Tools AutomationClient Extension" + }, + "azure-firewall": { + "pname": "azure-firewall", + "version": "1.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-1.2.0-py2.py3-none-any.whl", + "hash": "sha256-VGjMCbjqeRgXa16Vqjwkx62bfRtoxH0Wv1IqBT/YEeg=", + "description": "Manage Azure Firewall resources" + }, + "azurelargeinstance": { + "pname": "azurelargeinstance", + "version": "1.0.0b4", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/azurelargeinstance-1.0.0b4-py3-none-any.whl", + "hash": "sha256-b+5Hi9kZkioFMlc/3qO1Qikl03S6ZknqAV1NM5QegZo=", + "description": "Microsoft Azure Command-Line Tools Azurelargeinstance Extension" + }, + "azurestackhci": { + "pname": "azurestackhci", + "version": "0.2.9", + "url": "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-0.2.9-py3-none-any.whl", + "hash": "sha256-JVey/j+i+VGieUupZ1VbpUwuk+t1U4FS8hqy+1aP7xY=", + "description": "Microsoft Azure Command-Line Tools AzureStackHCI Extension" + }, + "baremetal-infrastructure": { + "pname": "baremetal-infrastructure", + "version": "3.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/baremetal_infrastructure-3.0.0b2-py3-none-any.whl", + "hash": "sha256-DlhD4pWicFgmLpRf68Qxec4XOsJ+vP5EVrRmt6y5wiA=", + "description": "Microsoft Azure Command-Line Tools BaremetalInfrastructure Extension" + }, + "bastion": { + "pname": "bastion", + "version": "1.3.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-1.3.0-py3-none-any.whl", + "hash": "sha256-FRqyXU3N4QtGxGk879rx0NWEHhXP4+xkwImqr1XmyMA=", + "description": "Microsoft Azure Command-Line Tools Bastion Extension" + }, + "billing-benefits": { + "pname": "billing-benefits", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/billing_benefits-0.1.0-py3-none-any.whl", + "hash": "sha256-9xJQ0cJmkMwOF1zVybzVnnbHtwG7OkfIJz5M+LzKh44=", + "description": "Microsoft Azure Command-Line Tools BillingBenefits Extension" + }, + "blueprint": { + "pname": "blueprint", + "version": "0.3.2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-0.3.2-py3-none-any.whl", + "hash": "sha256-WNODVEbdk+WFsPa1IKLbZVG4qSfjXiXaR0fUz4pMAJs=", + "description": "Microsoft Azure Command-Line Tools Blueprint Extension" + }, + "change-analysis": { + "pname": "change-analysis", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/change_analysis-0.1.0-py3-none-any.whl", + "hash": "sha256-SfF2Ghsa0pFpry7NV5PhDd7Hl+uyYQ58cOGxqyt1Emo=", + "description": "Microsoft Azure Command-Line Tools ChangeAnalysis Extension" + }, + "cli-translator": { + "pname": "cli-translator", + "version": "0.3.0", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-0.3.0-py3-none-any.whl", + "hash": "sha256-nqYWLTf8M5C+Tc5kywXFxYgHAQTz6SpwGrR1RzVlqKk=", + "description": "Translate ARM template to executable Azure CLI scripts" + }, + "compute-diagnostic-rp": { + "pname": "compute-diagnostic-rp", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/compute_diagnostic_rp-1.0.0b1-py3-none-any.whl", + "hash": "sha256-gQ6TzgDH0D322poPr1e5ZvttpYIxH5yudLK34ePEFCM=", + "description": "Microsoft Azure Command-Line Tools ComputeDiagnosticRp Extension" + }, + "confidentialledger": { + "pname": "confidentialledger", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/confidentialledger-1.0.0-py3-none-any.whl", + "hash": "sha256-Ovv0nxDN3dlnVWI2TOInX29w61MY+oW2WNcRseJNyU4=", + "description": "Microsoft Azure Command-Line Tools ConfidentialLedger Extension" + }, + "confluent": { + "pname": "confluent", + "version": "0.6.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.6.0-py3-none-any.whl", + "hash": "sha256-eYfSLg6craKAh6kAv6U0hlUxlB8rv+ln60bJCy4KEr4=", + "description": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension" + }, + "connectedmachine": { + "pname": "connectedmachine", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedmachine-1.0.0b2-py3-none-any.whl", + "hash": "sha256-i4xDQMTGVS44JiIP+5W/YZRHZ1sEaTBLcfqA4uTjHIE=", + "description": "Microsoft Azure Command-Line Tools ConnectedMachine Extension" + }, + "connectedvmware": { + "pname": "connectedvmware", + "version": "1.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-1.2.0-py2.py3-none-any.whl", + "hash": "sha256-tzGoIcYJqui/q34EcLNCuReefgxlSC9KQypg2HpMOV8=", + "description": "Microsoft Azure Command-Line Tools Connectedvmware Extension" + }, + "connection-monitor-preview": { + "pname": "connection-monitor-preview", + "version": "0.1.0", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/connection_monitor_preview-0.1.0-py2.py3-none-any.whl", + "hash": "sha256-mnltUYdXGZDSf+ue/u3eOMGU8T6iHL+ewGExGWv9gh0=", + "description": "Microsoft Azure Command-Line Connection Monitor V2 Extension" + }, + "cosmosdb-preview": { + "pname": "cosmosdb-preview", + "version": "1.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-1.0.1-py2.py3-none-any.whl", + "hash": "sha256-xUABi8XaElLsPj5WRVJlDWrwjzSfP/M5vjmKeYPK8qk=", + "description": "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension" + }, + "costmanagement": { + "pname": "costmanagement", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/costmanagement-1.0.0-py3-none-any.whl", + "hash": "sha256-bl4FPQW61q1jBb0CT1HjVeYP3ou2oDNQ39gcJUN9LkU=", + "description": "Microsoft Azure Command-Line Tools CostManagementClient Extension" + }, + "csvmware": { + "pname": "csvmware", + "version": "0.3.0", + "url": "https://github.com/Azure/az-csvmware-cli/releases/download/0.3.0/csvmware-0.3.0-py2.py3-none-any.whl", + "hash": "sha256-37l2fwWsE8di6p3EMnFp5jpcEYeRI1RLIA7bmiyaikI=", + "description": "Manage Azure VMware Solution by CloudSimple" + }, + "custom-providers": { + "pname": "custom-providers", + "version": "0.2.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/custom_providers-0.2.1-py2.py3-none-any.whl", + "hash": "sha256-qZOPCchvpFdePIhyBpCMrBWSCvUoxTfAuZg2KhxD2vc=", + "description": "Microsoft Azure Command-Line Tools Custom Providers Extension" + }, + "customlocation": { + "pname": "customlocation", + "version": "0.1.3", + "url": "https://arcplatformcliextprod.blob.core.windows.net/customlocation/customlocation-0.1.3-py2.py3-none-any.whl", + "hash": "sha256-XjZDWxqB3iXnTnDEXCrJ+YBlE4w1BQ8pIQrkDBhITig=", + "description": "Microsoft Azure Command-Line Tools Customlocation Extension" + }, + "databox": { + "pname": "databox", + "version": "1.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/databox-1.1.0-py3-none-any.whl", + "hash": "sha256-e0GmBSHXz2UtTNygUvydLsY3Hz14hOwKdLqafVAB17s=", + "description": "Microsoft Azure Command-Line Tools Databox Extension" + }, + "databricks": { + "pname": "databricks", + "version": "1.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-1.0.1-py3-none-any.whl", + "hash": "sha256-VRZddDXNeg3IdYfoL8IC15Kl8oycRDmGVbCkdw0DjDA=", + "description": "Microsoft Azure Command-Line Tools DatabricksClient Extension" + }, + "datadog": { + "pname": "datadog", + "version": "0.1.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/datadog-0.1.1-py3-none-any.whl", + "hash": "sha256-mjj9XW0BZG8pnue19o6CrXCIicfQvXLgtraxPlRV6Tc=", + "description": "Microsoft Azure Command-Line Tools MicrosoftDatadogClient Extension" + }, + "datafactory": { + "pname": "datafactory", + "version": "1.0.2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/datafactory-1.0.2-py3-none-any.whl", + "hash": "sha256-6hNOKWO3zfK8vVAkSm8aQR2ne9TbfkLIyPllFjjIKsc=", + "description": "Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension" + }, + "datamigration": { + "pname": "datamigration", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/datamigration-1.0.0b2-py3-none-any.whl", + "hash": "sha256-iQG1ZkqV5mV4Fpi8Au6UtCl8gqyf36uZ3U8TusHAkj4=", + "description": "Microsoft Azure Command-Line Tools DataMigrationManagementClient Extension" + }, + "dataprotection": { + "pname": "dataprotection", + "version": "1.5.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/dataprotection-1.5.3-py3-none-any.whl", + "hash": "sha256-RnHOieOQZWlfIWJjUN/K1UOL2+/HFM816F7l6rD5ZmE=", + "description": "Microsoft Azure Command-Line Tools DataProtectionClient Extension" + }, + "datashare": { + "pname": "datashare", + "version": "0.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/datashare-0.2.0-py3-none-any.whl", + "hash": "sha256-8agBvQw46y6/nC+04LQ6mEcK57QLvNBesqpZbWlXnJ4=", + "description": "Microsoft Azure Command-Line Tools DataShareManagementClient Extension" + }, + "deploy-to-azure": { + "pname": "deploy-to-azure", + "version": "0.2.0", + "url": "https://github.com/Azure/deploy-to-azure-cli-extension/releases/download/20200318.1/deploy_to_azure-0.2.0-py2.py3-none-any.whl", + "hash": "sha256-+SUIDuerw673M9TGMTFwve2qlWmvG5VCc4O8PFnkzrg=", + "description": "Deploy to Azure using Github Actions" + }, + "desktopvirtualization": { + "pname": "desktopvirtualization", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/desktopvirtualization-1.0.0-py3-none-any.whl", + "hash": "sha256-Oh56jw5Xn6If7XcIWbIcI77IuEidg0phQRaVqakMfNQ=", + "description": "Microsoft Azure Command-Line Tools Desktopvirtualization Extension" + }, + "dev-spaces": { + "pname": "dev-spaces", + "version": "1.0.6", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/dev_spaces-1.0.6-py2.py3-none-any.whl", + "hash": "sha256-cQQYCLJ82dM/2QXFCAyX9hKRgW8t3dbc2y5muftuv1k=", + "description": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams" + }, + "devcenter": { + "pname": "devcenter", + "version": "6.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/devcenter-6.0.1-py3-none-any.whl", + "hash": "sha256-JePc3Jy4MkPOsu1qbe3CJ5U8BsthC6lchN3sD3UDIk8=", + "description": "Microsoft Azure Command-Line Tools DevCenter Extension" + }, + "diskpool": { + "pname": "diskpool", + "version": "0.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/diskpool-0.2.0-py3-none-any.whl", + "hash": "sha256-muaq6oWhdSnaKk5RwroqulW0smgW1WGOr9D5/cQ7Z7c=", + "description": "Microsoft Azure Command-Line Tools StoragePoolManagement Extension" + }, + "dms-preview": { + "pname": "dms-preview", + "version": "0.15.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/dms_preview-0.15.0-py2.py3-none-any.whl", + "hash": "sha256-VWwUXAO41SnY5397NXAvuN44KJFjXoWPkoEX8zaI7pw=", + "description": "Support for new Database Migration Service scenarios" + }, + "dnc": { + "pname": "dnc", + "version": "0.2.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/dnc-0.2.1-py3-none-any.whl", + "hash": "sha256-44R0ypsovtXd44jPc9/541BIJQMrA8W/iTDCXK8pICY=", + "description": "Microsoft Azure Command-Line Tools Dnc Extension" + }, + "dns-resolver": { + "pname": "dns-resolver", + "version": "0.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/dns_resolver-0.2.0-py3-none-any.whl", + "hash": "sha256-HEu4IW5QnC8I+nXEWTDsN3doMm8wy5qxJYQqqTUsbi4=", + "description": "Microsoft Azure Command-Line Tools DnsResolverManagementClient Extension" + }, + "durabletask": { + "pname": "durabletask", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/durabletask-1.0.0b1-py3-none-any.whl", + "hash": "sha256-16kpspSSjfedgxL79q9yxdko4wTEp7N9rz/3cmZ9+yU=", + "description": "Microsoft Azure Command-Line Tools Durabletask Extension" + }, + "dynatrace": { + "pname": "dynatrace", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/dynatrace-0.1.0-py3-none-any.whl", + "hash": "sha256-ESp+QjRh0bb3w4X+i3O08rhQ4lcMNaVKS7zC6Hr+xmE=", + "description": "Microsoft Azure Command-Line Tools Dynatrace Extension" + }, + "edgeorder": { + "pname": "edgeorder", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/edgeorder-0.1.0-py3-none-any.whl", + "hash": "sha256-GGoG0PhgP34Pru1SluzHO/EJbg1oGs6kLV68zBZwNXs=", + "description": "Microsoft Azure Command-Line Tools EdgeOrderManagementClient Extension" + }, + "edgezones": { + "pname": "edgezones", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/edgezones-1.0.0b1-py3-none-any.whl", + "hash": "sha256-mPG5Yty7B4z7jNEtQKWNAbzDfbRBVw+E4pO6C6UsbAg=", + "description": "Microsoft Azure Command-Line Tools Edgezones Extension" + }, + "elastic": { + "pname": "elastic", + "version": "1.0.0b3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/elastic-1.0.0b3-py3-none-any.whl", + "hash": "sha256-LzrkMNPDTdQAfIxag3SWNWjMI1WIckZCQoEcxaJuLec=", + "description": "Microsoft Azure Command-Line Tools MicrosoftElastic Extension" + }, + "elastic-san": { + "pname": "elastic-san", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/elastic_san-1.0.0b2-py3-none-any.whl", + "hash": "sha256-bS8SR6545DHUg0mJ31gc0hJB0WuXBxv2cvuLce461wI=", + "description": "Microsoft Azure Command-Line Tools ElasticSan Extension" + }, + "eventgrid": { + "pname": "eventgrid", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/eventgrid-1.0.0b1-py2.py3-none-any.whl", + "hash": "sha256-Ziyio4Hvz4IaFmSP87ie2+IfTpiH4Y/6fuDbuvAzLt4=", + "description": "Microsoft Azure Command-Line Tools EventGrid Command Module" + }, + "express-route-cross-connection": { + "pname": "express-route-cross-connection", + "version": "0.1.1", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/express_route_cross_connection-0.1.1-py2.py3-none-any.whl", + "hash": "sha256-uD9yO6rg6gRVeofzWPohMbrxXUXNOrp6mrQtFOyA3zg=", + "description": "Manage customer ExpressRoute circuits using an ExpressRoute cross-connection" + }, + "firmwareanalysis": { + "pname": "firmwareanalysis", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/firmwareanalysis-1.0.0-py3-none-any.whl", + "hash": "sha256-HD3xRB3nbtsIvtBawnndKwK9b6tooLmkld/X7M4+kss=", + "description": "Microsoft Azure Command-Line Tools Firmwareanalysis Extension" + }, + "fleet": { + "pname": "fleet", + "version": "1.4.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-1.4.0-py3-none-any.whl", + "hash": "sha256-HYOpAAyHn/Gpor/y6iMYOrYeNCcT3+22YjRVk7FlhDg=", + "description": "Microsoft Azure Command-Line Tools Fleet Extension" + }, + "fluid-relay": { + "pname": "fluid-relay", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/fluid_relay-0.1.0-py3-none-any.whl", + "hash": "sha256-khdmb4E0o44JrtqQXnzIOZQzKlq1Y+yJNbn/bJFWPow=", + "description": "Microsoft Azure Command-Line Tools FluidRelay Extension" + }, + "footprint": { + "pname": "footprint", + "version": "1.0.0", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/footprint-1.0.0-py3-none-any.whl", + "hash": "sha256-SqWSiL9Gz9aFGfH39j0+M68W2AYyuEwoPMcVISkmCyw=", + "description": "Microsoft Azure Command-Line Tools FootprintMonitoringManagementClient Extension" + }, + "front-door": { + "pname": "front-door", + "version": "1.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-1.2.0-py3-none-any.whl", + "hash": "sha256-Iyunss0kJA1Ohtgg5fp4oRFDs6Yk7ZU6NFEhBQDt++A=", + "description": "Manage networking Front Doors" + }, + "fzf": { + "pname": "fzf", + "version": "1.0.2", + "url": "https://pahealyfzf.blob.core.windows.net/fzf/fzf-1.0.2-py2.py3-none-any.whl", + "hash": "sha256-hKvu0DtLv6e4wL4I2TZv8wQOIWDfT1pTnw4cngocNZw=", + "description": "Microsoft Azure Command-Line Tools fzf Extension" + }, + "gallery-service-artifact": { + "pname": "gallery-service-artifact", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/gallery_service_artifact-1.0.0b1-py3-none-any.whl", + "hash": "sha256-PzDj6OfmeP2auRsiYfuRijA804JiZQnT8A6G8ZZ3UMY=", + "description": "Microsoft Azure Command-Line Tools GalleryServiceArtifact Extension" + }, + "graphservices": { + "pname": "graphservices", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/graphservices-1.0.0b1-py3-none-any.whl", + "hash": "sha256-iu2jkB6USwOPToErC3CZeY0r2C1V4D54UBelBMFFg+U=", + "description": "Microsoft Azure Command-Line Tools Graphservices Extension" + }, + "guestconfig": { + "pname": "guestconfig", + "version": "0.1.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/guestconfig-0.1.1-py3-none-any.whl", + "hash": "sha256-lINqXSHuEHHNQLFj0sgMMqaoG53IXZE3H35Ps1FB4nM=", + "description": "Microsoft Azure Command-Line Tools GuestConfigurationClient Extension" + }, + "hack": { + "pname": "hack", + "version": "0.4.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hack-0.4.3-py2.py3-none-any.whl", + "hash": "sha256-+eYARX46n//DI1p7MBdtnwp/TTmsAeo+Jmi8ve5jmKY=", + "description": "Microsoft Azure Command-Line Tools Hack Extension" + }, + "hardware-security-modules": { + "pname": "hardware-security-modules", + "version": "0.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hardware_security_modules-0.2.0-py3-none-any.whl", + "hash": "sha256-rEoQ4sxkpNCBjkj/vN3+tDB91WuIdbwBwCaH1HPJ/ps=", + "description": "Microsoft Azure Command-Line Tools AzureDedicatedHSMResourceProvider Extension" + }, + "hdinsightonaks": { + "pname": "hdinsightonaks", + "version": "1.0.0b3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hdinsightonaks-1.0.0b3-py3-none-any.whl", + "hash": "sha256-9Um4UQe3uD/2T8+lyQpdfpAKXqLv527smx+BaJ5Yw2U=", + "description": "Microsoft Azure Command-Line Tools Hdinsightonaks Extension" + }, + "healthbot": { + "pname": "healthbot", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/healthbot-0.1.0-py3-none-any.whl", + "hash": "sha256-kTT60lEVFucUpds0bWOGWvC63wWZrePxwV+soAVVhaM=", + "description": "Microsoft Azure Command-Line Tools HealthbotClient Extension" + }, + "healthcareapis": { + "pname": "healthcareapis", + "version": "0.4.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.4.0-py3-none-any.whl", + "hash": "sha256-ol19V9T9OtzDdYHQrMHWxqRtzQNRkz7TfPup0avWCXg=", + "description": "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension" + }, + "hpc-cache": { + "pname": "hpc-cache", + "version": "0.1.5", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-0.1.5-py2.py3-none-any.whl", + "hash": "sha256-hSy0F6rfCtB+PFFBOFjEE79x6my0m6WCidlXL5o1BQc=", + "description": "Microsoft Azure Command-Line Tools StorageCache Extension" + }, + "image-copy-extension": { + "pname": "image-copy-extension", + "version": "0.2.13", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_copy_extension-0.2.13-py2.py3-none-any.whl", + "hash": "sha256-sNEr88dFAHkNWNmabDJWJUhxLLhyt5QuitSB4nBSGxk=", + "description": "Support for copying managed vm images between regions" + }, + "image-gallery": { + "pname": "image-gallery", + "version": "0.1.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/image_gallery-0.1.3-py2.py3-none-any.whl", + "hash": "sha256-YmDB9L+1idK6BWkxc1ihScqru9SaBI5pMo5EhxaUqs0=", + "description": "Support for Azure Image Gallery" + }, + "import-export": { + "pname": "import-export", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/import_export-1.0.0b1-py3-none-any.whl", + "hash": "sha256-xONvEAMDGmdhWkXNElkr9cEcVLe9lX9sKvkO/LXFF7I=", + "description": "Microsoft Azure Command-Line Tools StorageImportExport Extension" + }, + "informatica": { + "pname": "informatica", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/informatica-1.0.0b1-py3-none-any.whl", + "hash": "sha256-YWaukceOdMAa870erS1igycH4XbqD31dMKXdSF9IJGI=", + "description": "Microsoft Azure Command-Line Tools Informatica Extension" + }, + "init": { + "pname": "init", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/init-0.1.0-py3-none-any.whl", + "hash": "sha256-EXf8KT3BGLRJt2HsLHKNOXVfw5Od6NS/2JzOG/shjoY=", + "description": "Microsoft Azure Command-Line Tools Init Extension" + }, + "internet-analyzer": { + "pname": "internet-analyzer", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/internet_analyzer-1.0.0b1-py2.py3-none-any.whl", + "hash": "sha256-RWSIGnyQus/YgcYppBgjmAB8iG0JnqiNuX4f8QBTpcQ=", + "description": "Microsoft Azure Command-Line Tools Internet Analyzer Extension" + }, + "ip-group": { + "pname": "ip-group", + "version": "0.1.2", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-0.1.2-py2.py3-none-any.whl", + "hash": "sha256-r7otiophKGO2P1BNbP9tVZYQuWHkx33C/Um5/gPsZ6I=", + "description": "Microsoft Azure Command-Line Tools IpGroup Extension" + }, + "k8s-extension": { + "pname": "k8s-extension", + "version": "1.6.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.6.1-py3-none-any.whl", + "hash": "sha256-QYYdZbnYbgtiKYakmEznphH4e5LaV424wFJ+x0M08yw=", + "description": "Microsoft Azure Command-Line Tools K8s-extension Extension" + }, + "k8s-runtime": { + "pname": "k8s-runtime", + "version": "1.0.4", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_runtime-1.0.4-py3-none-any.whl", + "hash": "sha256-ruLTAI2BjXg0IUnm8dLHkiq7vkPzI9UebNWMc7HGezo=", + "description": "Microsoft Azure Command-Line Tools K8sRuntime Extension" + }, + "kusto": { + "pname": "kusto", + "version": "0.5.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/kusto-0.5.0-py3-none-any.whl", + "hash": "sha256-z1cp6dAgKaGJGCUjVDKFyXN9UV9BxhDIM41D+HL58B0=", + "description": "Microsoft Azure Command-Line Tools KustoManagementClient Extension" + }, + "log-analytics": { + "pname": "log-analytics", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/log_analytics-1.0.0b1-py2.py3-none-any.whl", + "hash": "sha256-zNNqjKaXnFSdt9f9eACZB+nnvCsJQ3iF292LEHyxW2Y=", + "description": "Support for Azure Log Analytics query capabilities" + }, + "log-analytics-solution": { + "pname": "log-analytics-solution", + "version": "1.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/log_analytics_solution-1.0.1-py2.py3-none-any.whl", + "hash": "sha256-fhBEPehizQwZCQsKDa5emULotIwg46nDMFd42qdW6pY=", + "description": "Support for Azure Log Analytics Solution" + }, + "logic": { + "pname": "logic", + "version": "1.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/logic-1.1.0-py3-none-any.whl", + "hash": "sha256-FMGHaMAu6cNwrH7tDyMgbu59NEoQOCowg7F7XhhIz80=", + "description": "Microsoft Azure Command-Line Tools Logic Extension" + }, + "logz": { + "pname": "logz", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/logz-0.1.0-py3-none-any.whl", + "hash": "sha256-apN9u4xadYspr9Rez8EBdDpb8kkfL7pg6OpRLVt2WEA=", + "description": "Microsoft Azure Command-Line Tools MicrosoftLogz Extension" + }, + "maintenance": { + "pname": "maintenance", + "version": "1.6.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/maintenance-1.6.0-py3-none-any.whl", + "hash": "sha256-Orai2sSLpxsovI7gXSVNqnK2L4TdqVN0n6YhqAyjmuU=", + "description": "Microsoft Azure Command-Line Tools MaintenanceManagementClient Extension" + }, + "managedccfs": { + "pname": "managedccfs", + "version": "0.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/managedccfs-0.2.0-py3-none-any.whl", + "hash": "sha256-N49CXzVCA3PpcDpdyMDwXKgXb7hASzhhDU3oKPfCPTc=", + "description": "Microsoft Azure Command-Line Tools Managedccfs Extension" + }, + "managednetworkfabric": { + "pname": "managednetworkfabric", + "version": "6.4.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/managednetworkfabric-6.4.0-py3-none-any.whl", + "hash": "sha256-nUEHjgZUqq42pfDyg/Ud6YzENgWCkgU2VCVG7TTKC8Q=", + "description": "Support for managednetworkfabric commands based on 2023-06-15 API version" + }, + "managementpartner": { + "pname": "managementpartner", + "version": "0.1.3", + "url": "https://azurecliprod.blob.core.windows.net/cli-extensions/managementpartner-0.1.3-py2.py3-none-any.whl", + "hash": "sha256-It30sc3HfpkmLLYInE2WBABlgoodOKJwn9uUXTyFGDk=", + "description": "Support for Management Partner preview" + }, + "mdp": { + "pname": "mdp", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/mdp-1.0.0b2-py3-none-any.whl", + "hash": "sha256-BirQJtnq95G1koxPt5MUjUDGwpfO4y8XXNOhVesk2T8=", + "description": "Microsoft Azure Command-Line Tools Mdp Extension" + }, + "microsoft-fabric": { + "pname": "microsoft-fabric", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/microsoft_fabric-1.0.0b1-py3-none-any.whl", + "hash": "sha256-i6RQpaPar6i5trbp7oIk9Gj9lyMy6QUADyrMf/AM2bs=", + "description": "Microsoft Azure Command-Line Tools Microsoft Fabric Extension" + }, + "mixed-reality": { + "pname": "mixed-reality", + "version": "0.0.5", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/mixed_reality-0.0.5-py2.py3-none-any.whl", + "hash": "sha256-AmqvWPmtAtdIN9IaH1wSImSlmBTgt8OVwm5f3BKTGH4=", + "description": "Mixed Reality Azure CLI Extension" + }, + "mobile-network": { + "pname": "mobile-network", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/mobile_network-1.0.0-py3-none-any.whl", + "hash": "sha256-LZVypO1wbfj2JsYgNq0i9GoVsRMnP4/5sGMTo4Cif1Y=", + "description": "Microsoft Azure Command-Line Tools MobileNetwork Extension" + }, + "monitor-control-service": { + "pname": "monitor-control-service", + "version": "1.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/monitor_control_service-1.2.0-py3-none-any.whl", + "hash": "sha256-MVGjQYRdBTpL5F2bfATh4VuIUDq2sRAWOhK5rub9PNk=", + "description": "Microsoft Azure Command-Line Tools MonitorClient Extension" + }, + "monitor-pipeline-group": { + "pname": "monitor-pipeline-group", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/monitor_pipeline_group-1.0.0b1-py3-none-any.whl", + "hash": "sha256-zzH54/qUWHFvDD0cFWmO95twfFvX0UZ3PSsq/kLmTCk=", + "description": "Microsoft Azure Command-Line Tools MonitorPipelineGroup Extension" + }, + "multicloud-connector": { + "pname": "multicloud-connector", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/multicloud_connector-1.0.0b1-py3-none-any.whl", + "hash": "sha256-rYQ1AWKuh3KH+KFRkgs8S9xjdd1BndYQHCcC22BqXRk=", + "description": "Microsoft Azure Command-Line Tools MulticloudConnector Extension" + }, + "network-analytics": { + "pname": "network-analytics", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/network_analytics-1.0.0b1-py3-none-any.whl", + "hash": "sha256-yNfhlfkTKYrAPvjrH41/sJUmlW0+t1CozUR66PYdQxc=", + "description": "Microsoft Azure Command-Line Tools NetworkAnalytics Extension" + }, + "networkcloud": { + "pname": "networkcloud", + "version": "2.0.0b4", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/networkcloud-2.0.0b4-py3-none-any.whl", + "hash": "sha256-BnB6AIQFc5pWOSMPP9CUAxCEpp+GdkhQOu1AOdEYrZ8=", + "description": "Support for Azure Operator Nexus network cloud commands based on 2024-07-01 API version" + }, + "new-relic": { + "pname": "new-relic", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/new_relic-1.0.0b1-py3-none-any.whl", + "hash": "sha256-nOafFoTOoUrLoPL9tHPkfgoGdF44O7UUSVTF6F5BYZk=", + "description": "Microsoft Azure Command-Line Tools NewRelic Extension" + }, + "next": { + "pname": "next", + "version": "0.1.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/next-0.1.3-py2.py3-none-any.whl", + "hash": "sha256-g8TgNCfxkCA+CUwU5PfnnOyYnxJ34WuSVruf5oiqXgc=", + "description": "Microsoft Azure Command-Line Tools Next Extension" + }, + "nginx": { + "pname": "nginx", + "version": "2.0.0b6", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/nginx-2.0.0b6-py2.py3-none-any.whl", + "hash": "sha256-2U93wSzmlFyCP376hCOOOYta7IeBVrvfMRLw3vHriWA=", + "description": "Microsoft Azure Command-Line Tools Nginx Extension" + }, + "notification-hub": { + "pname": "notification-hub", + "version": "1.0.0a1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/notification_hub-1.0.0a1-py3-none-any.whl", + "hash": "sha256-oDdRtxVwDg0Yo46Ai/7tFkM1AkyWCMS/1TrqzHMdEJk=", + "description": "Microsoft Azure Command-Line Tools Notification Hub Extension" + }, + "nsp": { + "pname": "nsp", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/nsp-1.0.0b2-py3-none-any.whl", + "hash": "sha256-/r/OOPxEnapnx62EEOf6JQ9/Oa+1+HBJbOBFu3STW80=", + "description": "Microsoft Azure Command-Line Tools Nsp Extension" + }, + "offazure": { + "pname": "offazure", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/offazure-0.1.0-py3-none-any.whl", + "hash": "sha256-GRiBcHCungzu9XuTNm0Ytui/V3/WMufamZ4eKru1NlY=", + "description": "Microsoft Azure Command-Line Tools AzureMigrateV2 Extension" + }, + "oracle-database": { + "pname": "oracle-database", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/oracle_database-1.0.0b1-py3-none-any.whl", + "hash": "sha256-BYw95sHhA/8MYqGIscYGo1CXpmUst+tsPlt3934VtbE=", + "description": "Microsoft Azure Command-Line Tools OracleDatabase Extension" + }, + "orbital": { + "pname": "orbital", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/orbital-0.1.0-py3-none-any.whl", + "hash": "sha256-Qln7j/VgRA1jJRzJchuz8ig0UvI5kTRRRhH4hvo1Dzc=", + "description": "Microsoft Azure Command-Line Tools Orbital Extension" + }, + "palo-alto-networks": { + "pname": "palo-alto-networks", + "version": "1.1.1b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/palo_alto_networks-1.1.1b1-py3-none-any.whl", + "hash": "sha256-jU9qS3I2a9V3gL0VjWwls2OZnhoT6oXUkYCcyaTSlgg=", + "description": "Microsoft Azure Command-Line Tools PaloAltoNetworks Extension" + }, + "peering": { + "pname": "peering", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/peering-1.0.0-py3-none-any.whl", + "hash": "sha256-/k47qFwfZZZqBZKR5G6+t8lW8o2isVtUGwSSdltiOZI=", + "description": "Microsoft Azure Command-Line Tools PeeringManagementClient Extension" + }, + "portal": { + "pname": "portal", + "version": "0.1.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/portal-0.1.3-py3-none-any.whl", + "hash": "sha256-PD6+I/WdtfLShspSz4z7vFmDzoBzYi3hGjXauVgAqZY=", + "description": "Microsoft Azure Command-Line Tools Portal Extension" + }, + "powerbidedicated": { + "pname": "powerbidedicated", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/powerbidedicated-1.0.0b1-py2.py3-none-any.whl", + "hash": "sha256-4eWLtvV+3eR5P0xmoMEKJ3b4QhcoeBYjhfKx0hU53m4=", + "description": "Microsoft Azure Command-Line Tools PowerBIDedicated Extension" + }, + "providerhub": { + "pname": "providerhub", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/providerhub-1.0.0b1-py3-none-any.whl", + "hash": "sha256-e5PLfssfo6UgkJ1F5uZZfIun2qxPvBomw95mBDZ43Q0=", + "description": "Microsoft Azure Command-Line Tools ProviderHub Extension" + }, + "purview": { + "pname": "purview", + "version": "0.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/purview-0.1.0-py3-none-any.whl", + "hash": "sha256-cGzCVQ+9B7i2djRcLybFumZVCQW8jsIkxsTlY3xJcmY=", + "description": "Microsoft Azure Command-Line Tools PurviewManagementClient Extension" + }, + "qumulo": { + "pname": "qumulo", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/qumulo-1.0.0-py3-none-any.whl", + "hash": "sha256-mXP1gKP8IMwv5VWKHP3BDd/GVnmC0S83AIu/7Hqvz5s=", + "description": "Microsoft Azure Command-Line Tools Qumulo Extension" + }, + "quota": { + "pname": "quota", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/quota-1.0.0-py3-none-any.whl", + "hash": "sha256-i0w0dd8MNUTbzCjkh161sWPXK0Cv9CUKr9rZQYDD+ZU=", + "description": "Microsoft Azure Command-Line Tools AzureQuotaExtensionAPI Extension" + }, + "redisenterprise": { + "pname": "redisenterprise", + "version": "1.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/redisenterprise-1.2.0-py3-none-any.whl", + "hash": "sha256-bndtRkr6r2ZFbXuObTarGhLxkFRhdHnqjxNjPTpJ/6w=", + "description": "Microsoft Azure Command-Line Tools RedisEnterprise Extension" + }, + "reservation": { + "pname": "reservation", + "version": "0.3.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/reservation-0.3.1-py3-none-any.whl", + "hash": "sha256-ZJ8IawIwXRQvLwjqlvUqMioWWm8qlY8yh/U1UJOKuRI=", + "description": "Microsoft Azure Command-Line Tools Reservation Extension" + }, + "resource-graph": { + "pname": "resource-graph", + "version": "2.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/resource_graph-2.1.0-py2.py3-none-any.whl", + "hash": "sha256-YsgePWLOYMWgpIWCnQC9sMczFF7pP7YJjBTjsn7ifEA=", + "description": "Support for querying Azure resources with Resource Graph" + }, + "resource-mover": { + "pname": "resource-mover", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/resource_mover-1.0.0b1-py3-none-any.whl", + "hash": "sha256-O8n0GqMMT2vAT/eA3DDo3wW/yIfyrb356J1Z+DieVfM=", + "description": "Microsoft Azure Command-Line Tools ResourceMoverServiceAPI Extension" + }, + "sap-hana": { + "pname": "sap-hana", + "version": "0.6.5", + "url": "https://github.com/Azure/azure-hanaonazure-cli-extension/releases/download/0.6.5/sap_hana-0.6.5-py2.py3-none-any.whl", + "hash": "sha256-tFVMEl86DrXIkc7DludwX26R1NgXiazvIOPE0XL6RUM=", + "description": "Additional commands for working with SAP HanaOnAzure instances" + }, + "scenario-guide": { + "pname": "scenario-guide", + "version": "0.1.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/scenario_guide-0.1.1-py3-none-any.whl", + "hash": "sha256-QmS0i0uYAzRIij/bO8QyQegoonQsNc5ImF876/AZ6Pg=", + "description": "Microsoft Azure Command-Line Tools Scenario Guidance Extension" + }, + "scheduled-query": { + "pname": "scheduled-query", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-1.0.0b1-py2.py3-none-any.whl", + "hash": "sha256-/V5p0EOLgInb4ZfVukxBd2rtkGlBysN0dVpMkETErwQ=", + "description": "Microsoft Azure Command-Line Tools Scheduled_query Extension" + }, + "scvmm": { + "pname": "scvmm", + "version": "1.1.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/scvmm-1.1.1-py2.py3-none-any.whl", + "hash": "sha256-fXBFeLxetguBBd4LSpJBdlgaTPL9FisIltgSRvf3Omg=", + "description": "Microsoft Azure Command-Line Tools SCVMM Extension" + }, + "self-help": { + "pname": "self-help", + "version": "0.4.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/self_help-0.4.0-py3-none-any.whl", + "hash": "sha256-jJA6rxDWy2HmRV9gEN7utJbR4j1odmYgiSZqSUA1hrY=", + "description": "Microsoft Azure Command-Line Tools SelfHelp Extension" + }, + "sentinel": { + "pname": "sentinel", + "version": "0.2.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/sentinel-0.2.0-py3-none-any.whl", + "hash": "sha256-VRFUS040KwOkpCY2F8YD2HRCrVF5zp2MDR/RCRX5O3o=", + "description": "Microsoft Azure Command-Line Tools Sentinel Extension" + }, + "site-recovery": { + "pname": "site-recovery", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/site_recovery-1.0.0-py3-none-any.whl", + "hash": "sha256-qxkULJouBhkLbawnLYzynhecnig/ll+OOk0pJ1uEfOU=", + "description": "Microsoft Azure Command-Line Tools SiteRecovery Extension" + }, + "spring": { + "pname": "spring", + "version": "1.25.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/spring-1.25.1-py3-none-any.whl", + "hash": "sha256-nrim8vd7Gcn5gJUmu3AQdlkN2zX2suxDHOMYuWzEBzM=", + "description": "Microsoft Azure Command-Line Tools spring Extension" + }, + "spring-cloud": { + "pname": "spring-cloud", + "version": "3.1.8", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.1.8-py3-none-any.whl", + "hash": "sha256-FJk6vjUkwopCsum6DwqKcIMWK6kXSXXgnYzqg0uYKe4=", + "description": "Microsoft Azure Command-Line Tools spring-cloud Extension" + }, + "stack-hci": { + "pname": "stack-hci", + "version": "1.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci-1.1.0-py3-none-any.whl", + "hash": "sha256-m7A1D2worCBopaSiC7z3SuNLOS0F6xSMQDxhhSXLre8=", + "description": "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension" + }, + "stack-hci-vm": { + "pname": "stack-hci-vm", + "version": "1.3.0", + "url": "https://hciarcvmsstorage.z13.web.core.windows.net/cli-extensions/stack_hci_vm-1.3.0-py3-none-any.whl", + "hash": "sha256-GVU+UNWcr8wZFmvn6RvkPHJferrh2DOJFPjmBDhT/Ak=", + "description": "Microsoft Azure Command-Line Tools Stack-HCi-VM Extension" + }, + "standbypool": { + "pname": "standbypool", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/standbypool-1.0.0b1-py3-none-any.whl", + "hash": "sha256-RMA+MgyLSfUjkOPBHWGyWmev7/wY1iuqUiw3MULeDhU=", + "description": "Microsoft Azure Command-Line Tools Standbypool Extension" + }, + "staticwebapp": { + "pname": "staticwebapp", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/staticwebapp-1.0.0-py3-none-any.whl", + "hash": "sha256-+x3Nh2/C2CnMehzFRelEU2TUM1fYiLs97rNqcWuAVxc=", + "description": "Microsoft Azure Command-Line Tools Staticwebapp Extension" + }, + "storage-actions": { + "pname": "storage-actions", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_actions-1.0.0b1-py3-none-any.whl", + "hash": "sha256-B8W+JW7bviyB2DnkxtPZF6Vrk5IVFQKM+WI5PhF2Mxs=", + "description": "Microsoft Azure Command-Line Tools StorageActions Extension" + }, + "storage-blob-preview": { + "pname": "storage-blob-preview", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_blob_preview-1.0.0b1-py2.py3-none-any.whl", + "hash": "sha256-H/5FHkFlfI8ooiq+44c3HRHO3YDS5Sz8vtCtrAqRe0E=", + "description": "Microsoft Azure Command-Line Tools Storage-blob-preview Extension" + }, + "storage-mover": { + "pname": "storage-mover", + "version": "1.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_mover-1.1.0-py3-none-any.whl", + "hash": "sha256-fXaKylCqmJeKDZKcRs/+YL9IilJ2ZUhdpjGzNETK4kw=", + "description": "Microsoft Azure Command-Line Tools StorageMover Extension" + }, + "storagesync": { + "pname": "storagesync", + "version": "1.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/storagesync-1.0.1-py2.py3-none-any.whl", + "hash": "sha256-fyupGnpEdB9DhLRLp86nOooDtdOFtDQEy0lR3S6l3Fo=", + "description": "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension" + }, + "stream-analytics": { + "pname": "stream-analytics", + "version": "1.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/stream_analytics-1.0.0-py3-none-any.whl", + "hash": "sha256-FUQ/2Kc9MZpcn7xYbJcn0c4aMeEf0/PH5Py8l60Haqo=", + "description": "Microsoft Azure Command-Line Tools StreamAnalyticsManagementClient Extension" + }, + "subscription": { + "pname": "subscription", + "version": "0.1.5", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/subscription-0.1.5-py2.py3-none-any.whl", + "hash": "sha256-/3iWrrxGhiptMKxfTPZL3UDLUOVDfOoplZCJbXXxAT4=", + "description": "Support for subscription management preview" + }, + "support": { + "pname": "support", + "version": "2.0.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/support-2.0.0-py2.py3-none-any.whl", + "hash": "sha256-Xd6X+PsS6qJYUw9o7CyuAKlX8wR5g16fXtBXlAMSdBo=", + "description": "Microsoft Azure Command-Line Tools Support Extension" + }, + "terraform": { + "pname": "terraform", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/terraform-1.0.0b1-py3-none-any.whl", + "hash": "sha256-gP3iuJa3B/2D+DghgJaCB5vTuwMqqcsEug0llbNnPyc=", + "description": "Microsoft Azure Command-Line Tools Terraform Extension" + }, + "timeseriesinsights": { + "pname": "timeseriesinsights", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/timeseriesinsights-1.0.0b1-py3-none-any.whl", + "hash": "sha256-xXiASmz7tO+KuR3iEwu6j2E58vrepO0eOLBepix6qV0=", + "description": "Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension" + }, + "traffic-collector": { + "pname": "traffic-collector", + "version": "0.1.3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/traffic_collector-0.1.3-py3-none-any.whl", + "hash": "sha256-oUSk/aO86E2yIne9hhEISuGuOeC7jHtQYZ7DeHEfV7o=", + "description": "Microsoft Azure Command-Line Tools TrafficCollector Extension" + }, + "trustedsigning": { + "pname": "trustedsigning", + "version": "1.0.0b2", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/trustedsigning-1.0.0b2-py3-none-any.whl", + "hash": "sha256-w66GnBNxSTGAue1x2wvcOEK61UyIMr62AHEY0mvtceg=", + "description": "Microsoft Azure Command-Line Tools Trustedsigning Extension" + }, + "virtual-network-manager": { + "pname": "virtual-network-manager", + "version": "1.3.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_manager-1.3.0-py3-none-any.whl", + "hash": "sha256-8W+ZL5j9A8AdzvikD5uE3iNn/56IULSGY6m7HLVbe9Q=", + "description": "Microsoft Azure Command-Line Tools NetworkManagementClient Extension" + }, + "virtual-network-tap": { + "pname": "virtual-network-tap", + "version": "1.0.0b1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_tap-1.0.0b1-py2.py3-none-any.whl", + "hash": "sha256-7l9tz8CfwJ4MO704a007xswfij3ejtVQgE9D7Uw8t7o=", + "description": "Manage virtual network taps (VTAP)" + }, + "virtual-wan": { + "pname": "virtual-wan", + "version": "1.0.1", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_wan-1.0.1-py2.py3-none-any.whl", + "hash": "sha256-LbbCU9Q4YtBqRSUHPWe2Hx00t8iDIWK9Owv//SS5raY=", + "description": "Manage virtual WAN, hubs, VPN gateways and VPN sites" + }, + "vmware": { + "pname": "vmware", + "version": "7.1.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-7.1.0-py2.py3-none-any.whl", + "hash": "sha256-U9yLHYA814TmaMTU1jDewgOQQGr0YmbfCGD1SKXCH50=", + "description": "Azure VMware Solution commands" + }, + "webapp": { + "pname": "webapp", + "version": "0.4.0", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/webapp-0.4.0-py2.py3-none-any.whl", + "hash": "sha256-kIsN8HzvZSF2oPK/D9z1i10W+0kD7jwG9z8Ls5E6XA8=", + "description": "Additional commands for Azure AppService" + }, + "workloads": { + "pname": "workloads", + "version": "1.1.0b3", + "url": "https://azcliprod.blob.core.windows.net/cli-extensions/workloads-1.1.0b3-py3-none-any.whl", + "hash": "sha256-pzc7LTdmxDs8rq/A7du0kkKXULYsePdndgubC0I2MgY=", + "description": "Microsoft Azure Command-Line Tools Workloads Extension" + } +} From 692651eafa7f000aeed1d7a777675e232e6b2f89 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 31 Oct 2024 15:15:32 +0100 Subject: [PATCH 3/6] azure-cli-extensions: consume extensions from json Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com> --- .../az/azure-cli/extensions-generated.nix | 1090 ----------------- pkgs/by-name/az/azure-cli/package.nix | 20 +- 2 files changed, 11 insertions(+), 1099 deletions(-) delete mode 100644 pkgs/by-name/az/azure-cli/extensions-generated.nix diff --git a/pkgs/by-name/az/azure-cli/extensions-generated.nix b/pkgs/by-name/az/azure-cli/extensions-generated.nix deleted file mode 100644 index 9dbfdb00dc950..0000000000000 --- a/pkgs/by-name/az/azure-cli/extensions-generated.nix +++ /dev/null @@ -1,1090 +0,0 @@ -# This file is automatically generated. DO NOT EDIT! Read README.md -{ mkAzExtension }: -{ - acat = mkAzExtension rec { - pname = "acat"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/acat-${version}-py3-none-any.whl"; - sha256 = "9c228e93fdda531137ba6e5abad2b48577cf58512e4be0dee51cef111267327a"; - description = "Microsoft Azure Command-Line Tools Acat Extension"; - }; - account = mkAzExtension rec { - pname = "account"; - version = "0.2.5"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/account-${version}-py3-none-any.whl"; - sha256 = "0b94df323acfc48ea3141904649106bb85695187dbf63aa3b8448ec12bc00c23"; - description = "Microsoft Azure Command-Line Tools SubscriptionClient Extension"; - }; - acrquery = mkAzExtension rec { - pname = "acrquery"; - version = "1.0.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/acrquery-${version}-py3-none-any.whl"; - sha256 = "9094137a4d08f2ede7b662c99df0665f338aae7bcaf4976bed5d42df754571f1"; - description = "Microsoft Azure Command-Line Tools AcrQuery Extension"; - }; - acrtransfer = mkAzExtension rec { - pname = "acrtransfer"; - version = "1.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/acrtransfer-${version}-py3-none-any.whl"; - sha256 = "668b94d0341b663a610212f318b899a53be60ae0eb59c47e162f5dabd3483551"; - description = "Microsoft Azure Command-Line Tools Acrtransfer Extension"; - }; - ad = mkAzExtension rec { - pname = "ad"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/ad-${version}-py3-none-any.whl"; - sha256 = "61df234e10759e9916c1d447ab02b82637de10fd97c31a17252e1f5183853883"; - description = "Microsoft Azure Command-Line Tools DomainServicesResourceProvider Extension"; - }; - adp = mkAzExtension rec { - pname = "adp"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/adp-${version}-py3-none-any.whl"; - sha256 = "fd64519832f4fd314431f87176507e10249b8d165537f81d05c9ea5185ae84ec"; - description = "Microsoft Azure Command-Line Tools Adp Extension"; - }; - aem = mkAzExtension rec { - pname = "aem"; - version = "0.3.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/aem-${version}-py2.py3-none-any.whl"; - sha256 = "25aaf9006ab1d115d7c484cfda1c9ad0e3617af6d2140db87499aaea81b67ff8"; - description = "Manage Azure Enhanced Monitoring Extensions for SAP"; - }; - ai-examples = mkAzExtension rec { - pname = "ai-examples"; - version = "0.2.5"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/ai_examples-${version}-py2.py3-none-any.whl"; - sha256 = "badbdf5fc2e0b4a85c4124d3fc92859b582adf8f30f5727440ce81942140099a"; - description = "Add AI powered examples to help content"; - }; - aks-preview = mkAzExtension rec { - pname = "aks-preview"; - version = "9.0.0b6"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-${version}-py2.py3-none-any.whl"; - sha256 = "36a215d3a2fdb54b8a977ecab330c3f73c32746368c977364e11fd5cb8e089a4"; - description = "Provides a preview for upcoming AKS features"; - }; - akshybrid = mkAzExtension rec { - pname = "akshybrid"; - version = "0.1.2"; - url = "https://hybridaksstorage.z13.web.core.windows.net/HybridAKS/CLI/akshybrid-${version}-py3-none-any.whl"; - sha256 = "9767cda444c421573bc220e01cd58a67c30a36175cedba68b0454a3c6e983a8e"; - description = "Microsoft Azure Command-Line Tools HybridContainerService Extension"; - }; - alb = mkAzExtension rec { - pname = "alb"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/alb-${version}-py3-none-any.whl"; - sha256 = "b020cd8cd3da6299dc978499dae452768b7651c3ed8e05f2f0b321bd9b8354d4"; - description = "Microsoft Azure Command-Line Tools ALB Extension"; - }; - alertsmanagement = mkAzExtension rec { - pname = "alertsmanagement"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/alertsmanagement-${version}-py3-none-any.whl"; - sha256 = "e1e15aeff1ab9b25fb820b914e602ce84a7d00e5382eb07d413f1492d90b09d1"; - description = "Microsoft Azure Command-Line Tools AlertsManagementClient Extension"; - }; - amg = mkAzExtension rec { - pname = "amg"; - version = "2.4.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/amg-${version}-py3-none-any.whl"; - sha256 = "624ca8c847ce93ecc839ee428115d09b263c4ece7c52da0abef38893645111d6"; - description = "Microsoft Azure Command-Line Tools Azure Managed Grafana Extension"; - }; - amlfs = mkAzExtension rec { - pname = "amlfs"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/amlfs-${version}-py3-none-any.whl"; - sha256 = "21b5a12943e727315288aa0ca1c49a25803a656b7f388c3c637596cfdf67bd1d"; - description = "Microsoft Azure Command-Line Tools Amlfs Extension"; - }; - apic-extension = mkAzExtension rec { - pname = "apic-extension"; - version = "1.0.0b5"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/apic_extension-${version}-py3-none-any.whl"; - sha256 = "fbca1f8446013142d676159b8292fd7c2d3175f39e1baeb5c4d13f9637003254"; - description = "Microsoft Azure Command-Line Tools ApicExtension Extension"; - }; - appservice-kube = mkAzExtension rec { - pname = "appservice-kube"; - version = "0.1.10"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-${version}-py2.py3-none-any.whl"; - sha256 = "7fd72d27e4b0eceda3b2b4f301c7a0c3068fea8b96d70f9fcaad142240de7d0d"; - description = "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension"; - }; - astronomer = mkAzExtension rec { - pname = "astronomer"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/astronomer-${version}-py3-none-any.whl"; - sha256 = "b4ca41b5d9cb77aed2b462ded4a392ae3ce896ce8d9cb94a08671d0cb68176cd"; - description = "Microsoft Azure Command-Line Tools Astronomer Extension"; - }; - authV2 = mkAzExtension rec { - pname = "authV2"; - version = "0.1.3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/authV2-${version}-py3-none-any.whl"; - sha256 = "eb05636f8c78e2f83b7f452fe56f5a9ae496d6909dc36924ae5f98a2fb5bce41"; - description = "Microsoft Azure Command-Line Tools Authv2 Extension"; - }; - automanage = mkAzExtension rec { - pname = "automanage"; - version = "0.1.2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/automanage-${version}-py3-none-any.whl"; - sha256 = "42341a6cfdacb3af0433b10b3e9bcb5226d4c7fb59730378408a957662266551"; - description = "Microsoft Azure Command-Line Tools Automanage Extension"; - }; - automation = mkAzExtension rec { - pname = "automation"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/automation-${version}-py3-none-any.whl"; - sha256 = "d31fe0433fa30a6e009f7b9bee6c417a686ed87502dd987b9ac8ad113383915b"; - description = "Microsoft Azure Command-Line Tools AutomationClient Extension"; - }; - azure-firewall = mkAzExtension rec { - pname = "azure-firewall"; - version = "1.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-${version}-py2.py3-none-any.whl"; - sha256 = "5468cc09b8ea7918176b5e95aa3c24c7ad9b7d1b68c47d16bf522a053fd811e8"; - description = "Manage Azure Firewall resources"; - }; - azurelargeinstance = mkAzExtension rec { - pname = "azurelargeinstance"; - version = "1.0.0b4"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/azurelargeinstance-${version}-py3-none-any.whl"; - sha256 = "6fee478bd919922a0532573fdea3b5422925d374ba6649ea015d4d33941e819a"; - description = "Microsoft Azure Command-Line Tools Azurelargeinstance Extension"; - }; - azurestackhci = mkAzExtension rec { - pname = "azurestackhci"; - version = "0.2.9"; - url = "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-${version}-py3-none-any.whl"; - sha256 = "2557b2fe3fa2f951a2794ba967555ba54c2e93eb75538152f21ab2fb568fef16"; - description = "Microsoft Azure Command-Line Tools AzureStackHCI Extension"; - }; - baremetal-infrastructure = mkAzExtension rec { - pname = "baremetal-infrastructure"; - version = "3.0.0b2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/baremetal_infrastructure-${version}-py3-none-any.whl"; - sha256 = "0e5843e295a27058262e945febc43179ce173ac27ebcfe4456b466b7acb9c220"; - description = "Microsoft Azure Command-Line Tools BaremetalInfrastructure Extension"; - }; - bastion = mkAzExtension rec { - pname = "bastion"; - version = "1.3.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-${version}-py3-none-any.whl"; - sha256 = "151ab25d4dcde10b46c4693cefdaf1d0d5841e15cfe3ec64c089aaaf55e6c8c0"; - description = "Microsoft Azure Command-Line Tools Bastion Extension"; - }; - billing-benefits = mkAzExtension rec { - pname = "billing-benefits"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/billing_benefits-${version}-py3-none-any.whl"; - sha256 = "f71250d1c26690cc0e175cd5c9bcd59e76c7b701bb3a47c8273e4cf8bcca878e"; - description = "Microsoft Azure Command-Line Tools BillingBenefits Extension"; - }; - blueprint = mkAzExtension rec { - pname = "blueprint"; - version = "0.3.2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-${version}-py3-none-any.whl"; - sha256 = "58d3835446dd93e585b0f6b520a2db6551b8a927e35e25da4747d4cf8a4c009b"; - description = "Microsoft Azure Command-Line Tools Blueprint Extension"; - }; - change-analysis = mkAzExtension rec { - pname = "change-analysis"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/change_analysis-${version}-py3-none-any.whl"; - sha256 = "49f1761a1b1ad29169af2ecd5793e10ddec797ebb2610e7c70e1b1ab2b75126a"; - description = "Microsoft Azure Command-Line Tools ChangeAnalysis Extension"; - }; - cli-translator = mkAzExtension rec { - pname = "cli-translator"; - version = "0.3.0"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-${version}-py3-none-any.whl"; - sha256 = "9ea6162d37fc3390be4dce64cb05c5c588070104f3e92a701ab475473565a8a9"; - description = "Translate ARM template to executable Azure CLI scripts"; - }; - compute-diagnostic-rp = mkAzExtension rec { - pname = "compute-diagnostic-rp"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/compute_diagnostic_rp-${version}-py3-none-any.whl"; - sha256 = "810e93ce00c7d03df6da9a0faf57b966fb6da582311f9cae74b2b7e1e3c41423"; - description = "Microsoft Azure Command-Line Tools ComputeDiagnosticRp Extension"; - }; - confidentialledger = mkAzExtension rec { - pname = "confidentialledger"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/confidentialledger-${version}-py3-none-any.whl"; - sha256 = "3afbf49f10cdddd9675562364ce2275f6f70eb5318fa85b658d711b1e24dc94e"; - description = "Microsoft Azure Command-Line Tools ConfidentialLedger Extension"; - }; - confluent = mkAzExtension rec { - pname = "confluent"; - version = "0.6.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-${version}-py3-none-any.whl"; - sha256 = "7987d22e0e9cada28087a900bfa534865531941f2bbfe967eb46c90b2e0a12be"; - description = "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension"; - }; - connectedmachine = mkAzExtension rec { - pname = "connectedmachine"; - version = "1.0.0b2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/connectedmachine-${version}-py3-none-any.whl"; - sha256 = "8b8c4340c4c6552e3826220ffb95bf619447675b0469304b71fa80e2e4e31c81"; - description = "Microsoft Azure Command-Line Tools ConnectedMachine Extension"; - }; - connectedvmware = mkAzExtension rec { - pname = "connectedvmware"; - version = "1.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-${version}-py2.py3-none-any.whl"; - sha256 = "b731a821c609aae8bfab7e0470b342b9179e7e0c65482f4a432a60d87a4c395f"; - description = "Microsoft Azure Command-Line Tools Connectedvmware Extension"; - }; - connection-monitor-preview = mkAzExtension rec { - pname = "connection-monitor-preview"; - version = "0.1.0"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/connection_monitor_preview-${version}-py2.py3-none-any.whl"; - sha256 = "9a796d5187571990d27feb9efeedde38c194f13ea21cbf9ec06131196bfd821d"; - description = "Microsoft Azure Command-Line Connection Monitor V2 Extension"; - }; - cosmosdb-preview = mkAzExtension rec { - pname = "cosmosdb-preview"; - version = "1.0.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-${version}-py2.py3-none-any.whl"; - sha256 = "c540018bc5da1252ec3e3e564552650d6af08f349f3ff339be398a7983caf2a9"; - description = "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension"; - }; - costmanagement = mkAzExtension rec { - pname = "costmanagement"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/costmanagement-${version}-py3-none-any.whl"; - sha256 = "6e5e053d05bad6ad6305bd024f51e355e60fde8bb6a03350dfd81c25437d2e45"; - description = "Microsoft Azure Command-Line Tools CostManagementClient Extension"; - }; - csvmware = mkAzExtension rec { - pname = "csvmware"; - version = "0.3.0"; - url = "https://github.com/Azure/az-csvmware-cli/releases/download/${version}/csvmware-0.3.0-py2.py3-none-any.whl"; - sha256 = "dfb9767f05ac13c762ea9dc4327169e63a5c11879123544b200edb9a2c9a8a42"; - description = "Manage Azure VMware Solution by CloudSimple"; - }; - custom-providers = mkAzExtension rec { - pname = "custom-providers"; - version = "0.2.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/custom_providers-${version}-py2.py3-none-any.whl"; - sha256 = "a9938f09c86fa4575e3c887206908cac15920af528c537c0b998362a1c43daf7"; - description = "Microsoft Azure Command-Line Tools Custom Providers Extension"; - }; - customlocation = mkAzExtension rec { - pname = "customlocation"; - version = "0.1.3"; - url = "https://arcplatformcliextprod.blob.core.windows.net/customlocation/customlocation-${version}-py2.py3-none-any.whl"; - sha256 = "5e36435b1a81de25e74e70c45c2ac9f98065138c35050f29210ae40c18484e28"; - description = "Microsoft Azure Command-Line Tools Customlocation Extension"; - }; - databox = mkAzExtension rec { - pname = "databox"; - version = "1.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/databox-${version}-py3-none-any.whl"; - sha256 = "7b41a60521d7cf652d4cdca052fc9d2ec6371f3d7884ec0a74ba9a7d5001d7bb"; - description = "Microsoft Azure Command-Line Tools Databox Extension"; - }; - databricks = mkAzExtension rec { - pname = "databricks"; - version = "1.0.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-${version}-py3-none-any.whl"; - sha256 = "55165d7435cd7a0dc87587e82fc202d792a5f28c9c44398655b0a4770d038c30"; - description = "Microsoft Azure Command-Line Tools DatabricksClient Extension"; - }; - datadog = mkAzExtension rec { - pname = "datadog"; - version = "0.1.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/datadog-${version}-py3-none-any.whl"; - sha256 = "9a38fd5d6d01646f299ee7b5f68e82ad708889c7d0bd72e0b6b6b13e5455e937"; - description = "Microsoft Azure Command-Line Tools MicrosoftDatadogClient Extension"; - }; - datafactory = mkAzExtension rec { - pname = "datafactory"; - version = "1.0.2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/datafactory-${version}-py3-none-any.whl"; - sha256 = "ea134e2963b7cdf2bcbd50244a6f1a411da77bd4db7e42c8c8f9651638c82ac7"; - description = "Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension"; - }; - datamigration = mkAzExtension rec { - pname = "datamigration"; - version = "1.0.0b2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/datamigration-${version}-py3-none-any.whl"; - sha256 = "8901b5664a95e665781698bc02ee94b4297c82ac9fdfab99dd4f13bac1c0923e"; - description = "Microsoft Azure Command-Line Tools DataMigrationManagementClient Extension"; - }; - dataprotection = mkAzExtension rec { - pname = "dataprotection"; - version = "1.5.3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/dataprotection-${version}-py3-none-any.whl"; - sha256 = "4671ce89e39065695f21626350dfcad5438bdbefc714cf35e85ee5eab0f96661"; - description = "Microsoft Azure Command-Line Tools DataProtectionClient Extension"; - }; - datashare = mkAzExtension rec { - pname = "datashare"; - version = "0.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/datashare-${version}-py3-none-any.whl"; - sha256 = "f1a801bd0c38eb2ebf9c2fb4e0b43a98470ae7b40bbcd05eb2aa596d69579c9e"; - description = "Microsoft Azure Command-Line Tools DataShareManagementClient Extension"; - }; - deploy-to-azure = mkAzExtension rec { - pname = "deploy-to-azure"; - version = "0.2.0"; - url = "https://github.com/Azure/deploy-to-azure-cli-extension/releases/download/20200318.1/deploy_to_azure-${version}-py2.py3-none-any.whl"; - sha256 = "f925080ee7abc3aef733d4c6313170bdedaa9569af1b95427383bc3c59e4ceb8"; - description = "Deploy to Azure using Github Actions"; - }; - desktopvirtualization = mkAzExtension rec { - pname = "desktopvirtualization"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/desktopvirtualization-${version}-py3-none-any.whl"; - sha256 = "3a1e7a8f0e579fa21fed770859b21c23bec8b8489d834a61411695a9a90c7cd4"; - description = "Microsoft Azure Command-Line Tools Desktopvirtualization Extension"; - }; - dev-spaces = mkAzExtension rec { - pname = "dev-spaces"; - version = "1.0.6"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/dev_spaces-${version}-py2.py3-none-any.whl"; - sha256 = "71041808b27cd9d33fd905c5080c97f61291816f2dddd6dcdb2e66b9fb6ebf59"; - description = "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams"; - }; - devcenter = mkAzExtension rec { - pname = "devcenter"; - version = "6.0.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/devcenter-${version}-py3-none-any.whl"; - sha256 = "25e3dcdc9cb83243ceb2ed6a6dedc227953c06cb610ba95c84ddec0f7503224f"; - description = "Microsoft Azure Command-Line Tools DevCenter Extension"; - }; - diskpool = mkAzExtension rec { - pname = "diskpool"; - version = "0.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/diskpool-${version}-py3-none-any.whl"; - sha256 = "9ae6aaea85a17529da2a4e51c2ba2aba55b4b26816d5618eafd0f9fdc43b67b7"; - description = "Microsoft Azure Command-Line Tools StoragePoolManagement Extension"; - }; - dms-preview = mkAzExtension rec { - pname = "dms-preview"; - version = "0.15.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/dms_preview-${version}-py2.py3-none-any.whl"; - sha256 = "556c145c03b8d529d8e77f7b35702fb8de382891635e858f928117f33688ee9c"; - description = "Support for new Database Migration Service scenarios"; - }; - dnc = mkAzExtension rec { - pname = "dnc"; - version = "0.2.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/dnc-${version}-py3-none-any.whl"; - sha256 = "e38474ca9b28bed5dde388cf73dff9e3504825032b03c5bf8930c25caf292026"; - description = "Microsoft Azure Command-Line Tools Dnc Extension"; - }; - dns-resolver = mkAzExtension rec { - pname = "dns-resolver"; - version = "0.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/dns_resolver-${version}-py3-none-any.whl"; - sha256 = "1c4bb8216e509c2f08fa75c45930ec377768326f30cb9ab125842aa9352c6e2e"; - description = "Microsoft Azure Command-Line Tools DnsResolverManagementClient Extension"; - }; - durabletask = mkAzExtension rec { - pname = "durabletask"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/durabletask-${version}-py3-none-any.whl"; - sha256 = "d7a929b294928df79d8312fbf6af72c5d928e304c4a7b37daf3ff772667dfb25"; - description = "Microsoft Azure Command-Line Tools Durabletask Extension"; - }; - dynatrace = mkAzExtension rec { - pname = "dynatrace"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/dynatrace-${version}-py3-none-any.whl"; - sha256 = "112a7e423461d1b6f7c385fe8b73b4f2b850e2570c35a54a4bbcc2e87afec661"; - description = "Microsoft Azure Command-Line Tools Dynatrace Extension"; - }; - edgeorder = mkAzExtension rec { - pname = "edgeorder"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/edgeorder-${version}-py3-none-any.whl"; - sha256 = "186a06d0f8603f7e0faeed5296ecc73bf1096e0d681acea42d5ebccc1670357b"; - description = "Microsoft Azure Command-Line Tools EdgeOrderManagementClient Extension"; - }; - edgezones = mkAzExtension rec { - pname = "edgezones"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/edgezones-${version}-py3-none-any.whl"; - sha256 = "98f1b962dcbb078cfb8cd12d40a58d01bcc37db441570f84e293ba0ba52c6c08"; - description = "Microsoft Azure Command-Line Tools Edgezones Extension"; - }; - elastic = mkAzExtension rec { - pname = "elastic"; - version = "1.0.0b3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/elastic-${version}-py3-none-any.whl"; - sha256 = "2f3ae430d3c34dd4007c8c5a8374963568cc23558872464242811cc5a26e2de7"; - description = "Microsoft Azure Command-Line Tools MicrosoftElastic Extension"; - }; - elastic-san = mkAzExtension rec { - pname = "elastic-san"; - version = "1.0.0b2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/elastic_san-${version}-py3-none-any.whl"; - sha256 = "6d2f1247ae78e431d4834989df581cd21241d16b97071bf672fb8b71ee3ad702"; - description = "Microsoft Azure Command-Line Tools ElasticSan Extension"; - }; - eventgrid = mkAzExtension rec { - pname = "eventgrid"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/eventgrid-${version}-py2.py3-none-any.whl"; - sha256 = "662ca2a381efcf821a16648ff3b89edbe21f4e9887e18ffa7ee0dbbaf0332ede"; - description = "Microsoft Azure Command-Line Tools EventGrid Command Module"; - }; - express-route-cross-connection = mkAzExtension rec { - pname = "express-route-cross-connection"; - version = "0.1.1"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/express_route_cross_connection-${version}-py2.py3-none-any.whl"; - sha256 = "b83f723baae0ea04557a87f358fa2131baf15d45cd3aba7a9ab42d14ec80df38"; - description = "Manage customer ExpressRoute circuits using an ExpressRoute cross-connection"; - }; - firmwareanalysis = mkAzExtension rec { - pname = "firmwareanalysis"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/firmwareanalysis-${version}-py3-none-any.whl"; - sha256 = "1c3df1441de76edb08bed05ac279dd2b02bd6fab68a0b9a495dfd7ecce3e92cb"; - description = "Microsoft Azure Command-Line Tools Firmwareanalysis Extension"; - }; - fleet = mkAzExtension rec { - pname = "fleet"; - version = "1.4.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-${version}-py3-none-any.whl"; - sha256 = "1d83a9000c879ff1a9a2bff2ea23183ab61e342713dfedb662345593b1658438"; - description = "Microsoft Azure Command-Line Tools Fleet Extension"; - }; - fluid-relay = mkAzExtension rec { - pname = "fluid-relay"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/fluid_relay-${version}-py3-none-any.whl"; - sha256 = "9217666f8134a38e09aeda905e7cc83994332a5ab563ec8935b9ff6c91563e8c"; - description = "Microsoft Azure Command-Line Tools FluidRelay Extension"; - }; - footprint = mkAzExtension rec { - pname = "footprint"; - version = "1.0.0"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/footprint-${version}-py3-none-any.whl"; - sha256 = "4aa59288bf46cfd68519f1f7f63d3e33af16d80632b84c283cc7152129260b2c"; - description = "Microsoft Azure Command-Line Tools FootprintMonitoringManagementClient Extension"; - }; - front-door = mkAzExtension rec { - pname = "front-door"; - version = "1.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-${version}-py3-none-any.whl"; - sha256 = "232ba7b2cd24240d4e86d820e5fa78a11143b3a624ed953a3451210500edfbe0"; - description = "Manage networking Front Doors"; - }; - fzf = mkAzExtension rec { - pname = "fzf"; - version = "1.0.2"; - url = "https://pahealyfzf.blob.core.windows.net/fzf/fzf-${version}-py2.py3-none-any.whl"; - sha256 = "84abeed03b4bbfa7b8c0be08d9366ff3040e2160df4f5a539f0e1c9e0a1c359c"; - description = "Microsoft Azure Command-Line Tools fzf Extension"; - }; - gallery-service-artifact = mkAzExtension rec { - pname = "gallery-service-artifact"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/gallery_service_artifact-${version}-py3-none-any.whl"; - sha256 = "3f30e3e8e7e678fd9ab91b2261fb918a303cd382626509d3f00e86f1967750c6"; - description = "Microsoft Azure Command-Line Tools GalleryServiceArtifact Extension"; - }; - graphservices = mkAzExtension rec { - pname = "graphservices"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/graphservices-${version}-py3-none-any.whl"; - sha256 = "8aeda3901e944b038f4e812b0b7099798d2bd82d55e03e785017a504c14583e5"; - description = "Microsoft Azure Command-Line Tools Graphservices Extension"; - }; - guestconfig = mkAzExtension rec { - pname = "guestconfig"; - version = "0.1.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/guestconfig-${version}-py3-none-any.whl"; - sha256 = "94836a5d21ee1071cd40b163d2c80c32a6a81b9dc85d91371f7e4fb35141e273"; - description = "Microsoft Azure Command-Line Tools GuestConfigurationClient Extension"; - }; - hack = mkAzExtension rec { - pname = "hack"; - version = "0.4.3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/hack-${version}-py2.py3-none-any.whl"; - sha256 = "f9e600457e3a9fffc3235a7b30176d9f0a7f4d39ac01ea3e2668bcbdee6398a6"; - description = "Microsoft Azure Command-Line Tools Hack Extension"; - }; - hardware-security-modules = mkAzExtension rec { - pname = "hardware-security-modules"; - version = "0.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/hardware_security_modules-${version}-py3-none-any.whl"; - sha256 = "ac4a10e2cc64a4d0818e48ffbcddfeb4307dd56b8875bc01c02687d473c9fe9b"; - description = "Microsoft Azure Command-Line Tools AzureDedicatedHSMResourceProvider Extension"; - }; - hdinsightonaks = mkAzExtension rec { - pname = "hdinsightonaks"; - version = "1.0.0b3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/hdinsightonaks-${version}-py3-none-any.whl"; - sha256 = "f549b85107b7b83ff64fcfa5c90a5d7e900a5ea2efe76eec9b1f81689e58c365"; - description = "Microsoft Azure Command-Line Tools Hdinsightonaks Extension"; - }; - healthbot = mkAzExtension rec { - pname = "healthbot"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/healthbot-${version}-py3-none-any.whl"; - sha256 = "9134fad2511516e714a5db346d63865af0badf0599ade3f1c15faca0055585a3"; - description = "Microsoft Azure Command-Line Tools HealthbotClient Extension"; - }; - healthcareapis = mkAzExtension rec { - pname = "healthcareapis"; - version = "0.4.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-${version}-py3-none-any.whl"; - sha256 = "a25d7d57d4fd3adcc37581d0acc1d6c6a46dcd0351933ed37cfba9d1abd60978"; - description = "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension"; - }; - hpc-cache = mkAzExtension rec { - pname = "hpc-cache"; - version = "0.1.5"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-${version}-py2.py3-none-any.whl"; - sha256 = "852cb417aadf0ad07e3c51413858c413bf71ea6cb49ba58289d9572f9a350507"; - description = "Microsoft Azure Command-Line Tools StorageCache Extension"; - }; - image-copy-extension = mkAzExtension rec { - pname = "image-copy-extension"; - version = "0.2.13"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/image_copy_extension-${version}-py2.py3-none-any.whl"; - sha256 = "b0d12bf3c74500790d58d99a6c32562548712cb872b7942e8ad481e270521b19"; - description = "Support for copying managed vm images between regions"; - }; - image-gallery = mkAzExtension rec { - pname = "image-gallery"; - version = "0.1.3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/image_gallery-${version}-py2.py3-none-any.whl"; - sha256 = "6260c1f4bfb589d2ba0569317358a149caabbbd49a048e69328e44871694aacd"; - description = "Support for Azure Image Gallery"; - }; - import-export = mkAzExtension rec { - pname = "import-export"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/import_export-${version}-py3-none-any.whl"; - sha256 = "c4e36f1003031a67615a45cd12592bf5c11c54b7bd957f6c2af90efcb5c517b2"; - description = "Microsoft Azure Command-Line Tools StorageImportExport Extension"; - }; - informatica = mkAzExtension rec { - pname = "informatica"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/informatica-${version}-py3-none-any.whl"; - sha256 = "6166ae91c78e74c01af3bd1ead2d62832707e176ea0f7d5d30a5dd485f482462"; - description = "Microsoft Azure Command-Line Tools Informatica Extension"; - }; - init = mkAzExtension rec { - pname = "init"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/init-${version}-py3-none-any.whl"; - sha256 = "1177fc293dc118b449b761ec2c728d39755fc3939de8d4bfd89cce1bfb218e86"; - description = "Microsoft Azure Command-Line Tools Init Extension"; - }; - internet-analyzer = mkAzExtension rec { - pname = "internet-analyzer"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/internet_analyzer-${version}-py2.py3-none-any.whl"; - sha256 = "4564881a7c90bacfd881c629a4182398007c886d099ea88db97e1ff10053a5c4"; - description = "Microsoft Azure Command-Line Tools Internet Analyzer Extension"; - }; - ip-group = mkAzExtension rec { - pname = "ip-group"; - version = "0.1.2"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-${version}-py2.py3-none-any.whl"; - sha256 = "afba2d8a8a612863b63f504d6cff6d559610b961e4c77dc2fd49b9fe03ec67a2"; - description = "Microsoft Azure Command-Line Tools IpGroup Extension"; - }; - k8s-extension = mkAzExtension rec { - pname = "k8s-extension"; - version = "1.6.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-${version}-py3-none-any.whl"; - sha256 = "41861d65b9d86e0b622986a4984ce7a611f87b92da578db8c0527ec74334f32c"; - description = "Microsoft Azure Command-Line Tools K8s-extension Extension"; - }; - k8s-runtime = mkAzExtension rec { - pname = "k8s-runtime"; - version = "1.0.4"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_runtime-${version}-py3-none-any.whl"; - sha256 = "aee2d3008d818d78342149e6f1d2c7922abbbe43f323d51e6cd58c73b1c67b3a"; - description = "Microsoft Azure Command-Line Tools K8sRuntime Extension"; - }; - kusto = mkAzExtension rec { - pname = "kusto"; - version = "0.5.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/kusto-${version}-py3-none-any.whl"; - sha256 = "cf5729e9d02029a189182523543285c9737d515f41c610c8338d43f872f9f01d"; - description = "Microsoft Azure Command-Line Tools KustoManagementClient Extension"; - }; - log-analytics = mkAzExtension rec { - pname = "log-analytics"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/log_analytics-${version}-py2.py3-none-any.whl"; - sha256 = "ccd36a8ca6979c549db7d7fd78009907e9e7bc2b09437885dbdd8b107cb15b66"; - description = "Support for Azure Log Analytics query capabilities"; - }; - log-analytics-solution = mkAzExtension rec { - pname = "log-analytics-solution"; - version = "1.0.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/log_analytics_solution-${version}-py2.py3-none-any.whl"; - sha256 = "7e10443de862cd0c19090b0a0dae5e9942e8b48c20e3a9c3305778daa756ea96"; - description = "Support for Azure Log Analytics Solution"; - }; - logic = mkAzExtension rec { - pname = "logic"; - version = "1.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/logic-${version}-py3-none-any.whl"; - sha256 = "14c18768c02ee9c370ac7eed0f23206eee7d344a10382a3083b17b5e1848cfcd"; - description = "Microsoft Azure Command-Line Tools Logic Extension"; - }; - logz = mkAzExtension rec { - pname = "logz"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/logz-${version}-py3-none-any.whl"; - sha256 = "6a937dbb8c5a758b29afd45ecfc101743a5bf2491f2fba60e8ea512d5b765840"; - description = "Microsoft Azure Command-Line Tools MicrosoftLogz Extension"; - }; - maintenance = mkAzExtension rec { - pname = "maintenance"; - version = "1.6.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/maintenance-${version}-py3-none-any.whl"; - sha256 = "3ab6a2dac48ba71b28bc8ee05d254daa72b62f84dda953749fa621a80ca39ae5"; - description = "Microsoft Azure Command-Line Tools MaintenanceManagementClient Extension"; - }; - managedccfs = mkAzExtension rec { - pname = "managedccfs"; - version = "0.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/managedccfs-${version}-py3-none-any.whl"; - sha256 = "378f425f35420373e9703a5dc8c0f05ca8176fb8404b38610d4de828f7c23d37"; - description = "Microsoft Azure Command-Line Tools Managedccfs Extension"; - }; - managednetworkfabric = mkAzExtension rec { - pname = "managednetworkfabric"; - version = "6.4.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/managednetworkfabric-${version}-py3-none-any.whl"; - sha256 = "9d41078e0654aaae36a5f0f283f51de98cc4360582920536542546ed34ca0bc4"; - description = "Support for managednetworkfabric commands based on 2023-06-15 API version"; - }; - managementpartner = mkAzExtension rec { - pname = "managementpartner"; - version = "0.1.3"; - url = "https://azurecliprod.blob.core.windows.net/cli-extensions/managementpartner-${version}-py2.py3-none-any.whl"; - sha256 = "22ddf4b1cdc77e99262cb6089c4d96040065828a1d38a2709fdb945d3c851839"; - description = "Support for Management Partner preview"; - }; - mdp = mkAzExtension rec { - pname = "mdp"; - version = "1.0.0b2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/mdp-${version}-py3-none-any.whl"; - sha256 = "062ad026d9eaf791b5928c4fb793148d40c6c297cee32f175cd3a155eb24d93f"; - description = "Microsoft Azure Command-Line Tools Mdp Extension"; - }; - microsoft-fabric = mkAzExtension rec { - pname = "microsoft-fabric"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/microsoft_fabric-${version}-py3-none-any.whl"; - sha256 = "8ba450a5a3daafa8b9b6b6e9ee8224f468fd972332e905000f2acc7ff00cd9bb"; - description = "Microsoft Azure Command-Line Tools Microsoft Fabric Extension"; - }; - mixed-reality = mkAzExtension rec { - pname = "mixed-reality"; - version = "0.0.5"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/mixed_reality-${version}-py2.py3-none-any.whl"; - sha256 = "026aaf58f9ad02d74837d21a1f5c122264a59814e0b7c395c26e5fdc1293187e"; - description = "Mixed Reality Azure CLI Extension"; - }; - mobile-network = mkAzExtension rec { - pname = "mobile-network"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/mobile_network-${version}-py3-none-any.whl"; - sha256 = "2d9572a4ed706df8f626c62036ad22f46a15b113273f8ff9b06313a380a27f56"; - description = "Microsoft Azure Command-Line Tools MobileNetwork Extension"; - }; - monitor-control-service = mkAzExtension rec { - pname = "monitor-control-service"; - version = "1.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/monitor_control_service-${version}-py3-none-any.whl"; - sha256 = "3151a341845d053a4be45d9b7c04e1e15b88503ab6b110163a12b9aee6fd3cd9"; - description = "Microsoft Azure Command-Line Tools MonitorClient Extension"; - }; - monitor-pipeline-group = mkAzExtension rec { - pname = "monitor-pipeline-group"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/monitor_pipeline_group-${version}-py3-none-any.whl"; - sha256 = "cf31f9e3fa9458716f0c3d1c15698ef79b707c5bd7d146773d2b2afe42e64c29"; - description = "Microsoft Azure Command-Line Tools MonitorPipelineGroup Extension"; - }; - multicloud-connector = mkAzExtension rec { - pname = "multicloud-connector"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/multicloud_connector-${version}-py3-none-any.whl"; - sha256 = "ad84350162ae877287f8a151920b3c4bdc6375dd419dd6101c2702db606a5d19"; - description = "Microsoft Azure Command-Line Tools MulticloudConnector Extension"; - }; - network-analytics = mkAzExtension rec { - pname = "network-analytics"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/network_analytics-${version}-py3-none-any.whl"; - sha256 = "c8d7e195f913298ac03ef8eb1f8d7fb09526956d3eb750a8cd447ae8f61d4317"; - description = "Microsoft Azure Command-Line Tools NetworkAnalytics Extension"; - }; - networkcloud = mkAzExtension rec { - pname = "networkcloud"; - version = "2.0.0b4"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/networkcloud-${version}-py3-none-any.whl"; - sha256 = "06707a008405739a5639230f3fd094031084a69f867648503aed4039d118ad9f"; - description = "Support for Azure Operator Nexus network cloud commands based on 2024-07-01 API version"; - }; - new-relic = mkAzExtension rec { - pname = "new-relic"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/new_relic-${version}-py3-none-any.whl"; - sha256 = "9ce69f1684cea14acba0f2fdb473e47e0a06745e383bb5144954c5e85e416199"; - description = "Microsoft Azure Command-Line Tools NewRelic Extension"; - }; - next = mkAzExtension rec { - pname = "next"; - version = "0.1.3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/next-${version}-py2.py3-none-any.whl"; - sha256 = "83c4e03427f190203e094c14e4f7e79cec989f1277e16b9256bb9fe688aa5e07"; - description = "Microsoft Azure Command-Line Tools Next Extension"; - }; - nginx = mkAzExtension rec { - pname = "nginx"; - version = "2.0.0b6"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/nginx-${version}-py2.py3-none-any.whl"; - sha256 = "d94f77c12ce6945c823f7efa84238e398b5aec878156bbdf3112f0def1eb8960"; - description = "Microsoft Azure Command-Line Tools Nginx Extension"; - }; - notification-hub = mkAzExtension rec { - pname = "notification-hub"; - version = "1.0.0a1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/notification_hub-${version}-py3-none-any.whl"; - sha256 = "a03751b715700e0d18a38e808bfeed164335024c9608c4bfd53aeacc731d1099"; - description = "Microsoft Azure Command-Line Tools Notification Hub Extension"; - }; - nsp = mkAzExtension rec { - pname = "nsp"; - version = "1.0.0b2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/nsp-${version}-py3-none-any.whl"; - sha256 = "febfce38fc449daa67c7ad8410e7fa250f7f39afb5f870496ce045bb74935bcd"; - description = "Microsoft Azure Command-Line Tools Nsp Extension"; - }; - offazure = mkAzExtension rec { - pname = "offazure"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/offazure-${version}-py3-none-any.whl"; - sha256 = "1918817070ae9e0ceef57b93366d18b6e8bf577fd632e7da999e1e2abbb53656"; - description = "Microsoft Azure Command-Line Tools AzureMigrateV2 Extension"; - }; - oracle-database = mkAzExtension rec { - pname = "oracle-database"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/oracle_database-${version}-py3-none-any.whl"; - sha256 = "058c3de6c1e103ff0c62a188b1c606a35097a6652cb7eb6c3e5b77f77e15b5b1"; - description = "Microsoft Azure Command-Line Tools OracleDatabase Extension"; - }; - orbital = mkAzExtension rec { - pname = "orbital"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/orbital-${version}-py3-none-any.whl"; - sha256 = "4259fb8ff560440d63251cc9721bb3f2283452f2399134514611f886fa350f37"; - description = "Microsoft Azure Command-Line Tools Orbital Extension"; - }; - palo-alto-networks = mkAzExtension rec { - pname = "palo-alto-networks"; - version = "1.1.1b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/palo_alto_networks-${version}-py3-none-any.whl"; - sha256 = "8d4f6a4b72366bd57780bd158d6c25b363999e1a13ea85d491809cc9a4d29608"; - description = "Microsoft Azure Command-Line Tools PaloAltoNetworks Extension"; - }; - peering = mkAzExtension rec { - pname = "peering"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/peering-${version}-py3-none-any.whl"; - sha256 = "fe4e3ba85c1f65966a059291e46ebeb7c956f28da2b15b541b0492765b623992"; - description = "Microsoft Azure Command-Line Tools PeeringManagementClient Extension"; - }; - portal = mkAzExtension rec { - pname = "portal"; - version = "0.1.3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/portal-${version}-py3-none-any.whl"; - sha256 = "3c3ebe23f59db5f2d286ca52cf8cfbbc5983ce8073622de11a35dab95800a996"; - description = "Microsoft Azure Command-Line Tools Portal Extension"; - }; - powerbidedicated = mkAzExtension rec { - pname = "powerbidedicated"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/powerbidedicated-${version}-py2.py3-none-any.whl"; - sha256 = "e1e58bb6f57edde4793f4c66a0c10a2776f842172878162385f2b1d21539de6e"; - description = "Microsoft Azure Command-Line Tools PowerBIDedicated Extension"; - }; - providerhub = mkAzExtension rec { - pname = "providerhub"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/providerhub-${version}-py3-none-any.whl"; - sha256 = "7b93cb7ecb1fa3a520909d45e6e6597c8ba7daac4fbc1a26c3de66043678dd0d"; - description = "Microsoft Azure Command-Line Tools ProviderHub Extension"; - }; - purview = mkAzExtension rec { - pname = "purview"; - version = "0.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/purview-${version}-py3-none-any.whl"; - sha256 = "706cc2550fbd07b8b676345c2f26c5ba66550905bc8ec224c6c4e5637c497266"; - description = "Microsoft Azure Command-Line Tools PurviewManagementClient Extension"; - }; - qumulo = mkAzExtension rec { - pname = "qumulo"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/qumulo-${version}-py3-none-any.whl"; - sha256 = "9973f580a3fc20cc2fe5558a1cfdc10ddfc6567982d12f37008bbfec7aafcf9b"; - description = "Microsoft Azure Command-Line Tools Qumulo Extension"; - }; - quota = mkAzExtension rec { - pname = "quota"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/quota-${version}-py3-none-any.whl"; - sha256 = "8b4c3475df0c3544dbcc28e4875eb5b163d72b40aff4250aafdad94180c3f995"; - description = "Microsoft Azure Command-Line Tools AzureQuotaExtensionAPI Extension"; - }; - redisenterprise = mkAzExtension rec { - pname = "redisenterprise"; - version = "1.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/redisenterprise-${version}-py3-none-any.whl"; - sha256 = "6e776d464afaaf66456d7b8e6d36ab1a12f19054617479ea8f13633d3a49ffac"; - description = "Microsoft Azure Command-Line Tools RedisEnterprise Extension"; - }; - reservation = mkAzExtension rec { - pname = "reservation"; - version = "0.3.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/reservation-${version}-py3-none-any.whl"; - sha256 = "649f086b02305d142f2f08ea96f52a322a165a6f2a958f3287f53550938ab912"; - description = "Microsoft Azure Command-Line Tools Reservation Extension"; - }; - resource-graph = mkAzExtension rec { - pname = "resource-graph"; - version = "2.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/resource_graph-${version}-py2.py3-none-any.whl"; - sha256 = "62c81e3d62ce60c5a0a485829d00bdb0c733145ee93fb6098c14e3b27ee27c40"; - description = "Support for querying Azure resources with Resource Graph"; - }; - resource-mover = mkAzExtension rec { - pname = "resource-mover"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/resource_mover-${version}-py3-none-any.whl"; - sha256 = "3bc9f41aa30c4f6bc04ff780dc30e8df05bfc887f2adbdf9e89d59f8389e55f3"; - description = "Microsoft Azure Command-Line Tools ResourceMoverServiceAPI Extension"; - }; - sap-hana = mkAzExtension rec { - pname = "sap-hana"; - version = "0.6.5"; - url = "https://github.com/Azure/azure-hanaonazure-cli-extension/releases/download/${version}/sap_hana-0.6.5-py2.py3-none-any.whl"; - sha256 = "b4554c125f3a0eb5c891cec396e7705f6e91d4d81789acef20e3c4d172fa4543"; - description = "Additional commands for working with SAP HanaOnAzure instances"; - }; - scenario-guide = mkAzExtension rec { - pname = "scenario-guide"; - version = "0.1.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/scenario_guide-${version}-py3-none-any.whl"; - sha256 = "4264b48b4b980334488a3fdb3bc43241e828a2742c35ce48985f3bebf019e8f8"; - description = "Microsoft Azure Command-Line Tools Scenario Guidance Extension"; - }; - scheduled-query = mkAzExtension rec { - pname = "scheduled-query"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-${version}-py2.py3-none-any.whl"; - sha256 = "fd5e69d0438b8089dbe197d5ba4c41776aed906941cac374755a4c9044c4af04"; - description = "Microsoft Azure Command-Line Tools Scheduled_query Extension"; - }; - scvmm = mkAzExtension rec { - pname = "scvmm"; - version = "1.1.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/scvmm-${version}-py2.py3-none-any.whl"; - sha256 = "7d704578bc5eb60b8105de0b4a924176581a4cf2fd162b0896d81246f7f73a68"; - description = "Microsoft Azure Command-Line Tools SCVMM Extension"; - }; - self-help = mkAzExtension rec { - pname = "self-help"; - version = "0.4.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/self_help-${version}-py3-none-any.whl"; - sha256 = "8c903aaf10d6cb61e6455f6010deeeb496d1e23d6876662089266a49403586b6"; - description = "Microsoft Azure Command-Line Tools SelfHelp Extension"; - }; - sentinel = mkAzExtension rec { - pname = "sentinel"; - version = "0.2.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/sentinel-${version}-py3-none-any.whl"; - sha256 = "5511544b4e342b03a4a4263617c603d87442ad5179ce9d8c0d1fd10915f93b7a"; - description = "Microsoft Azure Command-Line Tools Sentinel Extension"; - }; - site-recovery = mkAzExtension rec { - pname = "site-recovery"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/site_recovery-${version}-py3-none-any.whl"; - sha256 = "ab19142c9a2e06190b6dac272d8cf29e179c9e283f965f8e3a4d29275b847ce5"; - description = "Microsoft Azure Command-Line Tools SiteRecovery Extension"; - }; - spring = mkAzExtension rec { - pname = "spring"; - version = "1.25.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/spring-${version}-py3-none-any.whl"; - sha256 = "9eb8a6f2f77b19c9f9809526bb701076590ddb35f6b2ec431ce318b96cc40733"; - description = "Microsoft Azure Command-Line Tools spring Extension"; - }; - spring-cloud = mkAzExtension rec { - pname = "spring-cloud"; - version = "3.1.8"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-${version}-py3-none-any.whl"; - sha256 = "14993abe3524c28a42b2e9ba0f0a8a7083162ba9174975e09d8cea834b9829ee"; - description = "Microsoft Azure Command-Line Tools spring-cloud Extension"; - }; - stack-hci = mkAzExtension rec { - pname = "stack-hci"; - version = "1.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci-${version}-py3-none-any.whl"; - sha256 = "9bb0350f6c28ac2068a5a4a20bbcf74ae34b392d05eb148c403c618525cbadef"; - description = "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension"; - }; - stack-hci-vm = mkAzExtension rec { - pname = "stack-hci-vm"; - version = "1.3.0"; - url = "https://hciarcvmsstorage.z13.web.core.windows.net/cli-extensions/stack_hci_vm-${version}-py3-none-any.whl"; - sha256 = "19553e50d59cafcc19166be7e91be43c725f7abae1d8338914f8e6043853fc09"; - description = "Microsoft Azure Command-Line Tools Stack-HCi-VM Extension"; - }; - standbypool = mkAzExtension rec { - pname = "standbypool"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/standbypool-${version}-py3-none-any.whl"; - sha256 = "44c03e320c8b49f52390e3c11d61b25a67afeffc18d62baa522c373142de0e15"; - description = "Microsoft Azure Command-Line Tools Standbypool Extension"; - }; - staticwebapp = mkAzExtension rec { - pname = "staticwebapp"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/staticwebapp-${version}-py3-none-any.whl"; - sha256 = "fb1dcd876fc2d829cc7a1cc545e9445364d43357d888bb3deeb36a716b805717"; - description = "Microsoft Azure Command-Line Tools Staticwebapp Extension"; - }; - storage-actions = mkAzExtension rec { - pname = "storage-actions"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/storage_actions-${version}-py3-none-any.whl"; - sha256 = "07c5be256edbbe2c81d839e4c6d3d917a56b93921515028cf962393e1176331b"; - description = "Microsoft Azure Command-Line Tools StorageActions Extension"; - }; - storage-blob-preview = mkAzExtension rec { - pname = "storage-blob-preview"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/storage_blob_preview-${version}-py2.py3-none-any.whl"; - sha256 = "1ffe451e41657c8f28a22abee387371d11cedd80d2e52cfcbed0adac0a917b41"; - description = "Microsoft Azure Command-Line Tools Storage-blob-preview Extension"; - }; - storage-mover = mkAzExtension rec { - pname = "storage-mover"; - version = "1.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/storage_mover-${version}-py3-none-any.whl"; - sha256 = "7d768aca50aa98978a0d929c46cffe60bf488a527665485da631b33444cae24c"; - description = "Microsoft Azure Command-Line Tools StorageMover Extension"; - }; - storagesync = mkAzExtension rec { - pname = "storagesync"; - version = "1.0.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/storagesync-${version}-py2.py3-none-any.whl"; - sha256 = "7f2ba91a7a44741f4384b44ba7cea73a8a03b5d385b43404cb4951dd2ea5dc5a"; - description = "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension"; - }; - stream-analytics = mkAzExtension rec { - pname = "stream-analytics"; - version = "1.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/stream_analytics-${version}-py3-none-any.whl"; - sha256 = "15443fd8a73d319a5c9fbc586c9727d1ce1a31e11fd3f3c7e4fcbc97ad076aaa"; - description = "Microsoft Azure Command-Line Tools StreamAnalyticsManagementClient Extension"; - }; - subscription = mkAzExtension rec { - pname = "subscription"; - version = "0.1.5"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/subscription-${version}-py2.py3-none-any.whl"; - sha256 = "ff7896aebc46862a6d30ac5f4cf64bdd40cb50e5437cea299590896d75f1013e"; - description = "Support for subscription management preview"; - }; - support = mkAzExtension rec { - pname = "support"; - version = "2.0.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/support-${version}-py2.py3-none-any.whl"; - sha256 = "5dde97f8fb12eaa258530f68ec2cae00a957f30479835e9f5ed057940312741a"; - description = "Microsoft Azure Command-Line Tools Support Extension"; - }; - terraform = mkAzExtension rec { - pname = "terraform"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/terraform-${version}-py3-none-any.whl"; - sha256 = "80fde2b896b707fd83f83821809682079bd3bb032aa9cb04ba0d2595b3673f27"; - description = "Microsoft Azure Command-Line Tools Terraform Extension"; - }; - timeseriesinsights = mkAzExtension rec { - pname = "timeseriesinsights"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/timeseriesinsights-${version}-py3-none-any.whl"; - sha256 = "c578804a6cfbb4ef8ab91de2130bba8f6139f2fadea4ed1e38b05ea62c7aa95d"; - description = "Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension"; - }; - traffic-collector = mkAzExtension rec { - pname = "traffic-collector"; - version = "0.1.3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/traffic_collector-${version}-py3-none-any.whl"; - sha256 = "a144a4fda3bce84db22277bd8611084ae1ae39e0bb8c7b50619ec378711f57ba"; - description = "Microsoft Azure Command-Line Tools TrafficCollector Extension"; - }; - trustedsigning = mkAzExtension rec { - pname = "trustedsigning"; - version = "1.0.0b2"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/trustedsigning-${version}-py3-none-any.whl"; - sha256 = "c3ae869c1371493180b9ed71db0bdc3842bad54c8832beb6007118d26bed71e8"; - description = "Microsoft Azure Command-Line Tools Trustedsigning Extension"; - }; - virtual-network-manager = mkAzExtension rec { - pname = "virtual-network-manager"; - version = "1.3.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_manager-${version}-py3-none-any.whl"; - sha256 = "f16f992f98fd03c01dcef8a40f9b84de2367ff9e8850b48663a9bb1cb55b7bd4"; - description = "Microsoft Azure Command-Line Tools NetworkManagementClient Extension"; - }; - virtual-network-tap = mkAzExtension rec { - pname = "virtual-network-tap"; - version = "1.0.0b1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_tap-${version}-py2.py3-none-any.whl"; - sha256 = "ee5f6dcfc09fc09e0c3bbd386b4d3bc6cc1f8a3dde8ed550804f43ed4c3cb7ba"; - description = "Manage virtual network taps (VTAP)"; - }; - virtual-wan = mkAzExtension rec { - pname = "virtual-wan"; - version = "1.0.1"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_wan-${version}-py2.py3-none-any.whl"; - sha256 = "2db6c253d43862d06a4525073d67b61f1d34b7c8832162bd3b0bfffd24b9ada6"; - description = "Manage virtual WAN, hubs, VPN gateways and VPN sites"; - }; - vmware = mkAzExtension rec { - pname = "vmware"; - version = "7.1.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-${version}-py2.py3-none-any.whl"; - sha256 = "53dc8b1d803cd784e668c4d4d630dec20390406af46266df0860f548a5c21f9d"; - description = "Azure VMware Solution commands"; - }; - webapp = mkAzExtension rec { - pname = "webapp"; - version = "0.4.0"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/webapp-${version}-py2.py3-none-any.whl"; - sha256 = "908b0df07cef652176a0f2bf0fdcf58b5d16fb4903ee3c06f73f0bb3913a5c0f"; - description = "Additional commands for Azure AppService"; - }; - workloads = mkAzExtension rec { - pname = "workloads"; - version = "1.1.0b3"; - url = "https://azcliprod.blob.core.windows.net/cli-extensions/workloads-${version}-py3-none-any.whl"; - sha256 = "a7373b2d3766c43b3caeafc0eddbb492429750b62c78f767760b9b0b42363206"; - description = "Microsoft Azure Command-Line Tools Workloads Extension"; - }; - -} diff --git a/pkgs/by-name/az/azure-cli/package.nix b/pkgs/by-name/az/azure-cli/package.nix index 7f05a9e75e0ba..a66bf24ecac82 100644 --- a/pkgs/by-name/az/azure-cli/package.nix +++ b/pkgs/by-name/az/azure-cli/package.nix @@ -46,14 +46,14 @@ let pname, version, url, - sha256, + hash, description, ... }@args: python3.pkgs.buildPythonPackage ( { format = "wheel"; - src = fetchurl { inherit url sha256; }; + src = fetchurl { inherit url hash; }; meta = { inherit description; inherit (azure-cli.meta) platforms maintainers; @@ -65,18 +65,20 @@ let } // (removeAttrs args [ "url" - "sha256" + "hash" "description" "meta" ]) ); - extensions = - callPackages ./extensions-generated.nix { inherit mkAzExtension; } - // callPackages ./extensions-manual.nix { - inherit mkAzExtension; - python3Packages = python3.pkgs; - }; + extensions-generated = lib.mapAttrs (name: ext: mkAzExtension ext) ( + builtins.fromJSON (builtins.readFile ./extensions-generated.json) + ); + extensions-manual = callPackages ./extensions-manual.nix { + inherit mkAzExtension; + python3Packages = python3.pkgs; + }; + extensions = extensions-generated // extensions-manual; extensionDir = stdenvNoCC.mkDerivation { name = "azure-cli-extensions"; From 797fff9526b5ee58a0c04c7a50f4ef23298788f3 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Tue, 29 Oct 2024 22:53:35 +0100 Subject: [PATCH 4/6] azure-cli-extensions: migrate hashes of manually packaged extensions to sri Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com> --- pkgs/by-name/az/azure-cli/extensions-manual.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/az/azure-cli/extensions-manual.nix b/pkgs/by-name/az/azure-cli/extensions-manual.nix index d6f65b53cd690..c9b907630e9b5 100644 --- a/pkgs/by-name/az/azure-cli/extensions-manual.nix +++ b/pkgs/by-name/az/azure-cli/extensions-manual.nix @@ -18,7 +18,7 @@ pname = "application-insights"; version = "1.2.1"; url = "https://azcliprod.blob.core.windows.net/cli-extensions/application_insights-${version}-py2.py3-none-any.whl"; - sha256 = "e1fa824eb587e2bec7f4cb4d1c4ce1033ab3d3fac65af42dd6218f673b019cee"; + hash = "sha256-4fqCTrWH4r7H9MtNHEzhAzqz0/rGWvQt1iGPZzsBnO4="; description = "Support for managing Application Insights components and querying metrics, events, and logs from such components"; propagatedBuildInputs = with python3Packages; [ isodate ]; meta.maintainers = with lib.maintainers; [ andreasvoss ]; @@ -28,7 +28,7 @@ pname = "azure-devops"; version = "1.0.1"; url = "https://github.com/Azure/azure-devops-cli-extension/releases/download/20240206.1/azure_devops-${version}-py2.py3-none-any.whl"; - sha256 = "658a2854d8c80f874f9382d421fa45abf6a38d00334737dda006f8dec64cf70a"; + hash = "sha256-ZYooVNjID4dPk4LUIfpFq/ajjQAzRzfdoAb43sZM9wo="; description = "Tools for managing Azure DevOps"; propagatedBuildInputs = with python3Packages; [ distro ]; meta.maintainers = with lib.maintainers; [ katexochen ]; @@ -39,7 +39,7 @@ description = "The Azure IoT extension for Azure CLI."; version = "0.25.0"; url = "https://github.com/Azure/azure-iot-cli-extension/releases/download/v${version}/azure_iot-${version}-py3-none-any.whl"; - sha256 = "7db4bc07667efa8472513d9e121fb2551fcaeae68255c7bc0768ad4177c1b1c6"; + hash = "sha256-fbS8B2Z++oRyUT2eEh+yVR/K6uaCVce8B2itQXfBscY="; propagatedBuildInputs = ( with python3Packages; [ @@ -65,7 +65,7 @@ pname = "confcom"; version = "1.0.0"; url = "https://azcliprod.blob.core.windows.net/cli-extensions/confcom-${version}-py3-none-any.whl"; - sha256 = "73823e10958a114b4aca84c330b4debcc650c4635e74c568679b6c32c356411d"; + hash = "sha256-c4I+EJWKEUtKyoTDMLTevMZQxGNedMVoZ5tsMsNWQR0="; description = "Microsoft Azure Command-Line Tools Confidential Container Security Policy Generator Extension"; nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ openssl_1_1 ]; @@ -85,7 +85,7 @@ pname = "containerapp"; version = "1.0.0b1"; url = "https://azcliprod.blob.core.windows.net/cli-extensions/containerapp-${version}-py2.py3-none-any.whl"; - sha256 = "d80b83b0e22770925c24bca150c84182376b7b0aff9b6f28498d769dc8618b45"; + hash = "sha256-2AuDsOIncJJcJLyhUMhBgjdrewr/m28oSY12nchhi0U="; description = "Microsoft Azure Command-Line Tools Containerapp Extension"; propagatedBuildInputs = with python3Packages; [ docker @@ -98,7 +98,7 @@ pname = "rdbms-connect"; version = "1.0.6"; url = "https://azcliprod.blob.core.windows.net/cli-extensions/rdbms_connect-${version}-py2.py3-none-any.whl"; - sha256 = "49cbe8d9b7ea07a8974a29ad90247e864ed798bed5f28d0e3a57a4b37f5939e7"; + hash = "sha256-Scvo2bfqB6iXSimtkCR+hk7XmL7V8o0OOleks39ZOec="; description = "Support for testing connection to Azure Database for MySQL & PostgreSQL servers"; propagatedBuildInputs = (with python3Packages; [ @@ -115,7 +115,7 @@ pname = "ssh"; version = "2.0.5"; url = "https://azcliprod.blob.core.windows.net/cli-extensions/ssh-${version}-py3-none-any.whl"; - sha256 = "80c98b10d7bf1ce4005b7694aedd05c47355456775ba6125308be65fb0fefc93"; + hash = "sha256-gMmLENe/HOQAW3aUrt0FxHNVRWd1umElMIvmX7D+/JM="; description = "SSH into Azure VMs using RBAC and AAD OpenSSH Certificates"; propagatedBuildInputs = with python3Packages; [ oras @@ -128,7 +128,7 @@ pname = "storage-preview"; version = "1.0.0b2"; url = "https://azcliprod.blob.core.windows.net/cli-extensions/storage_preview-${version}-py2.py3-none-any.whl"; - sha256 = "2de8fa421622928a308bb70048c3fdf40400bad3b34afd601d0b3afcd8b82764"; + hash = "sha256-Lej6QhYikoowi7cASMP99AQAutOzSv1gHQs6/Ni4J2Q="; description = "Provides a preview for upcoming storage features"; propagatedBuildInputs = with python3Packages; [ azure-core ]; meta.maintainers = with lib.maintainers; [ katexochen ]; From 94bda990a7b0bd693112c9b906f27d216853ca16 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:46:43 +0100 Subject: [PATCH 5/6] azure-cli.generate-extensions: use extensions-tool Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com> --- pkgs/by-name/az/azure-cli/package.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/pkgs/by-name/az/azure-cli/package.nix b/pkgs/by-name/az/azure-cli/package.nix index a66bf24ecac82..539571b4fb6d6 100644 --- a/pkgs/by-name/az/azure-cli/package.nix +++ b/pkgs/by-name/az/azure-cli/package.nix @@ -383,16 +383,7 @@ py.pkgs.toPythonApplication ( }; generate-extensions = writeScriptBin "${pname}-update-extensions" '' - export FILE=extensions-generated.nix - echo "# This file is automatically generated. DO NOT EDIT! Read README.md" > $FILE - echo "{ mkAzExtension }:" >> $FILE - echo "{" >> $FILE - ${./query-extension-index.sh} --requirements=false --download --nix --cli-version=${version} \ - | xargs -n1 -d '\n' echo " " >> $FILE - echo "" >> $FILE - echo "}" >> $FILE - echo "Extension was saved to \"extensions-generated.nix\" file." - echo "Move it to \"{nixpkgs}/pkgs/by-name/az/azure-cli/extensions-generated.nix\"." + ${lib.getExe azure-cli.extensions-tool} --cli-version ${azure-cli.version} --commit ''; extensions-tool = From ecbc72d1724087f2654323f5305a12278db86a0f Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:52:37 +0100 Subject: [PATCH 6/6] azure-cli-extensions: cleanup old scripts Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com> --- .../az/azure-cli/commit-update-hunks.sh | 19 -- .../az/azure-cli/query-extension-index.sh | 163 ------------------ 2 files changed, 182 deletions(-) delete mode 100755 pkgs/by-name/az/azure-cli/commit-update-hunks.sh delete mode 100755 pkgs/by-name/az/azure-cli/query-extension-index.sh diff --git a/pkgs/by-name/az/azure-cli/commit-update-hunks.sh b/pkgs/by-name/az/azure-cli/commit-update-hunks.sh deleted file mode 100755 index 7a9d913e260e7..0000000000000 --- a/pkgs/by-name/az/azure-cli/commit-update-hunks.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -# Just a tiny imperfect helper script to commit generated updates. -# -# First, ensure that that `git add -p extensions-generated.nix` only -# returns a series of clean update hunks, where each hunk updates a -# single package version. All additions/removals must be committed -# by hand. -# The script will then commit the remaining hunks with fitting commit messages. - -while true; do - echo -e "y\nq" | git add -p extensions-generated.nix || break - pname=$(git diff --no-ext-diff --cached | grep "pname =" | cut -d'"' -f2 | head -n1) || break - versions=$(git diff --no-ext-diff --cached | grep "version =" | cut -d'"' -f2) || break - oldver=$(echo "$versions" | head -n1) || break - newver=$(echo "$versions" | tail -n1) || break - commitmsg="azure-cli-extensions.${pname}: ${oldver} -> ${newver}" - git commit -m "$commitmsg" -done diff --git a/pkgs/by-name/az/azure-cli/query-extension-index.sh b/pkgs/by-name/az/azure-cli/query-extension-index.sh deleted file mode 100755 index 8dbd45ce937e6..0000000000000 --- a/pkgs/by-name/az/azure-cli/query-extension-index.sh +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -function usage() { - { - echo "${0} - query Azure CLI extension index" - echo - echo "The Azure CLI extension index contains all versions of all extensions. This" - echo "script queries the index for the latest version of an extensions that is" - echo "compatible with the specified version of the Azure CLI. Data for that extension" - echo "is filtered for fields relevant to package the extension in Nix." - echo - echo "Usage:" - echo " --cli-version= version of azure-cli (required)" - echo " --extension= name of extension to query" - echo " --file= path to extension index file" - echo " --download download extension index file" - echo " --nix output Nix expression" - echo " --requirements= filter for extensions with/without requirements" - } >&2 -} - -for arg in "$@"; do - case "$arg" in - --cli-version=*) - cliVer="${arg#*=}" - shift - ;; - --extension=*) - extName="${arg#*=}" - shift - ;; - --file=*) - extensionFile="${arg#*=}" - shift - ;; - --download) - download=true - shift - ;; - --nix) - nix=true - shift - ;; - --requirements=*) - requirements="${arg#*=}" - shift - ;; - --help) - usage - exit 0 - ;; - *) - echo "Unknown argument: $arg" >&2 - exit 1 - ;; - esac -done - -if [[ -z "${cliVer:-}" ]]; then - echo "Missing --cli-version argument" >&2 - exit 1 -fi -if [[ -z "${extensionFile:-}" && -z "${download:-}" ]]; then - echo "Either --file or --download must be specified" >&2 - exit 1 -fi -if [[ -n "${extName:-}" && -n "${requirements:-}" ]]; then - echo "--requirements can only be used when listing all extensions" >&2 - exit 1 -fi - -if [[ "${download:-}" == true ]]; then - extensionFile="$(mktemp)" - echo "Downloading extensions index to ${extensionFile}" >&2 - curl -fsSL "https://azcliextensionsync.blob.core.windows.net/index1/index.json" > "${extensionFile}" -fi - -# shellcheck disable=SC2016 -jqProgram=' - def opt(f): - . as $in | try f catch $in - ; - - def version_to_array: - sub("\\+.*$"; "") - | capture("^(?[^a-z-]+)(?:(?

.*))?") | [.v, .p // empty] - | map(split(".") - | map(opt(tonumber))) - | flatten - ; - - def version_le($contstraint): - version_to_array as $v - | $contstraint | version_to_array as $c - | $v[0] < $c[0] or - ($v[0] == $c[0] and $v[1] < $c[1]) or - ($v[0] == $c[0] and $v[1] == $c[1] and $v[2] < $c[2]) or - ($v[0] == $c[0] and $v[1] == $c[1] and $v[2] == $c[2] and $v[3] <= $c[3]) - ; - - def max_constrained_version($constraint): - [ - .[] | select(.metadata."azext.minCliCoreVersion" // "0.0.0" | version_le($cliVer)) - ] - | sort_by(.metadata.version | version_to_array) - | last - ; - - def translate_struct: - { - pname : .metadata.name, - description: .metadata.summary, - version: .metadata.version, - url: .downloadUrl, - sha256: .sha256Digest, - license: .metadata.license, - requires: .metadata.run_requires.[0].requires - } - ; - - def to_nix: - [.].[] as $in - | .version as $version - | .description as $description - | .url | sub($version;"${version}") as $url - | $description |rtrimstr(".") as $description - | $in.pname + " = mkAzExtension rec {\n" + - " pname = \"" + $in.pname + "\";\n" + - " version = \"" + $in.version + "\";\n" + - " url = \"" + $url + "\";\n" + - " sha256 = \"" + $in.sha256 + "\";\n" + - " description = \"" + $description + "\";\n" + - "};" - ; - - def main: - .extensions - | map(max_constrained_version($cliVer)) - | .[] - | translate_struct - | if $extName != "" then - select(.pname == $extName) - elif $requirements == "false" then - select(.requires == null) - elif $requirements == "true" then - select(.requires != null) - end - | if $nix == "true" then - to_nix - end - ; - - main -' - -jq -r \ - --arg cliVer "${cliVer}" \ - --arg extName "${extName:-}" \ - --arg nix "${nix:-}" \ - --arg requirements "${requirements:-}" \ - "$jqProgram" "${extensionFile}"