azure-cli: add extensions

+1214 -2
+10
nixos/doc/manual/release-notes/rl-2405.section.md
··· 118 118 119 119 - The legacy and long deprecated systemd target `network-interfaces.target` has been removed. Use `network.target` instead. 120 120 121 + - `azure-cli` now has extension support. For example, to install the `aks-preview` extension, use 122 + 123 + ```nix 124 + environment.systemPackages = [ 125 + (azure-cli.withExtensions [ azure-cli.extensions.aks-preview ]); 126 + ]; 127 + ``` 128 + To make the `azure-cli` immutable and prevent clashes in case `azure-cli` is also installed via other package managers, some configuration files were moved into the derivation. 129 + This can be disabled by overriding `withImmutableConfig = false` when building `azure-cli`. 130 + 121 131 - `services.frp.settings` now generates the frp configuration file in TOML format as [recommended by upstream](https://github.com/fatedier/frp#configuration-files), instead of the legacy INI format. This has also introduced other changes in the configuration file structure and options. 122 132 - The `settings.common` section in the configuration is no longer valid and all the options form inside it now goes directly under `settings`. 123 133 - The `_` separating words in the configuration options is removed so the options are now in camel case. For example: `server_addr` becomes `serverAddr`, `server_port` becomes `serverPort` etc.
+57 -2
pkgs/tools/admin/azure-cli/default.nix
··· 1 1 { lib 2 2 , callPackage 3 + , callPackages 4 + , stdenvNoCC 5 + , fetchurl 3 6 , fetchFromGitHub 4 7 , installShellFiles 8 + , python3 5 9 6 10 # Whether to include patches that enable placing certain behavior-defining 7 11 # configuration files in the Nix store. 8 12 , withImmutableConfig ? true 13 + 14 + # List of extensions/plugins to include. 15 + , withExtensions ? [ ] 9 16 }: 10 17 11 18 let ··· 21 28 22 29 # put packages that needs to be overridden in the py package scope 23 30 py = callPackage ./python-packages.nix { inherit src version; }; 31 + 32 + # Builder for Azure CLI extensions. Extensions are Python wheels that 33 + # outside of nix would be fetched by the CLI itself from various sources. 34 + mkAzExtension = 35 + { pname 36 + , version 37 + , url 38 + , sha256 39 + , description 40 + }: python3.pkgs.buildPythonPackage { 41 + inherit pname version; 42 + format = "wheel"; 43 + src = fetchurl { inherit url sha256; }; 44 + meta = with lib; { 45 + inherit description; 46 + inherit (azure-cli.meta) platforms maintainers; 47 + homepage = "https://github.com/Azure/azure-cli-extensions"; 48 + changelog = "https://github.com/Azure/azure-cli-extensions/blob/main/src/${pname}/HISTORY.rst"; 49 + license = lib.licenses.mit; 50 + sourceProvenance = [ sourceTypes.fromSource ]; 51 + }; 52 + }; 53 + 54 + extensions = callPackages ./extensions-generated.nix { inherit mkAzExtension; }; 55 + 56 + extensionDir = stdenvNoCC.mkDerivation { 57 + name = "azure-cli-extensions"; 58 + dontUnpack = true; 59 + installPhase = 60 + let 61 + namePaths = map (p: "${p.pname},${p}/${python3.sitePackages}") withExtensions; 62 + in 63 + '' 64 + for line in ${lib.concatStringsSep " " namePaths}; do 65 + name=$(echo $line | cut -d',' -f1) 66 + path=$(echo $line | cut -d',' -f2) 67 + mkdir -p $out/$name 68 + for f in $(ls $path); do 69 + ln -s $path/$f $out/$name/$f 70 + done 71 + done 72 + ''; 73 + }; 24 74 in 25 75 26 76 py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage { ··· 199 249 wrapProgram $out/bin/az \ 200 250 '' + lib.optionalString withImmutableConfig '' 201 251 --set AZURE_IMMUTABLE_DIR $out/etc/azure \ 252 + '' + lib.optionalString (withExtensions != [ ]) '' 253 + --set AZURE_EXTENSION_DIR ${extensionDir} \ 202 254 '' + '' 203 255 --set PYTHONPATH $PYTHONPATH 204 - '' 205 - ; 256 + ''; 206 257 207 258 doInstallCheck = true; 208 259 installCheckPhase = '' ··· 283 334 "azure.storage.blob" 284 335 "azure.storage.common" 285 336 ]; 337 + 338 + passthru = { 339 + inherit extensions; 340 + }; 286 341 287 342 meta = with lib; { 288 343 homepage = "https://github.com/Azure/azure-cli";
+982
pkgs/tools/admin/azure-cli/extensions-generated.nix
··· 1 + # This file packages Azure CLI extensions that don't have any requirements. 2 + # Extensions with requirements should be placed in another file, so this one 3 + # can be re-generated during update. 4 + # 5 + # Attributes were generated using the query-extension-index.sh script: 6 + # ./query-extension-index.sh --requirements=false --download --nix --cli-version=<version> 7 + { mkAzExtension }: 8 + { 9 + account = mkAzExtension rec { 10 + pname = "account"; 11 + version = "0.2.5"; 12 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/account-${version}-py3-none-any.whl"; 13 + sha256 = "0b94df323acfc48ea3141904649106bb85695187dbf63aa3b8448ec12bc00c23"; 14 + description = "Microsoft Azure Command-Line Tools SubscriptionClient Extension"; 15 + }; 16 + acrquery = mkAzExtension rec { 17 + pname = "acrquery"; 18 + version = "1.0.1"; 19 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/acrquery-${version}-py3-none-any.whl"; 20 + sha256 = "9094137a4d08f2ede7b662c99df0665f338aae7bcaf4976bed5d42df754571f1"; 21 + description = "Microsoft Azure Command-Line Tools AcrQuery Extension"; 22 + }; 23 + acrtransfer = mkAzExtension rec { 24 + pname = "acrtransfer"; 25 + version = "1.1.0"; 26 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/acrtransfer-${version}-py3-none-any.whl"; 27 + sha256 = "668b94d0341b663a610212f318b899a53be60ae0eb59c47e162f5dabd3483551"; 28 + description = "Microsoft Azure Command-Line Tools Acrtransfer Extension"; 29 + }; 30 + ad = mkAzExtension rec { 31 + pname = "ad"; 32 + version = "0.1.0"; 33 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/ad-${version}-py3-none-any.whl"; 34 + sha256 = "61df234e10759e9916c1d447ab02b82637de10fd97c31a17252e1f5183853883"; 35 + description = "Microsoft Azure Command-Line Tools DomainServicesResourceProvider Extension"; 36 + }; 37 + adp = mkAzExtension rec { 38 + pname = "adp"; 39 + version = "0.1.0"; 40 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/adp-${version}-py3-none-any.whl"; 41 + sha256 = "fd64519832f4fd314431f87176507e10249b8d165537f81d05c9ea5185ae84ec"; 42 + description = "Microsoft Azure Command-Line Tools Adp Extension"; 43 + }; 44 + aem = mkAzExtension rec { 45 + pname = "aem"; 46 + version = "0.3.0"; 47 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/aem-${version}-py2.py3-none-any.whl"; 48 + sha256 = "25aaf9006ab1d115d7c484cfda1c9ad0e3617af6d2140db87499aaea81b67ff8"; 49 + description = "Manage Azure Enhanced Monitoring Extensions for SAP"; 50 + }; 51 + ai-examples = mkAzExtension rec { 52 + pname = "ai-examples"; 53 + version = "0.2.5"; 54 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/ai_examples-${version}-py2.py3-none-any.whl"; 55 + sha256 = "badbdf5fc2e0b4a85c4124d3fc92859b582adf8f30f5727440ce81942140099a"; 56 + description = "Add AI powered examples to help content"; 57 + }; 58 + aks-preview = mkAzExtension rec { 59 + pname = "aks-preview"; 60 + version = "1.0.0b5"; 61 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-${version}-py2.py3-none-any.whl"; 62 + sha256 = "75378ea07dea6fdadb115e41e8394003fd63282560648fa92d8f055f1e2536eb"; 63 + description = "Provides a preview for upcoming AKS features"; 64 + }; 65 + akshybrid = mkAzExtension rec { 66 + pname = "akshybrid"; 67 + version = "0.1.2"; 68 + url = "https://hybridaksstorage.z13.web.core.windows.net/HybridAKS/CLI/akshybrid-${version}-py3-none-any.whl"; 69 + sha256 = "9767cda444c421573bc220e01cd58a67c30a36175cedba68b0454a3c6e983a8e"; 70 + description = "Microsoft Azure Command-Line Tools HybridContainerService Extension"; 71 + }; 72 + alb = mkAzExtension rec { 73 + pname = "alb"; 74 + version = "1.0.0"; 75 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/alb-${version}-py3-none-any.whl"; 76 + sha256 = "b020cd8cd3da6299dc978499dae452768b7651c3ed8e05f2f0b321bd9b8354d4"; 77 + description = "Microsoft Azure Command-Line Tools ALB Extension"; 78 + }; 79 + alertsmanagement = mkAzExtension rec { 80 + pname = "alertsmanagement"; 81 + version = "0.2.3"; 82 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/alertsmanagement-${version}-py3-none-any.whl"; 83 + sha256 = "b45a5752924ab1205ff5862f03a4a465eccb4dd8e79900023498d674aa68665b"; 84 + description = "Microsoft Azure Command-Line Tools AlertsManagementClient Extension"; 85 + }; 86 + amg = mkAzExtension rec { 87 + pname = "amg"; 88 + version = "1.2.9"; 89 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/amg-${version}-py3-none-any.whl"; 90 + sha256 = "dbea8dd0e85dd2f30f30cb66f0dd7f9d0314a7ff9765a4d074622b75aeccad2f"; 91 + description = "Microsoft Azure Command-Line Tools Azure Managed Grafana Extension"; 92 + }; 93 + amlfs = mkAzExtension rec { 94 + pname = "amlfs"; 95 + version = "1.0.0"; 96 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/amlfs-${version}-py3-none-any.whl"; 97 + sha256 = "21b5a12943e727315288aa0ca1c49a25803a656b7f388c3c637596cfdf67bd1d"; 98 + description = "Microsoft Azure Command-Line Tools Amlfs Extension"; 99 + }; 100 + apic-extension = mkAzExtension rec { 101 + pname = "apic-extension"; 102 + version = "1.0.0b4"; 103 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/apic_extension-${version}-py3-none-any.whl"; 104 + sha256 = "67294fd30190b66b339c8d550e58e1401117b313bea638fb0c126dec26249408"; 105 + description = "Microsoft Azure Command-Line Tools ApicExtension Extension"; 106 + }; 107 + appservice-kube = mkAzExtension rec { 108 + pname = "appservice-kube"; 109 + version = "0.1.9"; 110 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-${version}-py2.py3-none-any.whl"; 111 + sha256 = "9107762296c67ef4035256a9790b075040f263804116a3f9a6866227ff6019ed"; 112 + description = "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension"; 113 + }; 114 + authV2 = mkAzExtension rec { 115 + pname = "authV2"; 116 + version = "0.1.3"; 117 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/authV2-${version}-py3-none-any.whl"; 118 + sha256 = "eb05636f8c78e2f83b7f452fe56f5a9ae496d6909dc36924ae5f98a2fb5bce41"; 119 + description = "Microsoft Azure Command-Line Tools Authv2 Extension"; 120 + }; 121 + automanage = mkAzExtension rec { 122 + pname = "automanage"; 123 + version = "0.1.2"; 124 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/automanage-${version}-py3-none-any.whl"; 125 + sha256 = "42341a6cfdacb3af0433b10b3e9bcb5226d4c7fb59730378408a957662266551"; 126 + description = "Microsoft Azure Command-Line Tools Automanage Extension"; 127 + }; 128 + automation = mkAzExtension rec { 129 + pname = "automation"; 130 + version = "0.2.2"; 131 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/automation-${version}-py3-none-any.whl"; 132 + sha256 = "1337a8bf90739df646231533801cce9050bad641c627382468c86af5f2f99d89"; 133 + description = "Microsoft Azure Command-Line Tools AutomationClient Extension"; 134 + }; 135 + azure-firewall = mkAzExtension rec { 136 + pname = "azure-firewall"; 137 + version = "1.0.1"; 138 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-${version}-py2.py3-none-any.whl"; 139 + sha256 = "920023c55ae72d7e85baa43d81d96683be0e8348228b6f8e89e479fd4092c0f8"; 140 + description = "Manage Azure Firewall resources"; 141 + }; 142 + azurelargeinstance = mkAzExtension rec { 143 + pname = "azurelargeinstance"; 144 + version = "1.0.0b1"; 145 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/azurelargeinstance-${version}-py3-none-any.whl"; 146 + sha256 = "a6e38c623cf14a9528df9f28aa98d9642c1e73c0a815becdce842e3a2f0f49ac"; 147 + description = "Microsoft Azure Command-Line Tools Azurelargeinstance Extension"; 148 + }; 149 + azurestackhci = mkAzExtension rec { 150 + pname = "azurestackhci"; 151 + version = "0.2.9"; 152 + url = "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-${version}-py3-none-any.whl"; 153 + sha256 = "2557b2fe3fa2f951a2794ba967555ba54c2e93eb75538152f21ab2fb568fef16"; 154 + description = "Microsoft Azure Command-Line Tools AzureStackHCI Extension"; 155 + }; 156 + baremetal-infrastructure = mkAzExtension rec { 157 + pname = "baremetal-infrastructure"; 158 + version = "2.0.1"; 159 + url = "https://github.com/Azure/azure-baremetalinfrastructure-cli-extension/releases/download/${version}/baremetal_infrastructure-2.0.1-py2.py3-none-any.whl"; 160 + sha256 = "ea127d64603c8a45774cdf9aa80c4c8b5839a42719971b296beb96105fe5ef2d"; 161 + description = "Additional commands for working with BareMetal instances"; 162 + }; 163 + bastion = mkAzExtension rec { 164 + pname = "bastion"; 165 + version = "0.3.0"; 166 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/bastion-${version}-py3-none-any.whl"; 167 + sha256 = "c20d8e423acef3b6728c9abdfe90ad4a7020f2d122068983d7b59b9e3fef84c3"; 168 + description = "Microsoft Azure Command-Line Tools Bastion Extension"; 169 + }; 170 + billing-benefits = mkAzExtension rec { 171 + pname = "billing-benefits"; 172 + version = "0.1.0"; 173 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/billing_benefits-${version}-py3-none-any.whl"; 174 + sha256 = "f71250d1c26690cc0e175cd5c9bcd59e76c7b701bb3a47c8273e4cf8bcca878e"; 175 + description = "Microsoft Azure Command-Line Tools BillingBenefits Extension"; 176 + }; 177 + blockchain = mkAzExtension rec { 178 + pname = "blockchain"; 179 + version = "0.1.1"; 180 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/blockchain-${version}-py3-none-any.whl"; 181 + sha256 = "95a4788ab10052f6c1b4122db6ab140705db528e5cb3db3358580d703a2a7204"; 182 + description = "Microsoft Azure Command-Line Tools BlockchainManagementClient Extension"; 183 + }; 184 + blueprint = mkAzExtension rec { 185 + pname = "blueprint"; 186 + version = "0.3.2"; 187 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-${version}-py3-none-any.whl"; 188 + sha256 = "58d3835446dd93e585b0f6b520a2db6551b8a927e35e25da4747d4cf8a4c009b"; 189 + description = "Microsoft Azure Command-Line Tools Blueprint Extension"; 190 + }; 191 + change-analysis = mkAzExtension rec { 192 + pname = "change-analysis"; 193 + version = "0.1.0"; 194 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/change_analysis-${version}-py3-none-any.whl"; 195 + sha256 = "49f1761a1b1ad29169af2ecd5793e10ddec797ebb2610e7c70e1b1ab2b75126a"; 196 + description = "Microsoft Azure Command-Line Tools ChangeAnalysis Extension"; 197 + }; 198 + cli-translator = mkAzExtension rec { 199 + pname = "cli-translator"; 200 + version = "0.3.0"; 201 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-${version}-py3-none-any.whl"; 202 + sha256 = "9ea6162d37fc3390be4dce64cb05c5c588070104f3e92a701ab475473565a8a9"; 203 + description = "Translate ARM template to executable Azure CLI scripts"; 204 + }; 205 + confidentialledger = mkAzExtension rec { 206 + pname = "confidentialledger"; 207 + version = "1.0.0"; 208 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/confidentialledger-${version}-py3-none-any.whl"; 209 + sha256 = "3afbf49f10cdddd9675562364ce2275f6f70eb5318fa85b658d711b1e24dc94e"; 210 + description = "Microsoft Azure Command-Line Tools ConfidentialLedger Extension"; 211 + }; 212 + confluent = mkAzExtension rec { 213 + pname = "confluent"; 214 + version = "0.4.0"; 215 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-${version}-py3-none-any.whl"; 216 + sha256 = "7b812940a77094bc916c745a61b7732966de4e7943a7541c0a402c0d912bc6af"; 217 + description = "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension"; 218 + }; 219 + connectedmachine = mkAzExtension rec { 220 + pname = "connectedmachine"; 221 + version = "0.7.0"; 222 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/connectedmachine-${version}-py3-none-any.whl"; 223 + sha256 = "792975ebf0260767481b2ffab0aa3154509c55a9ab60c7f987c3fdead726cd82"; 224 + description = "Microsoft Azure Command-Line Tools ConnectedMachine Extension"; 225 + }; 226 + connectedvmware = mkAzExtension rec { 227 + pname = "connectedvmware"; 228 + version = "0.2.4"; 229 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-${version}-py2.py3-none-any.whl"; 230 + sha256 = "8a96c790317dfee523d548c28a51191746ff3b45ede4fee56e804d195de437f6"; 231 + description = "Microsoft Azure Command-Line Tools Connectedvmware Extension"; 232 + }; 233 + connection-monitor-preview = mkAzExtension rec { 234 + pname = "connection-monitor-preview"; 235 + version = "0.1.0"; 236 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/connection_monitor_preview-${version}-py2.py3-none-any.whl"; 237 + sha256 = "9a796d5187571990d27feb9efeedde38c194f13ea21cbf9ec06131196bfd821d"; 238 + description = "Microsoft Azure Command-Line Connection Monitor V2 Extension"; 239 + }; 240 + cosmosdb-preview = mkAzExtension rec { 241 + pname = "cosmosdb-preview"; 242 + version = "0.26.0"; 243 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-${version}-py2.py3-none-any.whl"; 244 + sha256 = "c761a022fa8e849534d51bb51c6b6a7c01b541a5f018532f7fe312f74f689b06"; 245 + description = "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension"; 246 + }; 247 + costmanagement = mkAzExtension rec { 248 + pname = "costmanagement"; 249 + version = "0.3.0"; 250 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/costmanagement-${version}-py3-none-any.whl"; 251 + sha256 = "5661a2082ecca000b0c764dc92585e2aa601ccd5eeeb296397533cf4da814cf6"; 252 + description = "Microsoft Azure Command-Line Tools CostManagementClient Extension"; 253 + }; 254 + csvmware = mkAzExtension rec { 255 + pname = "csvmware"; 256 + version = "0.3.0"; 257 + url = "https://github.com/Azure/az-csvmware-cli/releases/download/${version}/csvmware-0.3.0-py2.py3-none-any.whl"; 258 + sha256 = "dfb9767f05ac13c762ea9dc4327169e63a5c11879123544b200edb9a2c9a8a42"; 259 + description = "Manage Azure VMware Solution by CloudSimple"; 260 + }; 261 + custom-providers = mkAzExtension rec { 262 + pname = "custom-providers"; 263 + version = "0.2.1"; 264 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/custom_providers-${version}-py2.py3-none-any.whl"; 265 + sha256 = "a9938f09c86fa4575e3c887206908cac15920af528c537c0b998362a1c43daf7"; 266 + description = "Microsoft Azure Command-Line Tools Custom Providers Extension"; 267 + }; 268 + customlocation = mkAzExtension rec { 269 + pname = "customlocation"; 270 + version = "0.1.3"; 271 + url = "https://arcplatformcliextprod.blob.core.windows.net/customlocation/customlocation-${version}-py2.py3-none-any.whl"; 272 + sha256 = "5e36435b1a81de25e74e70c45c2ac9f98065138c35050f29210ae40c18484e28"; 273 + description = "Microsoft Azure Command-Line Tools Customlocation Extension"; 274 + }; 275 + databox = mkAzExtension rec { 276 + pname = "databox"; 277 + version = "1.1.0"; 278 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/databox-${version}-py3-none-any.whl"; 279 + sha256 = "7b41a60521d7cf652d4cdca052fc9d2ec6371f3d7884ec0a74ba9a7d5001d7bb"; 280 + description = "Microsoft Azure Command-Line Tools Databox Extension"; 281 + }; 282 + databricks = mkAzExtension rec { 283 + pname = "databricks"; 284 + version = "0.10.2"; 285 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-${version}-py3-none-any.whl"; 286 + sha256 = "7db0b97b497512671343c472fad2ca7a0987ac2cddc0ae0ceab227e3d017718f"; 287 + description = "Microsoft Azure Command-Line Tools DatabricksClient Extension"; 288 + }; 289 + datadog = mkAzExtension rec { 290 + pname = "datadog"; 291 + version = "0.1.1"; 292 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/datadog-${version}-py3-none-any.whl"; 293 + sha256 = "9a38fd5d6d01646f299ee7b5f68e82ad708889c7d0bd72e0b6b6b13e5455e937"; 294 + description = "Microsoft Azure Command-Line Tools MicrosoftDatadogClient Extension"; 295 + }; 296 + datafactory = mkAzExtension rec { 297 + pname = "datafactory"; 298 + version = "1.0.0"; 299 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/datafactory-${version}-py3-none-any.whl"; 300 + sha256 = "30941f7e2c093f040c958db024367b750068a5181554b23f7403f4522375c41e"; 301 + description = "Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension"; 302 + }; 303 + datamigration = mkAzExtension rec { 304 + pname = "datamigration"; 305 + version = "0.6.1"; 306 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/datamigration-${version}-py3-none-any.whl"; 307 + sha256 = "4a07a5272762f8f53f9fe61b295a800e63c0ea2900a29a526df2eabbe732bca7"; 308 + description = "Microsoft Azure Command-Line Tools DataMigrationManagementClient Extension"; 309 + }; 310 + dataprotection = mkAzExtension rec { 311 + pname = "dataprotection"; 312 + version = "0.11.2"; 313 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/dataprotection-${version}-py3-none-any.whl"; 314 + sha256 = "ce31a7bb0c939d6eb6d71971f89441abaee172a3ba5b74dae0ebe88e4a8f5300"; 315 + description = "Microsoft Azure Command-Line Tools DataProtectionClient Extension"; 316 + }; 317 + datashare = mkAzExtension rec { 318 + pname = "datashare"; 319 + version = "0.2.0"; 320 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/datashare-${version}-py3-none-any.whl"; 321 + sha256 = "f1a801bd0c38eb2ebf9c2fb4e0b43a98470ae7b40bbcd05eb2aa596d69579c9e"; 322 + description = "Microsoft Azure Command-Line Tools DataShareManagementClient Extension"; 323 + }; 324 + deploy-to-azure = mkAzExtension rec { 325 + pname = "deploy-to-azure"; 326 + version = "0.2.0"; 327 + url = "https://github.com/Azure/deploy-to-azure-cli-extension/releases/download/20200318.1/deploy_to_azure-${version}-py2.py3-none-any.whl"; 328 + sha256 = "f925080ee7abc3aef733d4c6313170bdedaa9569af1b95427383bc3c59e4ceb8"; 329 + description = "Deploy to Azure using Github Actions"; 330 + }; 331 + desktopvirtualization = mkAzExtension rec { 332 + pname = "desktopvirtualization"; 333 + version = "0.2.0"; 334 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/desktopvirtualization-${version}-py3-none-any.whl"; 335 + sha256 = "6de28d6be58dd65ad8f25a9fa084676c54684f00f9938f5db7d0392282783e04"; 336 + description = "Microsoft Azure Command-Line Tools DesktopVirtualizationAPIClient Extension"; 337 + }; 338 + dev-spaces = mkAzExtension rec { 339 + pname = "dev-spaces"; 340 + version = "1.0.6"; 341 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/dev_spaces-${version}-py2.py3-none-any.whl"; 342 + sha256 = "71041808b27cd9d33fd905c5080c97f61291816f2dddd6dcdb2e66b9fb6ebf59"; 343 + description = "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams"; 344 + }; 345 + devcenter = mkAzExtension rec { 346 + pname = "devcenter"; 347 + version = "5.0.0"; 348 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/devcenter-${version}-py3-none-any.whl"; 349 + sha256 = "873ce4ec274710a361ba2a6bf93d8820949d955bf4386881d9a37ed87bb0d054"; 350 + description = "Microsoft Azure Command-Line Tools DevCenter Extension"; 351 + }; 352 + diskpool = mkAzExtension rec { 353 + pname = "diskpool"; 354 + version = "0.2.0"; 355 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/diskpool-${version}-py3-none-any.whl"; 356 + sha256 = "9ae6aaea85a17529da2a4e51c2ba2aba55b4b26816d5618eafd0f9fdc43b67b7"; 357 + description = "Microsoft Azure Command-Line Tools StoragePoolManagement Extension"; 358 + }; 359 + dms-preview = mkAzExtension rec { 360 + pname = "dms-preview"; 361 + version = "0.15.0"; 362 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/dms_preview-${version}-py2.py3-none-any.whl"; 363 + sha256 = "556c145c03b8d529d8e77f7b35702fb8de382891635e858f928117f33688ee9c"; 364 + description = "Support for new Database Migration Service scenarios"; 365 + }; 366 + dnc = mkAzExtension rec { 367 + pname = "dnc"; 368 + version = "0.2.1"; 369 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/dnc-${version}-py3-none-any.whl"; 370 + sha256 = "e38474ca9b28bed5dde388cf73dff9e3504825032b03c5bf8930c25caf292026"; 371 + description = "Microsoft Azure Command-Line Tools Dnc Extension"; 372 + }; 373 + dns-resolver = mkAzExtension rec { 374 + pname = "dns-resolver"; 375 + version = "0.2.0"; 376 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/dns_resolver-${version}-py3-none-any.whl"; 377 + sha256 = "1c4bb8216e509c2f08fa75c45930ec377768326f30cb9ab125842aa9352c6e2e"; 378 + description = "Microsoft Azure Command-Line Tools DnsResolverManagementClient Extension"; 379 + }; 380 + dynatrace = mkAzExtension rec { 381 + pname = "dynatrace"; 382 + version = "0.1.0"; 383 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/dynatrace-${version}-py3-none-any.whl"; 384 + sha256 = "112a7e423461d1b6f7c385fe8b73b4f2b850e2570c35a54a4bbcc2e87afec661"; 385 + description = "Microsoft Azure Command-Line Tools Dynatrace Extension"; 386 + }; 387 + edgeorder = mkAzExtension rec { 388 + pname = "edgeorder"; 389 + version = "0.1.0"; 390 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/edgeorder-${version}-py3-none-any.whl"; 391 + sha256 = "186a06d0f8603f7e0faeed5296ecc73bf1096e0d681acea42d5ebccc1670357b"; 392 + description = "Microsoft Azure Command-Line Tools EdgeOrderManagementClient Extension"; 393 + }; 394 + elastic = mkAzExtension rec { 395 + pname = "elastic"; 396 + version = "1.0.0b2"; 397 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/elastic-${version}-py3-none-any.whl"; 398 + sha256 = "1d99dbcc10b99185b4cd9b64a8835d80b424226e5cf5d40b3e3ae1d435532657"; 399 + description = "Microsoft Azure Command-Line Tools MicrosoftElastic Extension"; 400 + }; 401 + elastic-san = mkAzExtension rec { 402 + pname = "elastic-san"; 403 + version = "1.0.0b2"; 404 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/elastic_san-${version}-py3-none-any.whl"; 405 + sha256 = "6d2f1247ae78e431d4834989df581cd21241d16b97071bf672fb8b71ee3ad702"; 406 + description = "Microsoft Azure Command-Line Tools ElasticSan Extension"; 407 + }; 408 + eventgrid = mkAzExtension rec { 409 + pname = "eventgrid"; 410 + version = "1.0.0b1"; 411 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/eventgrid-${version}-py2.py3-none-any.whl"; 412 + sha256 = "662ca2a381efcf821a16648ff3b89edbe21f4e9887e18ffa7ee0dbbaf0332ede"; 413 + description = "Microsoft Azure Command-Line Tools EventGrid Command Module"; 414 + }; 415 + express-route-cross-connection = mkAzExtension rec { 416 + pname = "express-route-cross-connection"; 417 + version = "0.1.1"; 418 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/express_route_cross_connection-${version}-py2.py3-none-any.whl"; 419 + sha256 = "b83f723baae0ea04557a87f358fa2131baf15d45cd3aba7a9ab42d14ec80df38"; 420 + description = "Manage customer ExpressRoute circuits using an ExpressRoute cross-connection"; 421 + }; 422 + fleet = mkAzExtension rec { 423 + pname = "fleet"; 424 + version = "1.0.3"; 425 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/fleet-${version}-py3-none-any.whl"; 426 + sha256 = "cd93b819d0a8c1ab50f4aec00b31623fd01040362c4cd633a89ba03fc894eb73"; 427 + description = "Microsoft Azure Command-Line Tools Fleet Extension"; 428 + }; 429 + fluid-relay = mkAzExtension rec { 430 + pname = "fluid-relay"; 431 + version = "0.1.0"; 432 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/fluid_relay-${version}-py3-none-any.whl"; 433 + sha256 = "9217666f8134a38e09aeda905e7cc83994332a5ab563ec8935b9ff6c91563e8c"; 434 + description = "Microsoft Azure Command-Line Tools FluidRelay Extension"; 435 + }; 436 + footprint = mkAzExtension rec { 437 + pname = "footprint"; 438 + version = "1.0.0"; 439 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/footprint-${version}-py3-none-any.whl"; 440 + sha256 = "4aa59288bf46cfd68519f1f7f63d3e33af16d80632b84c283cc7152129260b2c"; 441 + description = "Microsoft Azure Command-Line Tools FootprintMonitoringManagementClient Extension"; 442 + }; 443 + front-door = mkAzExtension rec { 444 + pname = "front-door"; 445 + version = "1.0.17"; 446 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/front_door-${version}-py3-none-any.whl"; 447 + sha256 = "20996a4d864963451572b71fecf4906f3e7fe8f403a651a1d1e98363df63d095"; 448 + description = "Manage networking Front Doors"; 449 + }; 450 + fzf = mkAzExtension rec { 451 + pname = "fzf"; 452 + version = "1.0.2"; 453 + url = "https://pahealyfzf.blob.core.windows.net/fzf/fzf-${version}-py2.py3-none-any.whl"; 454 + sha256 = "84abeed03b4bbfa7b8c0be08d9366ff3040e2160df4f5a539f0e1c9e0a1c359c"; 455 + description = "Microsoft Azure Command-Line Tools fzf Extension"; 456 + }; 457 + graphservices = mkAzExtension rec { 458 + pname = "graphservices"; 459 + version = "1.0.0b1"; 460 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/graphservices-${version}-py3-none-any.whl"; 461 + sha256 = "8aeda3901e944b038f4e812b0b7099798d2bd82d55e03e785017a504c14583e5"; 462 + description = "Microsoft Azure Command-Line Tools Graphservices Extension"; 463 + }; 464 + guestconfig = mkAzExtension rec { 465 + pname = "guestconfig"; 466 + version = "0.1.1"; 467 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/guestconfig-${version}-py3-none-any.whl"; 468 + sha256 = "94836a5d21ee1071cd40b163d2c80c32a6a81b9dc85d91371f7e4fb35141e273"; 469 + description = "Microsoft Azure Command-Line Tools GuestConfigurationClient Extension"; 470 + }; 471 + hack = mkAzExtension rec { 472 + pname = "hack"; 473 + version = "0.4.3"; 474 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/hack-${version}-py2.py3-none-any.whl"; 475 + sha256 = "f9e600457e3a9fffc3235a7b30176d9f0a7f4d39ac01ea3e2668bcbdee6398a6"; 476 + description = "Microsoft Azure Command-Line Tools Hack Extension"; 477 + }; 478 + hardware-security-modules = mkAzExtension rec { 479 + pname = "hardware-security-modules"; 480 + version = "0.2.0"; 481 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/hardware_security_modules-${version}-py3-none-any.whl"; 482 + sha256 = "ac4a10e2cc64a4d0818e48ffbcddfeb4307dd56b8875bc01c02687d473c9fe9b"; 483 + description = "Microsoft Azure Command-Line Tools AzureDedicatedHSMResourceProvider Extension"; 484 + }; 485 + hdinsightonaks = mkAzExtension rec { 486 + pname = "hdinsightonaks"; 487 + version = "1.0.0b1"; 488 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/hdinsightonaks-${version}-py3-none-any.whl"; 489 + sha256 = "566c30d67d6b524ac25f77342121e0e7a6ed4ab0af561fcc6e94b0629a03f40c"; 490 + description = "Microsoft Azure Command-Line Tools Hdinsightonaks Extension"; 491 + }; 492 + healthbot = mkAzExtension rec { 493 + pname = "healthbot"; 494 + version = "0.1.0"; 495 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/healthbot-${version}-py3-none-any.whl"; 496 + sha256 = "9134fad2511516e714a5db346d63865af0badf0599ade3f1c15faca0055585a3"; 497 + description = "Microsoft Azure Command-Line Tools HealthbotClient Extension"; 498 + }; 499 + healthcareapis = mkAzExtension rec { 500 + pname = "healthcareapis"; 501 + version = "0.4.0"; 502 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-${version}-py3-none-any.whl"; 503 + sha256 = "a25d7d57d4fd3adcc37581d0acc1d6c6a46dcd0351933ed37cfba9d1abd60978"; 504 + description = "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension"; 505 + }; 506 + hpc-cache = mkAzExtension rec { 507 + pname = "hpc-cache"; 508 + version = "0.1.5"; 509 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-${version}-py2.py3-none-any.whl"; 510 + sha256 = "852cb417aadf0ad07e3c51413858c413bf71ea6cb49ba58289d9572f9a350507"; 511 + description = "Microsoft Azure Command-Line Tools StorageCache Extension"; 512 + }; 513 + image-copy-extension = mkAzExtension rec { 514 + pname = "image-copy-extension"; 515 + version = "0.2.13"; 516 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/image_copy_extension-${version}-py2.py3-none-any.whl"; 517 + sha256 = "b0d12bf3c74500790d58d99a6c32562548712cb872b7942e8ad481e270521b19"; 518 + description = "Support for copying managed vm images between regions"; 519 + }; 520 + image-gallery = mkAzExtension rec { 521 + pname = "image-gallery"; 522 + version = "0.1.3"; 523 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/image_gallery-${version}-py2.py3-none-any.whl"; 524 + sha256 = "6260c1f4bfb589d2ba0569317358a149caabbbd49a048e69328e44871694aacd"; 525 + description = "Support for Azure Image Gallery"; 526 + }; 527 + import-export = mkAzExtension rec { 528 + pname = "import-export"; 529 + version = "0.1.1"; 530 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/import_export-${version}-py3-none-any.whl"; 531 + sha256 = "0680948362e12138c9582e68e471533482749bd660bfe3c8c2a4d856e90927b0"; 532 + description = "Microsoft Azure Command-Line Tools StorageImportExport Extension"; 533 + }; 534 + init = mkAzExtension rec { 535 + pname = "init"; 536 + version = "0.1.0"; 537 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/init-${version}-py3-none-any.whl"; 538 + sha256 = "1177fc293dc118b449b761ec2c728d39755fc3939de8d4bfd89cce1bfb218e86"; 539 + description = "Microsoft Azure Command-Line Tools Init Extension"; 540 + }; 541 + internet-analyzer = mkAzExtension rec { 542 + pname = "internet-analyzer"; 543 + version = "0.1.0rc6"; 544 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/internet_analyzer-${version}-py2.py3-none-any.whl"; 545 + sha256 = "0708d9f598d1618d138eebcf18354d97c7b3a2c90570959df077e04d419d32c3"; 546 + description = "Microsoft Azure Command-Line Tools Internet Analyzer Extension"; 547 + }; 548 + ip-group = mkAzExtension rec { 549 + pname = "ip-group"; 550 + version = "0.1.2"; 551 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-${version}-py2.py3-none-any.whl"; 552 + sha256 = "afba2d8a8a612863b63f504d6cff6d559610b961e4c77dc2fd49b9fe03ec67a2"; 553 + description = "Microsoft Azure Command-Line Tools IpGroup Extension"; 554 + }; 555 + k8s-extension = mkAzExtension rec { 556 + pname = "k8s-extension"; 557 + version = "1.6.0"; 558 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-${version}-py3-none-any.whl"; 559 + sha256 = "27a9996a9ace11856f37719ae697f0ac98d368dde6eb8648d111aafc136599a7"; 560 + description = "Microsoft Azure Command-Line Tools K8s-extension Extension"; 561 + }; 562 + kusto = mkAzExtension rec { 563 + pname = "kusto"; 564 + version = "0.5.0"; 565 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/kusto-${version}-py3-none-any.whl"; 566 + sha256 = "cf5729e9d02029a189182523543285c9737d515f41c610c8338d43f872f9f01d"; 567 + description = "Microsoft Azure Command-Line Tools KustoManagementClient Extension"; 568 + }; 569 + log-analytics = mkAzExtension rec { 570 + pname = "log-analytics"; 571 + version = "0.2.2"; 572 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/log_analytics-${version}-py2.py3-none-any.whl"; 573 + sha256 = "c04c42a26d50db82d14f76e209184b18d4cce17b458817ac607e3ff975641eb2"; 574 + description = "Support for Azure Log Analytics query capabilities"; 575 + }; 576 + log-analytics-solution = mkAzExtension rec { 577 + pname = "log-analytics-solution"; 578 + version = "1.0.0"; 579 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/log_analytics_solution-${version}-py2.py3-none-any.whl"; 580 + sha256 = "c0a4252da4c29032c4e956b768860529509e88a1ecef7f3a3189cb701a305c6b"; 581 + description = "Support for Azure Log Analytics Solution"; 582 + }; 583 + logic = mkAzExtension rec { 584 + pname = "logic"; 585 + version = "1.1.0"; 586 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/logic-${version}-py3-none-any.whl"; 587 + sha256 = "14c18768c02ee9c370ac7eed0f23206eee7d344a10382a3083b17b5e1848cfcd"; 588 + description = "Microsoft Azure Command-Line Tools Logic Extension"; 589 + }; 590 + logz = mkAzExtension rec { 591 + pname = "logz"; 592 + version = "0.1.0"; 593 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/logz-${version}-py3-none-any.whl"; 594 + sha256 = "6a937dbb8c5a758b29afd45ecfc101743a5bf2491f2fba60e8ea512d5b765840"; 595 + description = "Microsoft Azure Command-Line Tools MicrosoftLogz Extension"; 596 + }; 597 + maintenance = mkAzExtension rec { 598 + pname = "maintenance"; 599 + version = "1.5.0"; 600 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/maintenance-${version}-py3-none-any.whl"; 601 + sha256 = "4f1336fed4fa2cbea640627676a6cab4399c1b29ae23cb21fe73c9bea0d80a7f"; 602 + description = "Microsoft Azure Command-Line Tools MaintenanceManagementClient Extension"; 603 + }; 604 + managedccfs = mkAzExtension rec { 605 + pname = "managedccfs"; 606 + version = "0.2.0"; 607 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/managedccfs-${version}-py3-none-any.whl"; 608 + sha256 = "378f425f35420373e9703a5dc8c0f05ca8176fb8404b38610d4de828f7c23d37"; 609 + description = "Microsoft Azure Command-Line Tools Managedccfs Extension"; 610 + }; 611 + managednetworkfabric = mkAzExtension rec { 612 + pname = "managednetworkfabric"; 613 + version = "4.2.0"; 614 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/managednetworkfabric-${version}-py3-none-any.whl"; 615 + sha256 = "f80f528a099862fa8e792f770943a832dbb958b503cc5cc8cb6f58766056d857"; 616 + description = "Support for managednetworkfabric commands based on 2023-06-15 API version"; 617 + }; 618 + managementpartner = mkAzExtension rec { 619 + pname = "managementpartner"; 620 + version = "0.1.3"; 621 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/managementpartner-${version}-py2.py3-none-any.whl"; 622 + sha256 = "22ddf4b1cdc77e99262cb6089c4d96040065828a1d38a2709fdb945d3c851839"; 623 + description = "Support for Management Partner preview"; 624 + }; 625 + mixed-reality = mkAzExtension rec { 626 + pname = "mixed-reality"; 627 + version = "0.0.5"; 628 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/mixed_reality-${version}-py2.py3-none-any.whl"; 629 + sha256 = "026aaf58f9ad02d74837d21a1f5c122264a59814e0b7c395c26e5fdc1293187e"; 630 + description = "Mixed Reality Azure CLI Extension"; 631 + }; 632 + mobile-network = mkAzExtension rec { 633 + pname = "mobile-network"; 634 + version = "0.2.1"; 635 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/mobile_network-${version}-py3-none-any.whl"; 636 + sha256 = "66bd39f687c2ac030ab6bd44b8746ec8d64c4804b44592c0bb1ffda837dce22b"; 637 + description = "Microsoft Azure Command-Line Tools MobileNetwork Extension"; 638 + }; 639 + monitor-control-service = mkAzExtension rec { 640 + pname = "monitor-control-service"; 641 + version = "1.0.1"; 642 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/monitor_control_service-${version}-py3-none-any.whl"; 643 + sha256 = "66475eb79c577ea566c74f986b9ef6af936580beb02dde622701370323d430a3"; 644 + description = "Microsoft Azure Command-Line Tools MonitorClient Extension"; 645 + }; 646 + network-analytics = mkAzExtension rec { 647 + pname = "network-analytics"; 648 + version = "1.0.0b1"; 649 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/network_analytics-${version}-py3-none-any.whl"; 650 + sha256 = "c8d7e195f913298ac03ef8eb1f8d7fb09526956d3eb750a8cd447ae8f61d4317"; 651 + description = "Microsoft Azure Command-Line Tools NetworkAnalytics Extension"; 652 + }; 653 + networkcloud = mkAzExtension rec { 654 + pname = "networkcloud"; 655 + version = "2.0.0b2"; 656 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/networkcloud-${version}-py3-none-any.whl"; 657 + sha256 = "28c43560516e254ab60708c0ac8cf868795ce76e4aa9da1548584b22331af467"; 658 + description = "Support for Azure Operator Nexus network cloud commands based on 2023-10-01-preview API version"; 659 + }; 660 + new-relic = mkAzExtension rec { 661 + pname = "new-relic"; 662 + version = "1.0.0b1"; 663 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/new_relic-${version}-py3-none-any.whl"; 664 + sha256 = "9ce69f1684cea14acba0f2fdb473e47e0a06745e383bb5144954c5e85e416199"; 665 + description = "Microsoft Azure Command-Line Tools NewRelic Extension"; 666 + }; 667 + next = mkAzExtension rec { 668 + pname = "next"; 669 + version = "0.1.3"; 670 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/next-${version}-py2.py3-none-any.whl"; 671 + sha256 = "83c4e03427f190203e094c14e4f7e79cec989f1277e16b9256bb9fe688aa5e07"; 672 + description = "Microsoft Azure Command-Line Tools Next Extension"; 673 + }; 674 + nginx = mkAzExtension rec { 675 + pname = "nginx"; 676 + version = "0.1.1"; 677 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/nginx-${version}-py2.py3-none-any.whl"; 678 + sha256 = "3234129a26043a68e80ee1ae31c36e7ef8b2691a096cd6fc557e3a46fea8170e"; 679 + description = "Microsoft Azure Command-Line Tools Nginx Extension"; 680 + }; 681 + notification-hub = mkAzExtension rec { 682 + pname = "notification-hub"; 683 + version = "1.0.0a1"; 684 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/notification_hub-${version}-py3-none-any.whl"; 685 + sha256 = "a03751b715700e0d18a38e808bfeed164335024c9608c4bfd53aeacc731d1099"; 686 + description = "Microsoft Azure Command-Line Tools Notification Hub Extension"; 687 + }; 688 + nsp = mkAzExtension rec { 689 + pname = "nsp"; 690 + version = "0.3.0"; 691 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/nsp-${version}-py3-none-any.whl"; 692 + sha256 = "3e53051a70693a5da8c563118d0f695efc8465eab769ca64416fc8a16ba6e72a"; 693 + description = "Microsoft Azure Command-Line Tools Nsp Extension"; 694 + }; 695 + offazure = mkAzExtension rec { 696 + pname = "offazure"; 697 + version = "0.1.0"; 698 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/offazure-${version}-py3-none-any.whl"; 699 + sha256 = "1918817070ae9e0ceef57b93366d18b6e8bf577fd632e7da999e1e2abbb53656"; 700 + description = "Microsoft Azure Command-Line Tools AzureMigrateV2 Extension"; 701 + }; 702 + orbital = mkAzExtension rec { 703 + pname = "orbital"; 704 + version = "0.1.0"; 705 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/orbital-${version}-py3-none-any.whl"; 706 + sha256 = "4259fb8ff560440d63251cc9721bb3f2283452f2399134514611f886fa350f37"; 707 + description = "Microsoft Azure Command-Line Tools Orbital Extension"; 708 + }; 709 + palo-alto-networks = mkAzExtension rec { 710 + pname = "palo-alto-networks"; 711 + version = "1.1.1b1"; 712 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/palo_alto_networks-${version}-py3-none-any.whl"; 713 + sha256 = "8d4f6a4b72366bd57780bd158d6c25b363999e1a13ea85d491809cc9a4d29608"; 714 + description = "Microsoft Azure Command-Line Tools PaloAltoNetworks Extension"; 715 + }; 716 + peering = mkAzExtension rec { 717 + pname = "peering"; 718 + version = "0.2.1"; 719 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/peering-${version}-py3-none-any.whl"; 720 + sha256 = "b068c12b47f17304af51431a2ae975339b7d4601a180e83916efae73d7c42600"; 721 + description = "Microsoft Azure Command-Line Tools PeeringManagementClient Extension"; 722 + }; 723 + portal = mkAzExtension rec { 724 + pname = "portal"; 725 + version = "0.1.3"; 726 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/portal-${version}-py3-none-any.whl"; 727 + sha256 = "3c3ebe23f59db5f2d286ca52cf8cfbbc5983ce8073622de11a35dab95800a996"; 728 + description = "Microsoft Azure Command-Line Tools Portal Extension"; 729 + }; 730 + powerbidedicated = mkAzExtension rec { 731 + pname = "powerbidedicated"; 732 + version = "1.0.0b1"; 733 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/powerbidedicated-${version}-py2.py3-none-any.whl"; 734 + sha256 = "e1e58bb6f57edde4793f4c66a0c10a2776f842172878162385f2b1d21539de6e"; 735 + description = "Microsoft Azure Command-Line Tools PowerBIDedicated Extension"; 736 + }; 737 + providerhub = mkAzExtension rec { 738 + pname = "providerhub"; 739 + version = "0.2.0"; 740 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/providerhub-${version}-py3-none-any.whl"; 741 + sha256 = "9cda8fed546254987e5c5f872b4119105796c89de8d65d385638dac155bdf01e"; 742 + description = "Microsoft Azure Command-Line Tools ProviderHub Extension"; 743 + }; 744 + purview = mkAzExtension rec { 745 + pname = "purview"; 746 + version = "0.1.0"; 747 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/purview-${version}-py3-none-any.whl"; 748 + sha256 = "706cc2550fbd07b8b676345c2f26c5ba66550905bc8ec224c6c4e5637c497266"; 749 + description = "Microsoft Azure Command-Line Tools PurviewManagementClient Extension"; 750 + }; 751 + qumulo = mkAzExtension rec { 752 + pname = "qumulo"; 753 + version = "1.0.0"; 754 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/qumulo-${version}-py3-none-any.whl"; 755 + sha256 = "9973f580a3fc20cc2fe5558a1cfdc10ddfc6567982d12f37008bbfec7aafcf9b"; 756 + description = "Microsoft Azure Command-Line Tools Qumulo Extension"; 757 + }; 758 + quota = mkAzExtension rec { 759 + pname = "quota"; 760 + version = "1.0.0"; 761 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/quota-${version}-py3-none-any.whl"; 762 + sha256 = "8b4c3475df0c3544dbcc28e4875eb5b163d72b40aff4250aafdad94180c3f995"; 763 + description = "Microsoft Azure Command-Line Tools AzureQuotaExtensionAPI Extension"; 764 + }; 765 + redisenterprise = mkAzExtension rec { 766 + pname = "redisenterprise"; 767 + version = "0.1.4"; 768 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/redisenterprise-${version}-py3-none-any.whl"; 769 + sha256 = "cb59ab44eb12b51ecc62f8a5b6302d166be5d6388cf8ff21bc49f2829128d031"; 770 + description = "Microsoft Azure Command-Line Tools RedisEnterprise Extension"; 771 + }; 772 + reservation = mkAzExtension rec { 773 + pname = "reservation"; 774 + version = "0.3.1"; 775 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/reservation-${version}-py3-none-any.whl"; 776 + sha256 = "649f086b02305d142f2f08ea96f52a322a165a6f2a958f3287f53550938ab912"; 777 + description = "Microsoft Azure Command-Line Tools Reservation Extension"; 778 + }; 779 + resource-graph = mkAzExtension rec { 780 + pname = "resource-graph"; 781 + version = "2.1.0"; 782 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/resource_graph-${version}-py2.py3-none-any.whl"; 783 + sha256 = "62c81e3d62ce60c5a0a485829d00bdb0c733145ee93fb6098c14e3b27ee27c40"; 784 + description = "Support for querying Azure resources with Resource Graph"; 785 + }; 786 + resource-mover = mkAzExtension rec { 787 + pname = "resource-mover"; 788 + version = "1.0.0b1"; 789 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/resource_mover-${version}-py3-none-any.whl"; 790 + sha256 = "3bc9f41aa30c4f6bc04ff780dc30e8df05bfc887f2adbdf9e89d59f8389e55f3"; 791 + description = "Microsoft Azure Command-Line Tools ResourceMoverServiceAPI Extension"; 792 + }; 793 + sap-hana = mkAzExtension rec { 794 + pname = "sap-hana"; 795 + version = "0.6.5"; 796 + url = "https://github.com/Azure/azure-hanaonazure-cli-extension/releases/download/${version}/sap_hana-0.6.5-py2.py3-none-any.whl"; 797 + sha256 = "b4554c125f3a0eb5c891cec396e7705f6e91d4d81789acef20e3c4d172fa4543"; 798 + description = "Additional commands for working with SAP HanaOnAzure instances"; 799 + }; 800 + scenario-guide = mkAzExtension rec { 801 + pname = "scenario-guide"; 802 + version = "0.1.1"; 803 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/scenario_guide-${version}-py3-none-any.whl"; 804 + sha256 = "4264b48b4b980334488a3fdb3bc43241e828a2742c35ce48985f3bebf019e8f8"; 805 + description = "Microsoft Azure Command-Line Tools Scenario Guidance Extension"; 806 + }; 807 + scheduled-query = mkAzExtension rec { 808 + pname = "scheduled-query"; 809 + version = "0.5.3"; 810 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-${version}-py2.py3-none-any.whl"; 811 + sha256 = "b141ce4ff7678484561e9f3c842d8249112a465b7a0da07a6da49856920f8534"; 812 + description = "Microsoft Azure Command-Line Tools Scheduled_query Extension"; 813 + }; 814 + scvmm = mkAzExtension rec { 815 + pname = "scvmm"; 816 + version = "1.0.0"; 817 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/scvmm-${version}-py2.py3-none-any.whl"; 818 + sha256 = "565aa9d75dd4d276df2f8ffec5311bd2ae16a2d6172d525a7763fc5972b262b7"; 819 + description = "Microsoft Azure Command-Line Tools SCVMM Extension"; 820 + }; 821 + self-help = mkAzExtension rec { 822 + pname = "self-help"; 823 + version = "0.2.0"; 824 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/self_help-${version}-py3-none-any.whl"; 825 + sha256 = "a57d629f75443666af570188716eaf2b9182da41f6d2f958f6d53d79b830b23e"; 826 + description = "Microsoft Azure Command-Line Tools SelfHelp Extension"; 827 + }; 828 + sentinel = mkAzExtension rec { 829 + pname = "sentinel"; 830 + version = "0.2.0"; 831 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/sentinel-${version}-py3-none-any.whl"; 832 + sha256 = "5511544b4e342b03a4a4263617c603d87442ad5179ce9d8c0d1fd10915f93b7a"; 833 + description = "Microsoft Azure Command-Line Tools Sentinel Extension"; 834 + }; 835 + site-recovery = mkAzExtension rec { 836 + pname = "site-recovery"; 837 + version = "1.0.0"; 838 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/site_recovery-${version}-py3-none-any.whl"; 839 + sha256 = "ab19142c9a2e06190b6dac272d8cf29e179c9e283f965f8e3a4d29275b847ce5"; 840 + description = "Microsoft Azure Command-Line Tools SiteRecovery Extension"; 841 + }; 842 + spring = mkAzExtension rec { 843 + pname = "spring"; 844 + version = "1.19.3"; 845 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/spring-${version}-py3-none-any.whl"; 846 + sha256 = "80cbd41e563231e500670402b01e95150adce18b7c128320c3d2393284e0d5d5"; 847 + description = "Microsoft Azure Command-Line Tools spring Extension"; 848 + }; 849 + spring-cloud = mkAzExtension rec { 850 + pname = "spring-cloud"; 851 + version = "3.1.8"; 852 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-${version}-py3-none-any.whl"; 853 + sha256 = "14993abe3524c28a42b2e9ba0f0a8a7083162ba9174975e09d8cea834b9829ee"; 854 + description = "Microsoft Azure Command-Line Tools spring-cloud Extension"; 855 + }; 856 + stack-hci = mkAzExtension rec { 857 + pname = "stack-hci"; 858 + version = "1.1.0"; 859 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/stack_hci-${version}-py3-none-any.whl"; 860 + sha256 = "9bb0350f6c28ac2068a5a4a20bbcf74ae34b392d05eb148c403c618525cbadef"; 861 + description = "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension"; 862 + }; 863 + stack-hci-vm = mkAzExtension rec { 864 + pname = "stack-hci-vm"; 865 + version = "0.1.11"; 866 + url = "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/stack_hci_vm-${version}.1-py3-none-any.whl"; 867 + sha256 = "cc99134288545178d08b18abd5b7c9e3d099d2add8b52ab9308f6c5fd97ae60c"; 868 + description = "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension "; 869 + }; 870 + staticwebapp = mkAzExtension rec { 871 + pname = "staticwebapp"; 872 + version = "1.0.0"; 873 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/staticwebapp-${version}-py3-none-any.whl"; 874 + sha256 = "fb1dcd876fc2d829cc7a1cc545e9445364d43357d888bb3deeb36a716b805717"; 875 + description = "Microsoft Azure Command-Line Tools Staticwebapp Extension"; 876 + }; 877 + storage-blob-preview = mkAzExtension rec { 878 + pname = "storage-blob-preview"; 879 + version = "0.7.2"; 880 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/storage_blob_preview-${version}-py2.py3-none-any.whl"; 881 + sha256 = "002b7779f4c6531fdb714f77bcea5d3d96007a7ff5b86869f8e56aad98298b23"; 882 + description = "Microsoft Azure Command-Line Tools Storage-blob-preview Extension"; 883 + }; 884 + storage-mover = mkAzExtension rec { 885 + pname = "storage-mover"; 886 + version = "1.0.0b1"; 887 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/storage_mover-${version}-py3-none-any.whl"; 888 + sha256 = "2682859ea376194a6942713ad673fd426555ce2d4ebe9545e45d18da4fed98b1"; 889 + description = "Microsoft Azure Command-Line Tools StorageMover Extension"; 890 + }; 891 + storagesync = mkAzExtension rec { 892 + pname = "storagesync"; 893 + version = "1.0.0"; 894 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/storagesync-${version}-py2.py3-none-any.whl"; 895 + sha256 = "1f6997e186199058e60d8fdc020c407d4f92d8e78286189c1887e57a371b43c1"; 896 + description = "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension"; 897 + }; 898 + stream-analytics = mkAzExtension rec { 899 + pname = "stream-analytics"; 900 + version = "1.0.0"; 901 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/stream_analytics-${version}-py3-none-any.whl"; 902 + sha256 = "15443fd8a73d319a5c9fbc586c9727d1ce1a31e11fd3f3c7e4fcbc97ad076aaa"; 903 + description = "Microsoft Azure Command-Line Tools StreamAnalyticsManagementClient Extension"; 904 + }; 905 + subscription = mkAzExtension rec { 906 + pname = "subscription"; 907 + version = "0.1.5"; 908 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/subscription-${version}-py2.py3-none-any.whl"; 909 + sha256 = "ff7896aebc46862a6d30ac5f4cf64bdd40cb50e5437cea299590896d75f1013e"; 910 + description = "Support for subscription management preview"; 911 + }; 912 + support = mkAzExtension rec { 913 + pname = "support"; 914 + version = "1.0.3"; 915 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/support-${version}-py2.py3-none-any.whl"; 916 + sha256 = "9f5b4ebc6a90b48d2a3c18ce7b74d89240275dcf23aa836b8509882b1ee28c56"; 917 + description = "Microsoft Azure Command-Line Tools Support Extension"; 918 + }; 919 + timeseriesinsights = mkAzExtension rec { 920 + pname = "timeseriesinsights"; 921 + version = "1.0.0b1"; 922 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/timeseriesinsights-${version}-py3-none-any.whl"; 923 + sha256 = "c578804a6cfbb4ef8ab91de2130bba8f6139f2fadea4ed1e38b05ea62c7aa95d"; 924 + description = "Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension"; 925 + }; 926 + traffic-collector = mkAzExtension rec { 927 + pname = "traffic-collector"; 928 + version = "0.1.2"; 929 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/traffic_collector-${version}-py3-none-any.whl"; 930 + sha256 = "98bda4d9a9233efb0ae1c5fae1a6c2a42942e8a71b0ebf19d3a7193548b13ff2"; 931 + description = "Microsoft Azure Command-Line Tools TrafficCollector Extension"; 932 + }; 933 + virtual-network-manager = mkAzExtension rec { 934 + pname = "virtual-network-manager"; 935 + version = "1.0.1"; 936 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_manager-${version}-py3-none-any.whl"; 937 + sha256 = "a18581c625791fb29736e7ec1b9e18d4a00f3765a8600192e10c892fd27b7ba1"; 938 + description = "Microsoft Azure Command-Line Tools NetworkManagementClient Extension"; 939 + }; 940 + virtual-network-tap = mkAzExtension rec { 941 + pname = "virtual-network-tap"; 942 + version = "0.1.0"; 943 + url = "https://azurecliprod.blob.core.windows.net/cli-extensions/virtual_network_tap-${version}-py2.py3-none-any.whl"; 944 + sha256 = "7e3f634f8eb701cf6fef504159785bc90e6f5bd2482e459469dd9ab30601aa35"; 945 + description = "Manage virtual network taps (VTAP)"; 946 + }; 947 + virtual-wan = mkAzExtension rec { 948 + pname = "virtual-wan"; 949 + version = "0.3.0"; 950 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_wan-${version}-py2.py3-none-any.whl"; 951 + sha256 = "e5f4e9d4398cf0fcd656c0107386adbc8493e69e3158af6c5145ed23aaf77165"; 952 + description = "Manage virtual WAN, hubs, VPN gateways and VPN sites"; 953 + }; 954 + vm-repair = mkAzExtension rec { 955 + pname = "vm-repair"; 956 + version = "1.0.0b1"; 957 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/vm_repair-${version}-py2.py3-none-any.whl"; 958 + sha256 = "7e6b9fb9952a56811d65de87b87b0403a6161edfa82284a43fa58f176e397b8b"; 959 + description = "Auto repair commands to fix VMs"; 960 + }; 961 + vmware = mkAzExtension rec { 962 + pname = "vmware"; 963 + version = "6.0.1"; 964 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-${version}-py2.py3-none-any.whl"; 965 + sha256 = "2e07a4ddf1b244cfe8b63a29b7f82c3ec94294f10bacfe8fd604841d290020b5"; 966 + description = "Azure VMware Solution commands"; 967 + }; 968 + webapp = mkAzExtension rec { 969 + pname = "webapp"; 970 + version = "0.4.0"; 971 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/webapp-${version}-py2.py3-none-any.whl"; 972 + sha256 = "908b0df07cef652176a0f2bf0fdcf58b5d16fb4903ee3c06f73f0bb3913a5c0f"; 973 + description = "Additional commands for Azure AppService"; 974 + }; 975 + workloads = mkAzExtension rec { 976 + pname = "workloads"; 977 + version = "0.1.0a1"; 978 + url = "https://azcliprod.blob.core.windows.net/cli-extensions/workloads-${version}-py3-none-any.whl"; 979 + sha256 = "0e5ba95c3799d043fc2ba869ce0c5b2eea200357a8b0cbd2b2733bb91d4cc7a8"; 980 + description = "Microsoft Azure Command-Line Tools Workloads Extension"; 981 + }; 982 + }
+163
pkgs/tools/admin/azure-cli/query-extension-index.sh
··· 1 + #!/usr/bin/env bash 2 + 3 + set -euo pipefail 4 + 5 + function usage() { 6 + { 7 + echo "${0} - query Azure CLI extension index" 8 + echo 9 + echo "The Azure CLI extension index contains all versions of all extensions. This" 10 + echo "script queries the index for the latest version of an extensions that is" 11 + echo "compatible with the specified version of the Azure CLI. Data for that extension" 12 + echo "is filtered for fields relevant to package the extension in Nix." 13 + echo 14 + echo "Usage:" 15 + echo " --cli-version=<version> version of azure-cli (required)" 16 + echo " --extension=<name> name of extension to query" 17 + echo " --file=<path> path to extension index file" 18 + echo " --download download extension index file" 19 + echo " --nix output Nix expression" 20 + echo " --requirements=<true/false> filter for extensions with/without requirements" 21 + } >&2 22 + } 23 + 24 + for arg in "$@"; do 25 + case "$arg" in 26 + --cli-version=*) 27 + cliVer="${arg#*=}" 28 + shift 29 + ;; 30 + --extension=*) 31 + extName="${arg#*=}" 32 + shift 33 + ;; 34 + --file=*) 35 + extensionFile="${arg#*=}" 36 + shift 37 + ;; 38 + --download) 39 + download=true 40 + shift 41 + ;; 42 + --nix) 43 + nix=true 44 + shift 45 + ;; 46 + --requirements=*) 47 + requirements="${arg#*=}" 48 + shift 49 + ;; 50 + --help) 51 + usage 52 + exit 0 53 + ;; 54 + *) 55 + echo "Unknown argument: $arg" >&2 56 + exit 1 57 + ;; 58 + esac 59 + done 60 + 61 + if [[ -z "${cliVer:-}" ]]; then 62 + echo "Missing --cli-version argument" >&2 63 + exit 1 64 + fi 65 + if [[ -z "${extensionFile:-}" && -z "${download:-}" ]]; then 66 + echo "Either --file or --download must be specified" >&2 67 + exit 1 68 + fi 69 + if [[ -n "${extName:-}" && -n "${requirements:-}" ]]; then 70 + echo "--requirements can only be used when listing all extensions" >&2 71 + exit 1 72 + fi 73 + 74 + if [[ "${download:-}" == true ]]; then 75 + extensionFile="$(mktemp)" 76 + echo "Downloading extensions index to ${extensionFile}" >&2 77 + curl -fsSL "https://azcliextensionsync.blob.core.windows.net/index1/index.json" > "${extensionFile}" 78 + fi 79 + 80 + # shellcheck disable=SC2016 81 + jqProgram=' 82 + def opt(f): 83 + . as $in | try f catch $in 84 + ; 85 + 86 + def version_to_array: 87 + sub("\\+.*$"; "") 88 + | capture("^(?<v>[^a-z-]+)(?:(?<p>.*))?") | [.v, .p // empty] 89 + | map(split(".") 90 + | map(opt(tonumber))) 91 + | flatten 92 + ; 93 + 94 + def version_le($contstraint): 95 + version_to_array as $v 96 + | $contstraint | version_to_array as $c 97 + | $v[0] < $c[0] or 98 + ($v[0] == $c[0] and $v[1] < $c[1]) or 99 + ($v[0] == $c[0] and $v[1] == $c[1] and $v[2] < $c[2]) or 100 + ($v[0] == $c[0] and $v[1] == $c[1] and $v[2] == $c[2] and $v[3] <= $c[3]) 101 + ; 102 + 103 + def max_constrained_version($constraint): 104 + [ 105 + .[] | select(.metadata."azext.minCliCoreVersion" // "0.0.0" | version_le($cliVer)) 106 + ] 107 + | sort_by(.metadata.version | version_to_array) 108 + | last 109 + ; 110 + 111 + def translate_struct: 112 + { 113 + pname : .metadata.name, 114 + description: .metadata.summary, 115 + version: .metadata.version, 116 + url: .downloadUrl, 117 + sha256: .sha256Digest, 118 + license: .metadata.license, 119 + requires: .metadata.run_requires.[0].requires 120 + } 121 + ; 122 + 123 + def to_nix: 124 + [.].[] as $in 125 + | .version as $version 126 + | .description as $description 127 + | .url | sub($version;"${version}") as $url 128 + | $description |rtrimstr(".") as $description 129 + | $in.pname + " = mkAzExtension rec {\n" + 130 + " pname = \"" + $in.pname + "\";\n" + 131 + " version = \"" + $in.version + "\";\n" + 132 + " url = \"" + $url + "\";\n" + 133 + " sha256 = \"" + $in.sha256 + "\";\n" + 134 + " description = \"" + $description + "\";\n" + 135 + "};" 136 + ; 137 + 138 + def main: 139 + .extensions 140 + | map(max_constrained_version($cliVer)) 141 + | .[] 142 + | translate_struct 143 + | if $extName != "" then 144 + select(.pname == $extName) 145 + elif $requirements == "false" then 146 + select(.requires == null) 147 + elif $requirements == "true" then 148 + select(.requires != null) 149 + end 150 + | if $nix == "true" then 151 + to_nix 152 + end 153 + ; 154 + 155 + main 156 + ' 157 + 158 + jq -r \ 159 + --arg cliVer "${cliVer}" \ 160 + --arg extName "${extName:-}" \ 161 + --arg nix "${nix:-}" \ 162 + --arg requirements "${requirements:-}" \ 163 + "$jqProgram" "${extensionFile}"
+2
pkgs/top-level/all-packages.nix
··· 3408 3408 3409 3409 azure-cli = callPackage ../tools/admin/azure-cli { }; 3410 3410 3411 + azure-cli-extensions = recurseIntoAttrs azure-cli.extensions; 3412 + 3411 3413 azure-functions-core-tools = callPackage ../development/tools/azure-functions-core-tools { }; 3412 3414 3413 3415 azure-static-sites-client = callPackage ../development/tools/azure-static-sites-client { };